Grammar dangling; Parser f = e ; //1alt1 | e '2' '3' ; e = '0' | '1' e | '1' e '2' ; //alt1 '1' e | '1' e x ; //alt2 '1' e y ; x = '2' ; y = x | ; /* 1102 -> f[ e[ '1' e[ '1' e['0'] '2' ] ] ] 1102 -> f[ e[ '1' e[ '1' e['0'] ] '2' ] ] 11022 -> f[ e[ '1' e[ '1' e['0'] '2' ] '2' ] ] 11023 -> f[ e[ '1' e[ '1' e['0'] ] ] '2' '3' ] */