0
@@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

据我了解,模式规则会尝试匹配“数字”,但它不能。然后它应该继续尝试匹配任何东西并成功。

为什么不解析?

4

0 回答 0