我有这样的语法:
name = /[_a-zA-Z][a-zA-Z0-9]*/;
expression = name '+' name;
def_body = 'def' name:name args:{name} body:expression;
但当我尝试解析时,它总是使用表达式的名字
作为争论的一部分。有没有办法让它在args闭包中的每个名称之前进行测试,如果它能匹配表达式,并且在通过时结束?你知道吗
提前谢谢。你知道吗
编辑:我通过语义解决了这个问题,但我仍然好奇是否可以通过grakoebnf。你知道吗
Tags:
由于缺少参数的分隔符,因此需要进一步查看输入,以确定是否应该继续关闭。消极的前瞻应该在语法层面上解决问题:
展望未来不是“欺骗”。因为重要的原因,它们是PEG定义的一个组成部分。你知道吗
相关问题 更多 >
编程相关推荐