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

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

Stack Overflow用户
提问于 2015-03-27 08: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 11: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

复制
相关文章
Antlr4 语法解析器(下)
Antlr4 的两种AST遍历方式:Visitor方式 和 Listener方式。
awwewwbbb
2021/07/16
3.6K0
Antlr4  语法解析器(下)
使用antlr4构造我的语法树
编译器的前端和后端。前端指的是编译器对程序代码的分析和理解。前端阶段只与语言的语法有关,而和目标机器无关。后端则是生成目标机器的目标代码有关。第一节说说编译器的前端技术。
mariolu
2020/01/13
9.2K0
浅尝antlr4
这次使用antlr的诱因是whosbug中使用的ctags(另一个语法分析器)只对c系语言支持较好,对java等语言的支持欠佳(甚至可以说很差了),为了whosbug的鲁棒性我认为还是有必要换一个语法分析器的
Kevinello
2022/08/19
1.8K0
浅尝antlr4
2.antlr4开发
2.antlr4开发 上一篇:1.ANTLR4 helloworld基础开发与IDEA插件使用 获取源码 antlr4.7.2 1.通过MyHelloVisitor实现HelloVisitor package wang.xiaolei.lei; import org.antlr.v4.runtime.tree.ErrorNode; import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.RuleNode;
王小雷
2019/12/20
8830
2.antlr4开发
antlr4入门篇
ANTLR实际上有两件事:一种将您的语法转换为Java(或其他目标语言)的解析器/词法分析器的工具,以及生成的解析器/词法分析器所需的运行时。即使您使用ANTLR Intellij插件或ANTLRWorks来运行ANTLR工具,生成的代码仍将需要运行时库。
山行AI
2020/08/18
4.4K0
antlr4入门篇
Antlr4的相关用法
ANTLR (ANother Tool for Language Recognition) 是一个强大的解析器的生成器,可以用来读取、处理、执行或翻译结构化文本或二进制文件。他被广泛用来构建语言,工具和框架。ANTLR可以从语法上来生成一个可以构建和遍历解析树的解析器。
东风压倒西风
2022/11/23
6940
PHP通过设置系统环境变量来区分测试环境和正式环境【php】
3.如果公司有测试服务器和正式服务器两台,通过环境变量的方式来区分测试环境和正式环境是一个不错的办法
sinnoo
2020/11/13
1.5K0
手写一个简化版的 Spring Cloud!
你好,我是 Guide!这里是 JavaGuide 的「优质开源项目推荐」第 9 期,每一期我都会精选 5 个高质量的 Java 开源项目。
Guide哥
2022/11/07
4660
手写一个简化版的 Spring Cloud!
Java基础语法(二)jdk的安装和Java环境配置
其实如果使用全家桶系列的ide的话,这个环境配置是没有必要的,但是嘛,虽然没有必要,但还是要学的
全栈程序员站长
2021/04/23
4830
打破国外垄断,开发中国人自己的编程语言(1):编写解析表达式的计算器
本文是《打破国外垄断,开发中国人自己的编程语言》系列文章的第1篇。本系列文章的主要目的是教大家学会如何从零开始设计一种编程语言(marvel语言),并使用marvel语言开发一些真实的项目,如移动App、Web应用等。marvel语言可以通过下面3种方式运行:
蒙娜丽宁
2020/07/30
2.4K1
打破国外垄断,开发中国人自己的编程语言(1):编写解析表达式的计算器
Rust 使用 dotenv 来设置环境变量
在项目中,我们通常需要设置一些环境变量,用来保存一些凭证或其它数据,这时我们可以使用 dotenv 这个 crate。
solenovex
2022/03/10
3.3K0
Rust 使用 dotenv 来设置环境变量
Java 本地环境设置 原
如果你希望在你的本地环境中设置 Java 程序环境,下面的这部分将会指导你在你的本地计算机上下载和设置 Java 环境。你可以按照下面的步骤进行。
HoneyMoose
2019/01/30
8850
【深入浅出C#】章节 1:C#入门介绍:C#开发环境的设置和配置
当配置C#开发环境时,安装.NET Core是一个重要的步骤。以下是安装.NET Core的基本过程:
喵叔
2023/06/10
4.5K0
【深入浅出C#】章节 1:C#入门介绍:C#开发环境的设置和配置
批处理基本语法教程(4)实例讲解
我们可以看到,程序要求你输入你选择的结果,如果你输入的序号是1,那么打开百度官网,如果你输入的结果为2,那么打开360官网,如果你输入的结果不是1也不是2,那么从头执行并清屏
Chuanrui 初见之旅
2022/11/14
2090
批处理基本语法教程(4)实例讲解
Chapi —— 一个通用语言元信息转换器
来,一起用高效(hard way)的方式学习多种编程语言,Kotlin + Scala、Python、Go、Java、TypeScript、C#……
Phodal
2020/02/25
6880
Chapi —— 一个通用语言元信息转换器
设置java环境变量path_配置java环境变量path怎么设置[通俗易懂]
只需要在path中增加%JAVA_HOME%\bin; 即可。完整的JDK安装及环境变量配置如下:
全栈程序员站长
2022/06/24
2.5K0
使用 Roslyn 编译器服务
.NET Core和 .NET 4.6中 的C# 6/7 中的编译器Roslyn 一个重要的特性就是"Compiler as a Service",简单的讲,就是就是将编译器开放为一种可在代码中调用的服务, 通常在工作流引擎 或是规则引擎中都需要一项功能是计算表达式, 在没有Roslyn 之前我通常借助于Antlr [Antlr(“又一个语言识别工具”的缩写)是一个最初用Java编写的库,可以根据特殊的语法(文法)来构建复杂的解析器代码。它就像是一个用于语言解析的加强版的正则表达式。你可以编写某种语言的语法
张善友
2018/01/19
1.3K0
使用 Roslyn 编译器服务
Java 8 环境变量设置
现在下载的Java8,安装之后只有 java目录下只有一个jre文件夹了。 安装AndroidStudio 3.0.1之后,也一样 这样我们怎么配置java环境呢 ? 之前的配置大概是这样 CLASSPATH .;%JAVA_HOME%lib;%JAVA_HOME%lib\tools.jar; JAVA_HOME C:\Program Files\Java\jdk1.7.0_79 Path ;C:\Program Files\Java\jdk1.7.0_79\bin;C:\Prog
103style
2022/12/19
1.2K0
Java 8 环境变量设置
用antlr解析odata filter条件表达式
我最早接触antlr,是在刚开始工作后不久,那次需要用antlr实现一个功能:把gemfire的OQL(object query language)翻译成SQL语句,以便进行数据库操作。其实,简单讲,antlr就是一个非常方便的词法分析和语法分析的类库,基于这个类库,可以很容易的实现很多场景,比如计算器算术表达式的解析、各种编程语言的解析等。
Bruce Li
2020/03/18
3.1K1
Python和Java的语法对比,语法简
Python是一种广泛使用的解释型、高级编程、通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年。可以视之为一种改良(加入一些其他编程语言的优点,如面向对象)的LISP。Python的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词)。相比于C++或Java,Python让开发者能够用更少的代码表达想法。不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。
py3study
2020/01/16
1.7K0

相似问题

用于ANTLR4和C#目标的Java语法

11

在java中使用antlr4 C#语法

16

Antlr 4 C#语法文件

14

gradle构建如何同时处理antlr3和antlr4语法?

11

如何使用antlr4 plsql语法(java和org.antlr.v4.gui.TestRig)

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档