before the parser does anything, the lexer chops up the input into tokens according to the definitions of terminals (and keywords) defined in your grammar (and the ones you inherit from). It is well possible that already the lexer does not produce the tokens you were expecting.