У меня проблема с проектом, использующим инструмент синтаксического анализа языка antlr. Сначала, когда я создал проект и установил antlr4, он был успешно интегрирован с файлом грамматики ECMAScript.g4, но как только я добавил рамку antlr3 и под этим еще одним файлом грамматики JSDeobfucs.g, и после этого я попытался интегрировать это в существующий проект Затем проект прекратил сборку и файлы лексера, парсера, слушателя и т. д. и больше не создаются, что выводит ошибки компиляции:
[Ошибка] Файл
'C: \ Users \ Dima \ Desktop \ Projects \ C # \ JsAstVisitor \ JsAstVisitor \ OBJ \ Debug \ ECMAScriptBaseListener.cs'
не найдено. [Ошибка] Файл
'C: \ Users \ Dima \ Desktop \ Projects \ C # \ JsAstVisitor \ JsAstVisitor \ OBJ \ Debug \ ECMAScriptLexer.cs'
не найдено. [Ошибка] Файл
'C: \ Users \ Dima \ Desktop \ Projects \ C # \ JsAstVisitor \ JsAstVisitor \ OBJ \ Debug \ ECMAScriptListener.cs'
не найдено. [Ошибка] Файл
'C: \ Users \ Dima \ Desktop \ Projects \ C # \ JsAstVisitor \ JsAstVisitor \ OBJ \ Debug \ ECMAScriptParser.cs'
не найден.
Для интеграции antlr3 в Visual Studio 2017 я следовал следующей инструкции .
Хотя странно, что подобная инструкция не создана для Visual Studio 2017, так как сборка проекта antlr по цели отличается не только от зависимости от версии фреймворка antlr
, но в версии Visual Studio. Кроме того, то, что в последней версии Visual Studio antlr 3 и 4 не поддерживается через графический менеджер пакетов nuget, но только через консоль диспетчера nuget, я могу установить их. Вот ссылка на мой проект (я не могу прикрепить архив с проектом здесь, потому что stackoverflow не поддерживает все типы файлов, как я думаю).
Поэтому, пожалуйста, скажите мне:
В чем проблема может быть здесь?
Как решить?
Действительно ли это в Visual Studio в одном C #
спроектировать две разные версии конфликта и будет конфликтовать
друг с другом ???
Если две версии antlr конфликтуют в одном
проект, то как сделать теперь, когда antlr4 снова работает в моем текущем
проект по крайней мере, и в то же время я не буду делать проект
изначально, если это возможно, конечно ???
p.s. Я нашел похожую проблему с генерацией исходного кода antlr в C # target здесь:
Используйте ANTLR для разбора C ++ с C #
Как я понимаю, что я могу использовать IKVM , но я не понимаю: как это помогает мне в моей общей проблеме интеграции antlr в проект C #. В любом случае, помогите мне, пожалуйста.