Yes that is intentional. But let's disregard that rule for a second. Should the 
introduction of that second rule under any circumstance change the behavior of 
that parser seeing as it doesnt match anything? I'm showing that it does and 
can't figure out why it would given that the predicate is always false. Is that 
a bug?

Thanks,
Chris

On Jul 28, 2011, at 4:00 AM, Gokulakannan Somasundaram <[email protected]> 
wrote:

> The first rule matches empty and the second rule doesn't match anything. Is 
> that "//" intentional?
> 
> Gokul.
> 
> On Thu, Jul 28, 2011 at 4:28 PM, chris king <[email protected]> wrote:
> Hello antlr-interest! So I'm working on my C# pre-processor and I'm trying
> to implement the skipping #ifdefed code in the lexer when I ran across this.
> I expected
> 
> 
> PP_SKIPPED_CHARACTERS
>  : //{ false }? ( ~(F_NEW_LINE_CHARACTER | '#') F_INPUT_CHARACTER*
> F_NEW_LINE )*
>  ;
> 
> 
> to be equivalent to
> 
> 
> PP_SKIPPED_CHARACTERS
>  : { false }? ( ~(F_NEW_LINE_CHARACTER | '#') F_INPUT_CHARACTER* F_NEW_LINE
> )*
>  ;
> 
> but I'm seeing different runtime behavior. So I guess I don't understand
> what the { false }? syntax is all about. I know there are probably other
> ways to implement the #ifdefed logic but could someone enlighten me as to
> why these two bits of code are not equivalent?
> 
> Thanks,
> Chris
> 
> 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.

Reply via email to