#antlr #antlr4
#antlr #antlr4
Вопрос:
Я запустил « grun antlr.Expr prog testtest0.txt -gui amp;
» в cmd (Windows) «он просто завис там, поэтому я завершил задание и запустил « grun antlr.Expr prog testtest0.txt testtree.txt -tree
«, но результат тот же.
Грамматика:
Тестовый пример:
Структура каталогов:
Комментарии:
1. @bartkiers Он не должен пытаться читать из stdin, когда вы даете ему имя файла в качестве аргумента, нет?
2. @sepp2k ах, да, я думал, что TestRig всегда работает с пользовательским вводом из stdin, но предоставление файла также работает, я только что видел.
3. @AbhishekMeshram Я никогда не использую TestRig, но вы можете попробовать выполнить команду в той же папке, что и грамматика. Я не думаю, что
grun antlr.Expr ...
это правильно. На домашней странице ANTLR написаноgrun Expr ...
4. @BartKiers
packagename.GrammarName
прав. Домашняя страница используетgrun Expr
, потому что грамматики нет в пакете в примере. Учитываяpackage antlr;
в коде OP,antlr.Expr
должно сработать. Тем не менее, я бы не рекомендовал использоватьantlr
в качестве имени пакета. В любом случае, еслиgrun
не удалось найти классы, на этот счет было бы сообщение об ошибке. Насколько мне известно, единственным способом, при котором ничего не происходило бы, был бы либо фактический бесконечный цикл, либоgrun
ожидание ввода, как вы подозревали, но я не понимаю, почему здесь так.5. @AbhishekMeshram Можете ли вы рассказать нам, как настроен ваш
grun
? Это псевдоним или скрипт и каково его содержимое? Единственное, о чем я могу думать, это о том, что у вас какой-то перепутанный сценарий оболочки, который не передает имя файлаTestRig
классу. На несвязанном примечании: В будущем, при публикации вашей грамматики или другого кода, пожалуйста, скопируйте и вставьте его в виде текста, а не изображения. Я не могу скопировать содержимое изображения в файл для тестирования, как я могу с текстом.