1

私の文法ファイルtest.ebnfは次のようになります。

start = identifier ;

identifier =
  /[a-z]*/ rest;

rest = /[0-9]*/ ;

入力「test1234」でこの文法を実行すると、単一の語彙素として「test1234」が生成されますが、AST は次のようになります。

AST:
['test', '1234']

nameguard機能をfalseに設定して実行しようとしましたが、うまくいきませんでした。のようなルールを書かずにこの動作を得るにはどうすればよいidentifier = /[a-z]*[0-9]*/ですか?

4

1 に答える 1