我来自野牛的“.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 $@1: /* empty */
4 statement: statement $@1 thing1 thing2
10 thing1: /*empty*/
20 thing2: /*empty*/