add dynamic token buffer
Add a token buffer that does not consume all of the input upfront so that we may handle arbitrarily long strings
x!? doesn't work
foo1 : bar1 ';'!? ; // error foo2 : bar2 ';'?! ; // error foo3 : bar3 (';'!)? ; // works! foo4 : bar4 (';'?)! ; // did not try this one
support attribute setting in actions
Just like ST %x.y = z; notation, allow $x = y; notation for attributes. Talk to Kay to figure out full list
add lexer modes
allow users to push/pop the modes also with builtin stack
support output=AST in tree grammars
Need to be able to do tree rewrites. Turn off set token boundaries and add create(AST node) which is dup. Return incoming tree if none set. during AST>AST, what does e : expr > expr expr ...