Относительный путь в ANTLR tokenVocab - PullRequest
0 голосов
/ 24 марта 2020

Я новичок в ANTLR, делаю успехи и решил эту проблему.

У меня есть такая структура:

-- MAIN
---|__ SUB
       |__ ABCLexer.g4
       |__ ABCParser.g4
   BaseLexer.g4

Я бы хотел использовать BaseLexer внутри ABCParser. Итак, я пробовал множество вещей, таких как:

options {tokenVocab=BaseLexer;}
options {tokenVocab='../BaseLexer';}
options {tokenVocab='fullpath to BaseLexer';}

Я также пытался с помощью import, чтобы посмотреть, смогу ли я заставить это работать. Все безрезультатно. Прежде чем я перенесу все обратно в один и тот же каталог, есть ли простой способ сделать это?

1 Ответ

0 голосов
/ 24 марта 2020

Не используйте пути в операторах импорта, вместо этого укажите путь поиска грамматики в вызове инструмента, как описано в документе Опции инструмента :

$ antlr4 - lib / tmp A.g4

В расширении ANTLR4 для vscode вы вместо этого указали бы эту информацию в настройках расширения как , описанное в документации (см. настройку importDir).

...