Final version LL1 grammar