[antlr-interest] v2->v3 Skip chars in Lexer? // FAQ only for Java. What about C? :-)
Ruslan Zasukhin
ruslan_zasukhin at valentina-db.com
Sat Apr 16 04:51:42 PDT 2011
On 4/16/11 1:18 PM, "Bart Kiers" <bkiers at gmail.com> wrote:
I have found this FAQ
http://www.antlr.org/wiki/pages/viewpage.action?pageId=1461
But only Java here ...
{setText(getText().substring(1, getText().length()-1));} ;
Now I struggling to find any API of C analogs of
getText() / setText() for LEXER.
> How to remove that quotes in v3? :-)
>
>
> Here's a way:
>
> DELIMITED
> @init {
> String q = null;
> }
> @after {
> String text = getText();
> // remove the first and last quote, replace all 2 quotes with a single
> quote
> setText(text.substring(1, text.length()-1).replace(q+q, q));
> }
> : ( DQUOTE (~DQUOTE | DQUOTE DQUOTE)+ DQUOTE {q = $DQUOTE.text;}
> | BQUOTE (~BQUOTE | BQUOTE BQUOTE)+ BQUOTE {q = $BQUOTE.text;}
> ) { $type = IDENT; }
> ;
>
> or create your own token that handles the replacements
> internally: http://www.antlr.org/wiki/pages/viewpage.action?pageId=1844
--
Best regards,
Ruslan Zasukhin
VP Engineering and New Technology
Paradigma Software, Inc
Valentina - Joining Worlds of Information
http://www.paradigmasoft.com
[I feel the need: the need for speed]
More information about the antlr-interest
mailing list