s : cmd
| cmd SOMETHING
cmd :WORD
WORD および SOMETHING は非ヌル端末です
これは LR1 文法なので、bison は問題なく解析できるはずです。
ただし、実行時に予期しない問題に直面しました。プログラムは入力を2回要求するため、たとえば「qwerty」と入力すると、2回目の入力を要求され、デバッグしようとすると次のようになります。
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)