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

时间:2014-11-04 20:11:31

标签: c# parsing antlrworks

我在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#项目中。 我正在使用visual studio 2013。 有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

你的语法包含Java代码块,你需要先将它们翻译成C#。实际上,这可能是您使用ANTLR 4和/或切换到解析树方法的好机会。我应该提到ANTLRWorks 2版本,主要针对ANTLR 4,如果需要的话。

无论如何,只需安装ANTLR Visual Studio Plugin并让它为您处理。它适用于ANTLR 3和4。

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