[antlr-interest] Re: woohoo! ParseTrees for free, Debugging for me!
lgcraymer
lgc at mail1.jpl.nasa.gov
Sat Nov 29 22:16:56 PST 2003
Ter--
If I interpret this right, you're actually visualizing parse trees
without generating them.
Modifying ANTLR to build parse trees is even easier--add the root
node creation code in genRule (XXXCodeGenerator) and modify refRule
in DefineGrammarSymbols.java, then adding an option recognizer to
ParserGrammar.java. About 10-15 lines total, unless I've missed
something.
--Loring
--- In antlr-interest at yahoogroups.com, Terence Parr <parrt at c...>
wrote:
> Howdy,
>
> I just made ANTLR generate parse trees w/o modifying the tool
itself.
> I just overrode match(), traceIn(), traceOut() in the parser and
turned
> on -traceParser. :) Not only will it build a parse tree for you
to
> look at, it knows how to dump the derivation tree! This is super
great
> thing for debugging big grammars. The question is always "how is
xxx
> being matched? I know it's not right!" This derivation tool will
> pretty much tell you. For example, here is the output when I
run "int
> i;" into a tinyc example with parse tree construction overrides:
>
> $ java Test < decl.c
> parse tree: ( <program> ( <declaration> ( <variable> ( <type>
int ) (
> <declarator> i ) ; ) ) EOF )
> derivation:
> <program>
> => <declaration> EOF
> => <variable> EOF
> => <type> <declarator> ; EOF
> => int <declarator> ; EOF
> => int i ; EOF
>
> pretty cool, n'est-ce pas? You can see precisely how your input
is
> matched by the grammar.
>
> Note: this is what a parse tree is for...not translation. For
that you
> use an AST or token stream rewriting (got something comin on that
too).
> :)
>
> I'm going to go to the gym and if I have the energy I'll write up
the
> mechanism later and post to ANTLR.org.
>
> Anybody wanna port to C#? ;) I know somebody that could use it
about
> now ;) Should I roll this into 2.7.3? Perhaps not as we want to
> quickly get out a bug fix release w/o having to wait for C++ and
C#
> implementations...
>
> Ter
> --
> Professor Comp. Sci., University of San Francisco
> Creator, ANTLR Parser Generator, http://www.antlr.org
> Co-founder, http://www.jguru.com
> Co-founder, http://www.knowspam.net enjoy email again!
> Co-founder, http://www.peerscope.com pure link sharing
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
More information about the antlr-interest
mailing list