%token a b %start S %% S : b S1 ; S1 : B A1 a | /* epsilon */ ; A1 : a B A1 | /* epsilon */ ; B : a b ;