首页 > 其他分享 >初学ANTLR4(一)

初学ANTLR4(一)

时间:2023-04-09 22:48:18浏览次数:48  
标签:文件 g4 ANTLR IDEA 初学 ANTLR4 Hello

初次接触ANTLR,我是根据 《antlr4权威指南》这本书进行了解,并将自己所学,所感总结与此。

0.相关资料

  • 关于官网:ANTLR官网
  • 关于书籍:《ANTLR4权威指南》

1.关于ANTLR4

ANTLR是一款强大的语法分析器生成工具,用于读取,处理,执行和翻译结构化的文本或二进制文件。对于初学者的我,目前还不清楚ANTLR能干什么,但随着学习和了解的加深,我相信我们会慢慢地感受到它的强大。

2.安装ANTLR4

因为ANTLR4是以Java编写的,因此若想使用它,则需要安装Java的运行环境,对于使用Java编程的读者们来说,一般情况下会使用IDE来编程。书中很多例子都是以命令行的形式,但对于我来说,我通常会使用IDEA,本文中,我会以IDEA来举例。

以IEDA中插件的方式

吹一波IntelliJ IDEA,对于Java编程的读者们来说(包括我),是真的好用。

文件->设置->插件 中搜索ANTLR4,安装后重启IDEA即可。至于利用命令行的形式,书中讲得很详细,这里不多赘述。

3.HelloWorld程序

编写一个HelloWorld程序,是一个程序员接触新技术的开始,当然我也是初学者,信仰不可跳过。书中是以命令行的方式,在这里,我想通过IDEA的方式实现。本节的内容,便是构建一个简单的Hello.g4语法文件并进行测试。

在IDEA中,创建一个文件名为Hello.g4的文件。并将书中关于Hello的例子写到这个新建的文件中。


书中的例子如下:

// Define a grammar called Hello
grammar Hello;
r  : 'Hello' ID ;         // 定义一个名为Hello的语法
ID : [a-z]+ ;             // 匹配一个关键字Hello和一个紧随其后的标识符
WS : [ \t\r\n]+ -> skip ; // 忽略空格,Tab,换行符以及 \r(Windows)

完成后的效果如下:

接下来,对着新建的文件点击右键,可以看到下方有两个选项。

Generate ANTLR Recognizer :这个选项的功能就是用过ANTLR工具,运行Hello.g4文件。在书中与输入antlr4 Hello等价。

Configure ANTLR... :这个选项的功能就是对ANTLR工具进行一些相关设置。

我们点击Generate ANTLR Recognizer选项,可以发现生成了一个Gen文件夹,里面多出了许多文件。

对Hello.g4文件运行ANTLR工具命令(就是点击了Generate ANTLR Recognizer选项),我们得到了许多看起来很厉害的文件,目前不知道它们有什么作用,我们会在以后逐渐了解它们。目前我们的程序暂时还跑不起来,不用着急,在构建一个真正的实际的程序之前,我们还需要了解如何调试我们所写的语法:Hello.g4文件。书中有介绍,ANTLR在运行库中提供了一种名为TestRig的调试工具。可以无需构建main程序来测试语法(语法,可以理解为我们所写的.g4文件),但这是基于命令行的方式,很详细,这里不赘述。在IDEA中,我们可以通过以下方式测试:

在Hello.g4中,将鼠标点击到r : 'Hello' ID ; // 定义一个名为Hello的语法这一行,然后按下鼠标右键,在选项中,会出现一个叫做Test Rule r的选项。

完成后的效果如下:

关于测试界面的使用随着以后的深入会渐渐的了解,现在大体上是知道了语法文件(Hello.g4文件)的创建,使用ANTLR工具命令生成文件,以及测试语法的界面,可以开启下一阶段的学习啦。

标签:文件,g4,ANTLR,IDEA,初学,ANTLR4,Hello
From: https://www.cnblogs.com/TianyiLi-Tone/p/17301320.html

相关文章

  • Wolfram Mathematica 大师班:从初学者到专家
    WolframMathematica大师班:从初学者到专家通过实例学习:机器学习、自然科学、统计学、经济、语言学和媒体的巧妙编程课程英文名:WolframMathematicaMasterclassfromBeginnertoExpert此视频教程共8.06GB,中英双语字幕,画质清晰无水印,源码附件全课程地址:https://xueshu.fun/......
  • SAP ABAP 初学者编程 – 在线培训
    SAPABAP初学者编程–在线培训与PeterMoxon一起学习SAPABAP编程。帮助学习以获得认证–终身访问+更新!课程英文名:sap-abap-programming-for-beginners此视频教程共1.22GB,中英双语字幕,画质清晰无水印,源码附件全课程地址:https://xueshu.fun/1468演示地址:https://w......
  • Maya 初学者:Maya 3D 动画完整指南
    Maya初学者:Maya3D动画完整指南了解在AutodeskMaya中制作3D动画所需的一切:建模、纹理、照明、索具、动画、动力学课程英文名:MayaforBeginnersCompleteGuideto3DAnimationinMaya此视频教程共22.5GB,中英双语字幕,画质清晰无水印,源码附件全课程地址:https://xuesh......
  • 初学C++第一天
    C语言简介:  BCPL->NewB->C->UNIX->Minix->Linux->gcc  C语言诞生于1971~1973年,美国贝尔实验室,肯.汤普逊和丹尼斯.里奇  C语言是专门为了编写操作系统而诞生的语言,天生适合对硬件编程,以运行速度快而著称,而且C语言非常适合编写数据结构和算法  因为C语言出现......
  • WebGL初学:使用WebGL绘制一个点
    示例代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>使用WebGL绘制一个点</title></head><body><!--canvas标签创建一个宽高均为500像素,背景为蓝色的矩形画布--><canvasi......
  • PHP初学体会
     近来,闲来无事,把去年买的《PHP开发实战权威指南》通读1遍和精读1遍。总体感觉,不是很难。相比,C/C++/Java要简单许多,可能是因为已经学习过好几门语言了,所以理解起来相对比较轻松。IDE使用的是WampServer,安装之后,把php文件放进去,就可以通过url直接访问了。不需要编译,能立即看到效果......
  • 初学者关于下载安装python第三方库的两种常用方式
    一、利用PyCharm直接下载方式一:PyCharm是一个Python使用者常用的pythonIDE(集成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以......
  • 使用golang+antlr4构建一个自己的语言解析器(完结篇)
    Goland中Antlr4插件在goland中安装Antlr4插件,用于识别输入的字符在在语法文件中生成的语法树的样子,大概就是如下的摸样下载步骤:1.点击文件中的设置选项2.在插件目录......
  • 初学Python,版本如何选择?
     早在四年多以前,在我进入英才网之前,去面试过一家海归创业的公司。他们需要的是有unix开发经验的技术人员,但是因为他们当时所处的阶段对很多成熟技术人员不是很吸引,所......
  • 安装Windows Server 2022 - 初学者系列 - 学习者系列文章
          这天要写一个关于系统部署的系列文章,涉及到WindowsServer2022操作系统的安装,所以就写了此文。Windows系列的操作系统安装,以前的博文中都有介绍,这里再次做一......