如何将ANTLRWorks的输出连接到c#项目

本文关键字:连接 项目 输出 ANTLRWorks | 更新日期: 2023-09-27 18:29:01

我在ANTLRWorks 1.5.2中写了一段时间的语法。我还添加了一些操作,所以当我用while代码调试代码时,它将在ANTLRWorks的输出中显示3个地址代码。我的语法是这样的:

NAME: 
LETTER (LETTER | DIGIT | '_')*;
NUMBER: 
 DIGIT+; // just integers
fragment DIGIT: 
'0'..'9';
fragment LETTER: 
'A'..'Z' | 'a'..'z';
RELATION: 
'<' | '<=' | '==' | '>=' | '>' | '!=' ;
WHITESPACE: 
(' ' | ''t' | ''r' | ''n')+ { $channel = HIDDEN; };

我生成语法,在输出文件夹中有whileParser.cs和whileLexer.cs。现在我想把我的语法添加到一个c项目中。我想从用户那里获得输入,然后向他们显示我的语法输出。我不知道如何将.g文件和输出类添加到c#项目中。我使用的是visualstudio2013。有人能帮我吗?

如何将ANTLRWorks的输出连接到c#项目

如果语法中包含Java代码块,则需要先将它们翻译成C#。实际上,这可能是一个很好的机会,您可以使用ANTLR4来代替和/或切换到解析树方法。我应该提一下,如果你需要的话,有一个ANTLRWorks2版本,主要用于ANTLR4

不管怎样,只要安装ANTLR Visual Studio插件,让它为您处理即可。它同时适用于ANTLR 3和4。

然后,您必须将ANTLR运行时添加到您的项目中。为此,您可以安装ANTLR4 NuGet或ANTLR3版本,具体取决于您最终选择使用的版本。