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

-- 
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