【发布时间】:2015-08-01 08:16:34
【问题描述】:
start
= intExp
intExp
= andIntExp
/ orIntExp
andIntExp
= integer (andExp intExp)*
orIntExp
= integer (orExp intExp)*
andExp
= space* "and" space* { return "and";}
orExp
= space* "or" space* { return "or";}
space
= [\n \t]
integer "integer"
= digits:[0-9]+ { return parseInt(digits.join(""), 10); }
我想像
那样解析输入2 or 2 or 2 或 2 and 2 and 2 但 2 or 2 and 2 无效。简而言之,我不希望 and 和 or 在输入中一起出现。有没有办法用 peg 做到这一点,而不涉及 javascript 和存储以前看到的变量(我已经有一个解决方案)?
【问题讨论】:
标签: javascript peg pegjs