Я использую файлы грамматики COBOL с нижеуказанного URL:
https://github.com/antlr/grammars-v4/tree/master/cobol85
Из данного источника есть 2 файла грамматики, которые Cobol85.g4
и Cobol85Preprocessor.g4
.
Обаработать как обаяние, если я имею дело отдельно, как следующие:
~$ antlr4 -Dlanguage=Python2 Cobol85
и
~$ antlr4 -Dlanguage=Python2 Cobol85Preprocessor
Однако, я понимаю, только Cobol85Preprocessor
способен понять комментарии в кобол.С другой стороны, файл грамматики Cobol85
не имеет.Лучше всего, возможно, мне нужно импортировать оба вместе в один файл.
Итак, я создал другой файл грамматики с именем Cobol.g4
, который содержит код ниже:
grammar Cobol;
import Cobol85Preprocessor, Cobol85;
и скомпилировал егос помощью следующей команды:
~$ antlr4 -Dlanguage=Python2 Cobol
Хорошие новости, я не обнаружил проблем при компиляции.Плохая новость, она не работает идеально по сравнению с предыдущим методом (разбирайте файлы грамматики отдельно).
Вместо этого я получил следующее сообщение об ошибке:
line 1:30 extraneous input '.\r\n ' expecting {<EOF>, ADATA, ADV...
Есть ли способЧтобы решить это или по замыслу, я должен иметь дело как по отдельности?Может ли кто-нибудь помочь мне с этой проблемой?
PS: Я не уверен, что эта часть информации будет полезна.Я использую Antlr 4.7.1
со Слушателем.