L = {a^i b^j c^k | j =/ k where i,j,k >= 0}
Этот язык означает, что число b и c не должно быть одинаковым.
Я получил следующий CFG:
L-> YF
F-> bFC | B | C
Y-> A | epsilon
A-> aA | a
B-> bB | b
C-> cC | c
Он отклоняет abc как следует. Тем не менее, этот язык принимает строку abbcc, когда он не должен принимать эту строку. Любые идеи о том, как исправить эту грамматику?