" X:" breaks recognition of XY


Dear John,

thanks for providing gplex, which is of great help to me. I get unexpected behaviour when parsing data containing positional info. The real .lex file is quite large and my token is XYZWPR, but I could break the issue down to case 2 breaking the recognition of case 1.

case1 XY
//case2 [ ]X:
case2 " X:"

The input file being some testfile containing the string "XYZWPR". When case 2 is inactive (commented out), case 1 is recognized, when case 2 is active, there is no recognition of either pattern. It does not matter if case 2 is "[ ]X:" or " X:". The issue can be avoided by not checking for the trailing blank (i.e. if case 2 is "X:", there's recognition as expected), or in my real use case by checking case1 for YZWPR instead of XYZWPR but I found it worth mentioning. I get this behaviour on Linux / Mono as well as on VisualStudio2015/Win7. The sample lex file is attached.

best regards

file attachments