在一行中固定位置处使用令牌解析程序

时间:2014-09-19 17:20:10

标签: antlr4

我是Antlr的新手,需要为遗留汇编代码编写解析器,可能在固定列中包含行号。此外,某些列具有重要意义 - 无论是评论,延续还是等等。我如何检测这些?

举一些例子:

000001 proc proc1

000002 *评论

  * comment without line numbers

            continuation marker set ==>               X

        Arbitrary text as continuation

由于 XAN

1 个答案:

答案 0 :(得分:0)

在编写Antlr语法来解析Cobol源代码时,我遇到过类似的问题。 Cobol有一些像你的特性(固定列,列很重要等)。

我发现这个问题的唯一解决方案:"预处理"输入并将其转换为Antlr可以解析而没有问题的一些内容!

Ex:在Cobol中,第7列中的星号表示该行是注释行;我把它(星号本身)更改为">>"并在我的语法中指明">>"表示此行是注释行。