[antlr-interest] AST construction: partial null trees
Oliver Zeigermann
oliver.zeigermann at gmail.com
Sat Dec 13 04:03:51 PST 2008
I have not investigated why, but including partial null trees often
makes the whole generated ASTs null which makes debugging really hard.
Am I doing anything wrong, or could that indeed be handled more
gracefully by ANTLR?
As an example have a look at such a parser grammar rule creating an AST
quantorCall
: quantor parameters -> ^( QUANTORCALL quantor parameters)
;
which indeed would mess up my complete parsetree for reasons that are
not obvious at first glance.
However, even though parameters are not syntactically optional, they
can still return a null tree when the list of parameters is empty. If
so, the whole tree is messed up.
Of course, adding a '?' to the tree generation part of parameters fixes this:
quantorCall
: quantor parameters -> ^( QUANTORCALL quantor parameters?)
;
But should that really be necessary?
Or is it even considered bad style to return a null tree from a subrule?
Any input welcome!
Cheers
Oliver
More information about the antlr-interest
mailing list