我创建了一个简单的语法来解析一组 IF/THEN 语句。我可以获得各种识别异常(MissingTokenException、NoViableAltException 等)。
现在我需要更进一步,让我的处理更加细粒度。
例如,以下规则缺少 THEN:
IF CODE="1"
DATE < TODAY
ELSE
DATE >= TODAY
ENDIF
这是另一个(缺少左括号):
IF CODE="1" OR CODE="2") THEN
DATE < TODAY
ENDIF
另一个(字符串周围缺少引号):
IF CODE=1" THEN
DATE < TODAY
ENDIF
任何人都可以提出任何建议吗?我唯一的想法是一个基于正则表达式的后处理器,如果语句没有被正确解析,它会与一系列正则表达式进行比较以确定出了什么问题。
杰森