Jim Thanks for your quick answer. The code shown uses the -debug option to generate parser and lexer classes, but I have problems with the debug option that when I use it the parser just hangs and does not go ahead.
Any solution as to generate a ParseTree without using the debug option. Ketan On Wed, Mar 31, 2010 at 4:58 PM, Jim Idle <[email protected]> wrote: > I think you are looking for the wrong thing. You are unlikely to need the > parse tree in order to operate upon the input. You are almost certainly in > need of an AST that you build yourself using the ANTLR tree building > constructs. > > > > Did you search the WIKI: > > > > http://www.antlr.org/wiki/pages/viewpage.action?pageId=1760 > > > > Jim > > > > > > From: Ketan Maheshwari [mailto:[email protected]] > Sent: Wednesday, March 31, 2010 7:47 AM > To: Jim Idle > Cc: [email protected] > Subject: Re: [antlr-interest] How to get GUI like tree structure > > > > Hi Jim, Hi All > > > > I searched but still am struggling to really get the parsertree object for > my grammar. > > > > My goal is to get the parser tree object just as being shown in the GUI and > put its elements in another object that I need to construct based upon the > tree. > > > > But after a lot of search I still have no clue how do I get the ParserTree > object with a *hierarchy of rules* and leaf nodes as the actual *tokens* of > my program! > > > > Many thanks for any help with this. > > > > Regards > > Ketan > > > > On Mon, Mar 29, 2010 at 6:30 PM, Jim Idle <[email protected]> wrote: > > Ah. You are asking for the parser tree, not a representation of the AST? > Search the mailing list for this. Such a tree is not generally useful for > doing things with (so if you are looking for this information because you > want to use it to generate code or something, then you are probably looking > at your problem incorrectly), but it is very useful for debugging the tree. > > > > http://antlr.markmail.org/search/?q=parse+tree > > > > > > If all you want is information in the nodes, then get the payload of the > leaf node (usually CommonToken) and ask for it, but that’s what the code you > looked at is doing. > > > > Jim > > > > > > From: Ketan Maheshwari [mailto:[email protected]] > Sent: Monday, March 29, 2010 9:18 AM > To: Jim Idle > Cc: [email protected] > Subject: Re: [antlr-interest] How to get GUI like tree structure > > > > > Jim > > > > Thanks again for your answer. > > > > 1. I checked the DOTTreeGenerator.java code but I do not seem to know how > it finds all the info about a tree. Also I am confused with its use of both > the stringtemplates and trees (are'nt they mutually exclusive?). > > > > 2. Yes, the toStringTree() method prints the tree but it only gives the > leaf nodes, that is the program itself. I have no info about which rule a > given token belongs to. > > > > To be more clear, see the attached snapshot. My question is how can I > capture this parse tree in a some kind of java data structure and walk > through it. > > > > Many Thanks again for all your help. > > Ketan > > > > On Mon, Mar 29, 2010 at 5:41 PM, Jim Idle <[email protected]> wrote: > > Look at the code for DOTTreeGenerator.java or use toStringTree() if that > gives you a good enough representation. > > Jim > > > > -----Original Message----- > > From: [email protected] [mailto:antlr-interest- > > [email protected]] On Behalf Of Ketan Maheshwari > > Sent: Monday, March 29, 2010 7:36 AM > > To: [email protected] > > Subject: [antlr-interest] How to get GUI like tree structure > > > > Hello Friends > > > > I am trying to use the CommonTree generated by the parser of my grammar > > against a test code. > > > > Using the getChild(index).toString method, I get the tokens well. > > > > However, I do not know how can I also get a hierarchy of the rule to > > which > > they belong to. Similar to what we get in the ANTLRworks GUI. > > > > Any clue how can I get a tree such that it shows complete hierarchy of > > the > > grammar and the tokens as leaf nodes only. > > > > Am I using the correct Data Structure (CommonTree) ? > > > > Thanks for any clues. > > > > Regards > > Ketan > > > > > List: http://www.antlr.org/mailman/listinfo/antlr-interest > > Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your- > > email-address > > > > > List: http://www.antlr.org/mailman/listinfo/antlr-interest > Unsubscribe: > http://www.antlr.org/mailman/options/antlr-interest/your-email-address > > > > > > > List: http://www.antlr.org/mailman/listinfo/antlr-interest > Unsubscribe: > http://www.antlr.org/mailman/options/antlr-interest/your-email-address > > > > > > > List: http://www.antlr.org/mailman/listinfo/antlr-interest > Unsubscribe: > http://www.antlr.org/mailman/options/antlr-interest/your-email-address > List: http://www.antlr.org/mailman/listinfo/antlr-interest Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address -- You received this message because you are subscribed to the Google Groups "il-antlr-interest" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/il-antlr-interest?hl=en.
