Следующая грамматика генерирует предложения a, a
, a, b
, b, b
, ..., h, b
. К сожалению, это не LR (1), поэтому нельзя использовать с такими инструментами, как «yacc».Можно ли превратить эту грамматику в LR (1)?
S -> a comma a.
S -> C comma b.
C -> a | b | c | d | e | f | g | h.
Можно ли преобразовать эту грамматику, чтобы быть LR (1) (или даже LALR (1), LL (K) или LL (1)) без необходимости расширения нетерминальному C
и, таким образом, значительно увеличить количество постановок?