Gau*_*tam 10 grammar set antlr4

这个警告意味着什么?我该如何解决?
这是我所指的代码
expression : expression operator=DIV expression
| expression operator=MUL expression
| expression operator=ADD expression
| expression operator=SUB expression
| INT
| FLOAT
| BOOLEAN
| NULL
| ID
;
Run Code Online (Sandbox Code Playgroud)
Sam*_*ell 12
在某些情况下,ANTLR 4解析器生成器可以组合转换组以形成单个"设置转换",从而减少静态和动态内存开销,并提高运行时性能.只有当块的所有替代项都包含单个元素或集合时,才会发生这种情况.例如,以下代码允许INT并FLOAT组合成单个转换:
// example 1
number
: INT
| FLOAT
;
// example 2, elements grouped into a set
primary
: '(' expression ')'
| (INT | FLOAT)
;
Run Code Online (Sandbox Code Playgroud)
但是,在以下情况下,编译器不能组合元素,因此它们将被单独处理:
primary
: '(' expression ')'
| INT
| FLOAT
;
Run Code Online (Sandbox Code Playgroud)
提示建议简单添加(...的)位置足以允许编译器折叠一个否则将无法复制的集合.将代码更改为以下内容将解决警告问题.
expression
: expression operator=DIV expression
| expression operator=MUL expression
| expression operator=ADD expression
| expression operator=SUB expression
| ( INT
| FLOAT
| BOOLEAN
| NULL
| ID
)
;
Run Code Online (Sandbox Code Playgroud)