...
- Auto-AST syntax in rules is much more efficient than rewrites.
When the only change that needs to be made is changing the type of the
root, it's unfortunate that "rule : ID^ NUMBER;" has to become "rule :
ID NUMBER -> ^(SOMETHINGANTLR v3 issues by Sam Harwell NUMBER)". Not sure what we can do about
this - maybe hijacking the hetero-AST syntax since you know I'm pushing
for its removal. Another option is detecting cases where Auto-AST
would build a correct tree shape and generating code of that form, then
embed the appropriate tree adapter calls in its generated code. The
latter is slightly more complicated, but much more powerful and results
in a much wider class of rewrite rule optimizations without placing any
requirements on the developer to make use of it.
...