#java #antlr
#java #antlr
Вопрос:
В каталоге с именем Test у меня есть класс Java в файле Word.java
, подобном этому:
public class Word {
public String value;
public Word(String v) {
value = v;
}
}
И в том же каталоге мой тест грамматики antlr4.g4 выглядит так:
grammar Test;
@header {
import Test.Word;
}
@members {
ArrayList<Word> words = new ArrayList<Word>();
}
program
@after { System.out.println(words.toString()); }
: (ID { words.add(new Word($ID.text)); } )
;
(В этом примере я просто использую Word вместо String, чтобы протестировать импорт. Грамматика и действия пока не моя проблема)
Теперь, когда я пытаюсь запустить java org.antlr.v4.runtime.misc.TestRig Test
это результат:
блаблабла
Вызвано: java.lang.Исключение ClassNotFoundException: Test.Word
блаблабла
Это сводит меня с ума, как я могу импортировать свой класс в файл .g4? Я знаю, что пакеты Java по умолчанию могут быть загружены, но как мне импортировать мой пользовательский класс Java?
tl; dr: я создал класс java и хочу использовать его в своей грамматике antlr. Как я могу это сделать?
Комментарии:
1. Спасибо всем, кто отклонил мой вопрос без объяснения причин. Это правильный способ улучшить сообщество, понизить вопрос и позволить парню самому разобраться, что он сделал не так. Хорошая работа! : D
Ответ №1:
Ваш путь к классу должен включать каталог, содержащий Test .