以下では:
space ([ \t\f\r])+
opt_space ([ \t\f\r])*
cpp ^{opt_space}#{opt_space}
word [A-Za-z_][A-Za-z_0-9]*
arg_macro {cpp}define{space}{word}
/*arg_macro ^{opt_space}#{opt_space}define{space}{word}*/
%%
{arg_macro} ;
%%
エラー メッセージが表示される
test.l:9: 認識されないルール
の 2 番目のバージョンのコメントを外しarg_macro
、最初のバージョンのコメントを外すと、エラー メッセージは消えます。
理由はありますか?