私の 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 $@1: /* empty */
4 statement: statement $@1 thing1 thing2
10 thing1: /*empty*/
20 thing2: /*empty*/