【发布时间】:2025-12-22 09:55:12
【问题描述】:
我在使用解析器解析某些命令时遇到问题,我使用 ANLTR3 实现了该解析器。解析器无法解析那些包含在语法中声明为词法分析器规则的“任何单词”的命令。 例如看看下面的语法:
show :
SHOW TABLES '[' projectName? tableName']' -> ^(SHOW TABLES_ ^(PROJECT_NAME projectName)? ^(DATASET_TABLE tableName));
SHOW : S H O W;
如果我尝试解析命令“SHOW TABLES [sample-project:SHOW]”,则该命令的解析失败。但如果我更改 SHOW 字,则它可以工作。 SHOW TABLES [sample-project:SHOW] - 这行得通。
我不想将名称作为被引号(“)包围的字符串。 任何人都可以提出解决方案吗?我正在使用 ANTLR3。
提前致谢。
【问题讨论】: