【问题标题】:how to connect ANTLRWorks output to c# project?如何将 ANTLRWorks 输出连接到 c# 项目?
【发布时间】:2014-11-04 20:11:30
【问题描述】:

我在 ANTLRWorks 1.5.2 中编写了一段语法。 我还添加了一些操作,因此当我使用一段时间代码调试我的代码时,它将在 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# 项目。 我正在使用视觉工作室 2013。 有人可以帮帮我吗?

【问题讨论】:

    标签: c# parsing antlrworks


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-06
      • 1970-01-01
      • 1970-01-01
      • 2017-03-16
      相关资源
      最近更新 更多