Skip to content

Commit 117a026

Browse files
committed
Update changelog for MS3
1 parent 05869c9 commit 117a026

File tree

2 files changed

+45
-8
lines changed

2 files changed

+45
-8
lines changed

CHANGELOG.md

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,42 @@
11
# Change log
22

3-
## MS2 - 2016-12-09
3+
## MS3 - 2016-12-16
4+
5+
The highlights of this iteration was fleshing out the memory to handle
6+
composite values (arrays and strings, called `AddressableValue`s in the code),
7+
and refactoring PlangGrammar to be more robust.
8+
9+
I'm happy with how the memory turned out: arrays are little addressable pieces
10+
of memories themselvess, making the whole thing a nice treelike structure. I'm
11+
less happy with the PlangGrammar changes: while it's better than it was, it
12+
really starts feeling overengineered. Also, while a separate typechecker object
13+
was expected to be created in this sprint, it wasn't: it will start to really
14+
matter only when function resolution comes in.
15+
16+
### Features
17+
18+
Lots of types: strings, characters, booleans, floats, and also fixed-size
19+
arrays, including multidimensional arrays. Conditional statements.
20+
21+
### Design
22+
23+
- Better memory model, composite values.
24+
- Conditional statements.
25+
- Lexical elements of PLanG now come from a property file, making language
26+
variants possible.
27+
28+
### Refactor
29+
30+
- Exploded PlangGrammar: the recursive descent parser is implemented through a
31+
collection of parses classes with a single Parse static function. Not very
32+
pretty design, but definitely nicer than the huge PlangGrammar.java was.
33+
- AST nodes keep their location information.
34+
- The names of PlangGrammar's symbols are now in an enum.
35+
- Things (types, variables) are registered in Context by a Name object
36+
(instead of by plain string keys).
37+
38+
39+
## [MS2](https://github.com/Botffy/XPLanG/releases/tag/MS2) - 2016-12-09
440

541
The goal of the milestone was to have variables and assignments: done
642
surprisingly quickly, the rest of the week was spent on setting up continuous

example.prog

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
Program testing
22
Változók:
3-
a, b: Egész,
4-
c: Egész
3+
b: Logikai,
4+
c: Szöveg
55

6-
a := 10
7-
b := 20
8-
c := 30
9-
a := c
10-
c := 31
6+
b := Igaz
7+
c := "Hello world"
8+
ha b akkor
9+
c[0] := 'M'
10+
c[5] := 'w'
11+
ha_vége
1112
program_vége

0 commit comments

Comments
 (0)