如何在ebnf语法中实现无重复的规则组合?

2024-04-30 06:01:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Grako EBNF/PEG parser。在

我知道EBNF语法允许获取满足给定选项之一的表达式:

(a | b | c)

是否有类似的语法部分或解决方法允许在不重复的情况下获取ab和{}的任何组合的经验,以便有效的表达式如下所示:

^{2}$

但不像:

b b c
a a

是吗?在


Tags: 方法parser表达式选项语法情况经验grako
1条回答
网友
1楼 · 发布于 2024-04-30 06:01:35

一种方法是把规则中的组合拼出来。在

另一种方法是使用语义操作来检查重复并在发现重复时引发grako.exceptions.FailedSemantics。解析器的行为就像输入没有被解析一样。在

相关问题 更多 >