@@grammar::tester
@@comments :: /\(\*((?:.|\n)*?)\*\)/
@@eol_comments :: /(#([^\n]*?)$|\/\/([^\n]*?)$)/
start = pattern $;
pattern =
| number
| anything
;
anything = ?'\S*';
number = ?"-?(0|[1-9]*[0-9]*)(\.[0-9]+)?([Ee][+-]?[0-9]+)?";
这确实解析了一个输入文件
xxx
这给出了错误
grako.exceptions.FailedParse: learn.txt(1:1) Expecting end of text. :
xxx
据我了解,模式规则会尝试匹配“数字”,但它不能。然后它应该继续尝试匹配任何东西并成功。
为什么不解析?