我创建了一个解析一组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
有人可以提出任何建议吗?我唯一的想法是基于正则表达式的后处理器,如果语句没有被正确解析,则将其与一系列正则表达式进行比较,以确定出现了什么问题。
杰森