的Wikipedia文章PEG解析器定义了以下组合子:真正需要PEG解析器:是“必选”还是“一个或多个”规则?
2.Given any existing parsing expressions e, e1, and e2,
a new parsing expression can be constructed using the following operators:
Sequence: e1 e2
Ordered choice: e1/e2
Zero-or-more: e*
One-or-more: e+
Optional: e?
And-predicate: &e
Not-predicate: !e
是否所有这些组合子?这在我看来,可选和一个或更多的可以很容易地为
e+ = e* & e
e? = e/""
难道我说错此实现,还是有一些基本的东西,需要在这两种形式是单独的原子?我正在构建自己的PEG解析器,并且跳过这两个(或者以其他组合器的形式定义它们)会很方便,但我想确保我不会错过任何重要的东西。
对我来说很有意义。我认为他们真的只是为了方便,因为他们很常见。 – 2013-04-27 02:01:41