ANTLR语法的高级处理

时间:2012-12-06 11:59:55

标签: java antlr

我创建了一个解析一组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

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

杰森

0 个答案:

没有答案