s : cmd
| cmd SOMETHING
cmd :WORD
WORD и SOMETHING - ненулевые терминалы
это грамматика LR1, поэтому бизон должен разобрать ее без проблем.
однако я столкнулся с неожиданной проблемой во время выполнения: программа запрашиваетвведите дважды, поэтому, например, когда я ввожу «qwerty», он запрашивает второй ввод, когда я пытаюсь его отладить, я получаю следующее:
Starting parse
Entering state 0
Reading a token: qwerty
Next token is token WORD
Shifting token WORD
Entering state 1
Reducing stack by rule 3 (line 20):
$1 = token WORD ()
-> $$ = nterm cmd ()
Stack now 0
Entering state 3
Reading a token:
(asks for input a second time)