0
s : cmd
| cmd SOMETHING
cmd :WORD
WORD和什麼事都是非空終端什麼是這個語法
這是一個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)
它基於$這裏的標記輸入結束的前視符號 – 2012-01-11 17:02:40
但它仍然需要檢查符號,它涉及要求輸入。 – 2012-01-26 19:45:33