[antlr-interest] Re: JavaTreeParser? What does it do?
jw9315
jw9315 at bris.ac.uk
Tue Apr 29 13:08:31 PDT 2003
Hi,
Thanks, that's cleared things up for me, but I've still got some
questions if that's ok...
I have used the example in the Java grammars directory to get the AST
window up on my screen. All I want to be able to do from here is
parse this tree and get the statements and constants etc, so I can
build an interpreter... So do I just declare a treeparser and then
invoke the "getFirstChildMethods (or whatever method I need to)" on
the instance? For example:
JavaTreeParser tparse = new JavaTreeParser();
tparse.compilationUnit(t); //(Where t is an AST tree)
and then t.getFirstChild();
The thing is, I don't wish to manipulate the tree at all, I just want
to read it? Does this mean that I shouldn't have to change the java
grammars in the directory, its just a case of accessing the AST
object in memory and extracting information from it.
Thanks,
Jon
--- In antlr-interest at yahoogroups.com, "lgcraymer" <lgc at m...> wrote:
> Tree parsers do the "getFirstChild()" and "getNextSibling()" for
> you as well as matching a tree pattern--the whole idea is to extend
> the ANTLR parsing concept to trees. About the only case where you
> might want to walk a tree without a tree parser is when
the "Visitor"
> pattern is appropriate.
>
> --Loring
>
>
>
> --- In antlr-interest at yahoogroups.com, "jw9315" <jw9315 at b...> wrote:
> >
> > Hi,
> > yeah, sorry I did see that linkm but I'm new to this and didn't
> quite
> > understand. What I'm trying to do is build an interpreter for a
> > *small* subset of the Java language. I ran the example in the
Java
> > grammars folder to give me a nice AST tree for any program I type
in
> > at the command line, and was planning on parsing and interpreting
> the
> > program using the method calls such as .getChild().
> >
> > What I was confused about is the fact that I call such as "AST
myAST
> > = r.getFirstChild();", but what is the difference between this
and
> > the line "JavaTreeParser tparse = new JavaTreeParser();". I can't
> > understand what you can do differently with the two different
> > commands! Sorry if this is a really stupid question but if
there's a
> > short answer that anyone's willing to give I would be glad to
hear
> it.
> > Thanks,
> > Jon
> >
> > --- In antlr-interest at yahoogroups.com, Terence Parr <parrt at j...>
> > wrote:
> > > Hi. Have you checked the faq entry that answers your question?
> > >
> > > http://www.jguru.com/faq/view.jsp?EID=818959
> > >
> > > It's called: What is a tree parser and why would I want to use
> one?
> > >
> > > <snicker>
> > >
> > > Terence
> > >
> > > On Monday, April 28, 2003, at 10:17 AM, jw9315 wrote:
> > >
> > > > Hi,
> > > > I'm a brand new ANTLR user. I'm using the AST tree it
produces
> to
> > > > create an interpreter for a small subset of the Java
programming
> > > > language. I was looking at the Main.java file in the grammar
> > examples
> > > > directory, and one of the last lines says:
> > > > '
> > > > JavaTreeParser tparse = new JavaTreeParser();
> > > > try
> > > > {
> > > > tparse.compilationUnit(t);
> > > > System.err.println("successful walk
of result
> > > > AST for "+f);
> > > > }
> > > > catch (RecognitionException e) {
> > > > System.err.println(e.getMessage());
> > > > e.printStackTrace();
> > > > }
> > > > ' Could anyone tell me what this block does in the program,
what
> > is
> > > > a JavaTreeParser?
> > > > Thanks,
> > > > Jon
> > > >
> > > >
> > > >
> > > >
> > > > Your use of Yahoo! Groups is subject to
> > > > http://docs.yahoo.com/info/terms/
> > > >
> > > >
> > > >
> > > --
> > > Co-founder, http://www.jguru.com
> > > Creator, ANTLR Parser Generator: http://www.antlr.org
> > > Co-founder, http://www.peerscope.com link sharing, pure-n-simple
> > > Lecturer in Comp. Sci., University of San Francisco
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
More information about the antlr-interest
mailing list