我的來自bison的「.output」文件有許多變量,名稱分別爲$ @ 1,$ @ 2,...,$ @ 38。這些都與中期行爲規則有關,我正在研究的語法有很多,但在某種程度上我還沒有完全辨別。它們代表非終結符號,與中期行爲規則有某種關係。這就是我所能說的。
編輯:
input.y(漫畫版):
%start statement
%%
statement: /* empty */ { print("testA"); }
| ';' { print("testB"); }
| statement { print("testC"); } thing1 thing2 { print("testD"); }
;
input.output(漫畫版):
0 $accept: statement $end
1 statement: /* empty */
2 | ';'
3 [email protected]: /* empty */
4 statement: statement [email protected] thing1 thing2
10 thing1: /*empty*/
20 thing2: /*empty*/
OK的副本,我看着這個多一些,並據此編輯我的答案。 – rici