Grammar names; Lexer a = 'a'; //alt1 a = 'b'; Parser //alt2 a = 'b'; b = {a:} '1' [a:]a //alt3 |{b:} '3' [a:]a [a:]a //alt4 |{b:} '4' a [a:]a //alt5 |{a:} '2' [a:]a ; //alt6 c {->b} = {a:} '4' [a:]a;