gpt4 book ai didi

antlr - 匹配可选元素序列中的至少一个元素(ANTLR)

转载 作者:行者123 更新时间:2023-12-05 02:35:55 30 4
gpt4 key购买 nike

让我们考虑以下 ANTLR4 语法(最小示例):

grammar Foo;

expr
: a? b? c?
;

我如何指定 abc 中的至少一个 必须出现在表达式?

基本上我正在寻找以下内容的较短版本:

grammar Foo;

expr
: a
| b
| c
| a b
| a b c
| b c
| c
;

是否有更简单的方法可以直接在语法中实现,或者我需要在解析后检查 AST?

最佳答案

不像假设的“至少一个”运算符那么简单,但比您提出的解决方案更简单:

expr
: a b? c?
| b c?
| c
;

至少,是n n 的作品东西,而不是 2<sup>n</sup>−1制作。

关于antlr - 匹配可选元素序列中的至少一个元素(ANTLR),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70407664/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com