Antlr4 - ANTLR 错误在“┐grammar”处缺少 SEMI 并且找不到源文件(CSC compilant)

Antlr4 - ANTLR ERROR missing SEMI at '┐grammar' and could not find source file (CSC compilant)

我在 .NET 目标中有一个使用 ANTLR 的项目,当我使用 ANTLR 添加新项目时它不生成解析器,旧项目工作正常。

grammar MyGrammar;

/*
 * Parser Rules
 */

Errors:

Error6  missing SEMI at '┐grammar'  C:\... 1   3   MyGrammarLib
Error7  missing COLON at 'MyGrammar' while matching a rule  C:\... 1   12  MyGrammarLib
Error5  '╗' came as a complete surprise to me   C:\... 1   2   MyGrammarLib
Error4  '´' came as a complete surprise to me   C:\... 1    1  MyGrammarLib

当我重新启动并重建时,它无法使用 ANTLR 为所有库生成 CSC,看来我的 Visual Studio 2012 不再支持 Antlr 语言和运行时工具。 重新安装 ANTLR 也没有帮助。 会发生什么?

PK

确保 ANTLR(或者实际上 Java 运行时环境)知道您的文件的编码。

如果它是 UTF-8(有或没有 BOM),这可以通过在 Java 命令行中指定它来完成,例如

java -Dfile.encoding=UTF-8 -jar antlr-4.5-complete.jar...