Hi Jim,

I tried this, and it works fine. I tchanged it to be just LA(1)
instead of input.LA(1) to have it work in C.

I also tried the solution from John,

fragment PART : '"' (options{ greedy=false; }: .)* '"' ;
STRING : PART+ ;

which worked fine too, and which I found easier to understand.
Are there any advantages or disadvantages to these two solutions?

Thanks
Anders

On 25 Mrz., 16:22, "Jim Idle" <j...@temporal-wave.com> wrote:
> This is the easiest way, though there are others such as ('""')=>:
>
> DQ_LITERAL
>    : '"' (options { greedy = false; }
>               : (
>                    (
>                        {input.LA(1) == '"' && input.LA(2) == '"'}? '"' '"'
>                      | ~'"'
>                    )*
>                 )
>              )  
>          '"'
>     ;
>
> Jim
>
>
>
> > -----Original Message-----
> > From: antlr-interest-boun...@antlr.org [mailto:antlr-interest-
> > boun...@antlr.org] On Behalf Of Anders Sollander
> > Sent: Thursday, March 25, 2010 6:01 AM
> > To: antlr-inter...@antlr.org
> > Subject: [antlr-interest] Lexer rule for strings with quoted strings
> > within
>
> > Hi,
>
> > I've been trying to write a lexer rule for strings with strings in
> > them, like
>
> >    "This has a ""quoted string"" within"
>
> > Is there a simple lexer rule for this, or do I need some kind of look
> > ahead?
>
> > Thanks
> > Anders
>
> > 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 il-antlr-inter...@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.

Reply via email to