Max Brunsfeld
7ee5eaa16a
Rename node accessor methods
...
Instead of child() vs concrete_child(), next_sibling() vs next_concrete_sibling(), etc,
the default is switched: child() refers to the concrete syntax tree, and named_child()
refers to the AST. Because the AST is abstract through exclusion of some nodes, the
names are clearer if the qualifier goes on the AST operations
2015-09-08 23:16:24 -07:00
Max Brunsfeld
9591c88f39
In runtime, distinguish between anonymous and hidden nodes
2015-09-06 00:12:37 -07:00
Max Brunsfeld
0b1d70db34
Always resolve ambiguities immediately
...
No more ambiguity nodes.
Also, when merging parse stacks, merge their successors if needed.
2015-07-15 13:15:11 -07:00
Max Brunsfeld
8c5c695f5a
Reduce nesting in parse-stack spec
2015-07-10 17:50:38 -07:00
Max Brunsfeld
aff8bc3266
Split parse stack when there are multiple parse actions
2015-07-09 23:09:33 -07:00
Max Brunsfeld
36d9c3be14
Organize parse-stack spec
2015-06-18 17:03:17 -07:00
Max Brunsfeld
442db56b92
Use graph-structured parse stack in parser
...
Not using the splitting feature yet.
2015-06-18 17:03:17 -07:00
Max Brunsfeld
aaaa1c8a5d
Encapsulate ParseStackNodes
2015-06-18 17:03:17 -07:00
Max Brunsfeld
6330ae997b
Reduce along all possible parse-stack paths
2015-06-18 17:03:17 -07:00
Max Brunsfeld
381f89f8ba
Create ambiguity nodes when joining stack heads
2015-06-18 17:03:16 -07:00
Max Brunsfeld
1ca5f4ab15
Clarify variable name in spec
2015-06-18 17:03:16 -07:00
Max Brunsfeld
b9dc92c36b
Add EqualsTree matcher
2015-06-18 17:03:16 -07:00
Max Brunsfeld
9e57f2b881
Start work on graph-structured stack
2015-06-18 17:03:16 -07:00