I am still confused. Everything I try seems to break something else.
I have a grammar and a tree grammar. When I print out the tree I see the whitespace that is embedded in my string. I can't figure out what I have to do either in the tree construction, or the tree walker to get to the hidden token channel. Here is a snippet of the grammar that produces the tree grammar: mdx_statement : 'MDX(' mdxs=mdx_stmt ')' -> ^(MDX_FUNC $mdxs) ; mdx_stmt : dqcon -> dqcon; dqcon : '"' ( (~'"')=> ( ('\\')=>'\\'. | . ) )* '"'; WS : (' '|'\t'|'\n'|'\r')+ {$channel=HIDDEN;} ; When I parse something like: MDX("a g g g g g g gggggggggggggggggggggggggx") And then print the tree I see this: (MDX_FUNC " a g g g g g g gggggggggggggggggggggggggx ") In my tree grammar I have this (I left out some things, but you get the idea): @after { statements.Add($select_statement::stmt); if ($mdxs.text != null) { $select_statement::stmt.TheMDX = $mdxs.text; } } ^(MDX_FUNC mdxs=mdx_stmt) ; mdx : dqcon ; I get an empty string. I know there is something I a missing. In the debugger I see the input text. Is there a simple way I can get the string representation of the node? Thanks, Mark -----Original Message----- From: John B. Brodie [mailto:j...@acm.org] Sent: Thursday, July 02, 2009 11:54 AM To: Penningroth, Mark Cc: antlr-inter...@antlr.org Subject: Re: [antlr-interest] Question about preserving spaces in quoted strings Greetings! On Thu, 2009-07-02 at 10:35 -0400, Penningroth, Mark wrote: > I have the following in my grammar: > > sqcon > : '\'' ( options {greedy=false;} : .)* '\'' > ; > > The intent is to get a single text node with everything between the > sing quotes. > > When I parse 'Los Angeles' I lose the space . your sqcon rule is a Parser rule (because it begins with a lower case letter). have you tried making it a Lexer rule? by up-casing (at least) the first letter. and note that when you make it into a Lexer rule, the text of the token will include the leading and trailing quotes, so you may need to substring them away. Hope this helps -jbb 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 il-antlr-interest@googlegroups.com To unsubscribe from this group, send email to il-antlr-interest+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/il-antlr-interest?hl=en -~----------~----~----~----~------~----~------~--~---