发布
社区首页 >问答首页 >设置ANTLR 4语法来处理Java和C#环境

设置ANTLR 4语法来处理Java和C#环境
EN

Stack Overflow用户
提问于 2015-03-27 16:10:39
回答 1查看 310关注 0票数 0

我在C#和Java环境中都使用ANTLR 4拆分语法,除非我将函数notifyErrorListeners更改为使用camel case NotifyErrorListeners,否则我无法用这两种语言编译语法。

C#示例:

代码语言:javascript
代码运行次数:0
复制
statement       
:   expression SEMICOLON
|   { NotifyErrorListeners("; expected."); } expression // They forgot the semicolon.

Java示例:

代码语言:javascript
代码运行次数:0
复制
statement       
:   expression SEMICOLON
|   { notifyErrorListeners("; expected."); } expression // They forgot the semicolon.

我的C#反was环境是通过Nuget: Antlr4 4.2.2-alpha 001完成的

我的Java环境是从antlr.org下载的: ANTLR -4.5-plete.jar

有没有一种方法可以修改我的语法,这样我就不用在语言之间切换时修改它了?是否有更好的功能可供使用,以方便这两种环境?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-27 19:58:01

我已经解决了我的问题。在解析器的C#项目中创建一个分部类,并确保它位于相同的程序集和命名空间中。然后,很容易添加一个使用camel camel的方法-- Java所期望的。现在,我可以在不修改语法的情况下使用这两种环境。

代码语言:javascript
代码运行次数:0
复制
public partial class ScriptParser
{
    public void notifyErrorListeners(string message)
    {
        this.NotifyErrorListeners(message);
    }
}

谢谢你的提问和建议。你把我推向正确的答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29305228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档