Closed tf3pm closed 5 years ago
Hi Tomas,
Thanks for submitting the issue, but this is a side-effect of using a recursive descent parser vs. a state parser.
In Eto.Parse, the first alternative {Letter}?
will always match and will not try the second alternative, even if it is "more valid". This means the order of the alternatives matter in Eto.Parse, even when using other grammars.
In more detail, {Letter}?
basically means, if the current character is a letter, it is a match, otherwise it is still a match with zero-length.
Hope this helps! Curtis.
Thanks, Curtis!
Hi all, could you please help me? I have GOLDparser grammar:
` const string testedGrammer = @" ""Case Sensitive"" = False ""Start Symbol"" =
Identifier = ({Letter}?|{Digit}+)