@@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
根据我的理解,模式规则会尝试匹配“数字”,但它不能。然后它应该继续尝试匹配任何东西并成功。
为什么不解析?