1.antlr4helloworld基础开发与idea插件使用(代码片段)

王小雷-多面手 王小雷-多面手     2023-04-02     481

关键词:

1.ANTLR4 hello world基础开发与IDEA插件使用

下一篇:2.antlr4开发

获取源码

无需antlr4任何安装,基于IDEA创建一个Java项目,开发antlr的helloworld,使用antlr插件测试规则。

输入hello后,才算匹配,然后显示world内容。

1.基于gradle或者maven创建一个Java工程

gradle内容如下

plugins 
    id 'java'


group 'wang.xiaolei'
version '1.0'

sourceCompatibility = 1.8

repositories 
    mavenCentral()


dependencies 
    compile group: 'org.antlr', name: 'antlr4-runtime', version: '4.7.2'

    testCompile group: 'junit', name: 'junit', version: '4.12'

2.IDEA安装插件

preferences -> plugins -> 选择 ANTLR v4 grammars plugin

3.antlr编程 这里是做了一个helloworld

3.1 创建一个Hello.g4文件

3.2 并增加如下内容,其中grammar后的Hello要与文件名Hello.g4相同。

该程序,是做了一个匹配hello关键字,并展示之后的字符。

grammar Hello;
r : 'hello' ID; // match keyword hello followed by an identifier
ID : [a-z]+; // match lower-case identifiers
WS : [\\t\\r\\n]+ -> skip; // skip spaces, tabs, newlines

4.使用插件测试antlr程序

选中r行 -> 右键 -> Test rule r

5.生成可调用的Java文件

5.1 设置,支持visitor生成
点击hello.g4 -> 右键 -> Configure ANTLR

5.2 自动生成Java文件
点击hello.g4 -> 右键 -> Generale ANTLR Recognizer

antlr的helloworld开发完成。

下一篇:2.antlr4开发

获取源码

2.antlr4开发(代码片段)

2.antlr4开发上一篇:1.ANTLR4helloworld基础开发与IDEA插件使用获取源码antlr4.7.21.通过MyHelloVisitor实现HelloVisitorpackagewang.xiaolei.lei;importorg.antlr.v4.runtime.tree.ErrorNode;importorg.antlr.v4.runtime.tree.Pars 查看详情

2.antlr4开发(代码片段)

2.antlr4开发上一篇:1.ANTLR4helloworld基础开发与IDEA插件使用获取源码antlr4.7.21.通过MyHelloVisitor实现HelloVisitorpackagewang.xiaolei.lei;importorg.antlr.v4.runtime.tree.ErrorNode;importorg.antlr.v4.runtime.tree.ParseTree;importorg.antlr.v4.runtime.tree.RuleNode;importorg... 查看详情

2.antlr4开发(代码片段)

2.antlr4开发上一篇:1.ANTLR4helloworld基础开发与IDEA插件使用获取源码antlr4.7.21.通过MyHelloVisitor实现HelloVisitorpackagewang.xiaolei.lei;importorg.antlr.v4.runtime.tree.ErrorNode;importorg.antlr.v4.runtime.tree.ParseTree;importorg.antlr.v4.runtime.tree.RuleNode;importorg... 查看详情

reactnative学习提纲

...本日期说明作者1.02015-10-21创建文档罗晴明一、React.js入门基础1.基础HTML/CSS与基础开发工具使用html基础doctype、常用标签、标签闭合、自定义属性css基础选择器(id、class)、常用样式、样式覆盖、行内样式、绝对与相对定位、flexb... 查看详情

delmiadpe开发-id与oid介绍

...对某一对象的唯一标识。理解id与baseid的区别,将有助于开发人员实际开发的理解,更好的理解DPE后台在数据处理方面的知识。本文将重点介绍id与baseid的区别和不同获取方式。1.区别(1)id:位置、关系、映射,可查找有关联关... 查看详情

嵌入式linux驱动开发01:基础开发与使用(代码片段)

文章目录目的基础说明驱动测试应用程序基础开发与使用驱动模块入口与出口驱动模块安装与卸载字符设备注册与注销设备开关与读写自动创建与销毁设备节点使用VSCode进行开发总结目的驱动开发是嵌入式Linux中工作比重比较大... 查看详情

通知!本人编著书籍《cocos2d-x游戏开发基础与实战》开始发售(代码片段)

本人的第一本教程书籍《Cocos2d-x游戏开发基础与实战》正式开始发售了,下面是淘宝的购买链接地址:http://item.taobao.com/item.htm?id=40698314534首先还是很感谢游戏蛮牛提供了这次机会,让我有机会将自己的所学所得分... 查看详情

android开发基础之滚动视图scrollviewhorizontalscrollview(代码片段)

ScrollView垂直滚动视图HorizontalScrollView水平滚动视图    基础属性1、layout_width宽度2、layout_height高度3、id设置组件id    1、layout_width2、layout_height    组件宽度和高度有4个可选值,如下图:    3、id//activity_main.xmlandro... 查看详情

python基础有哪些内容呢?

阶段一:Python开发基础Python全栈开发与人工智能之Python开发基础知识学习内容包括:Python基础语法、数据类型、字符编码、文件操作、函数、装饰器、迭代器、内置方法、常用模块等。阶段二:Python高级编程和数据库开发Python全... 查看详情

算法基础与开发流程(代码片段)

...electionimporttrain_test_split‘‘‘算法是核心,数据和计算是基础定位:1、分析数据2、分析业务3、应用常见算法进行对比校验4、特征工程、调参、优化数据类型离散型数据:由记录不同类别个体的 查看详情

html与css网页开发基础

HTML标记语言  HTML文件的创建    整个编译器,或者记事本,文件扩展名改为.htm或者.html  HTML文档结构    <html>标记:开头,所有HTML文件以<html>标记开头,以</html>标记结束。    <head>标记:... 查看详情

开发基础:okhttpclient了解与封装(代码片段)

前言实际工作中,用到了远程接口调用,在网上大致查了下,JavaRest接口调用目前使用基本的apache的HttpClient的较多,但是个人觉得HttpClient使用起来较为繁琐,冗余代码较多(个人观点),所以选择了使用量较多的OkHttpClient的方... 查看详情

3d数学基础:图形与游戏开发

3D数学基础:图形与游戏开发新建 模板 小书匠 看了遍冯乐乐大神的《unity入门精要》发现数学部分早就忘光了。要不我们来学习下数学,折磨下脑细胞?离思五首·其四作者:元稹曾经沧海难为水,除却巫山不是云... 查看详情

web前端开发精品课html与css基础教程(莫振杰著)完整pdf扫描版

Web前端开发精品课:HTML与CSS基础教程结合大量开发实战经验,将前端开发知识系统化整理,浓缩精华,用通俗易懂的语言直指初学者的痛点。 全书分为两部分:首部分是HTML基础知识,帮助读者认识和理解网页的结构;第二... 查看详情

微信小程序开发基础「配置」与「逻辑层」(代码片段)

...信小程序开发的朋友也越来越多,本文将在小程序框架的基础上就微信小程序项目开发所必需的基础知识及语法特点进行了详细总结和阐述,包括配置、函数、语法、事件及其处理、数据绑定、模块、样式等。想开发小程序,这... 查看详情

c#基础之面向对象设计与开发

----注意,以下是转自https://www.cnblogs.com/zhaoshujie/p/9594661.html---感谢! 七大原则,即:单一职责,里氏替换,迪米特法则,依赖倒转,接口隔离,合成/聚合原则,开放-封闭 。1.  开闭原则(Open-ClosedPrinciple,OCP)定义:... 查看详情

springboot构建电商基础秒杀项目总结-交易模块开发(代码片段)

交易模块开发1、创建数据库CREATETABLE`order_info`(`id`varchar(32)CHARACTERSETutf8COLLATEutf8_binNOTNULL,`user_id`int(11)NOTNULLDEFAULT0,`item_id`int(11)NOTNULLDEFAULT0,`item_pri 查看详情

新唐nuc980使用记录:开发环境准备与编译配置基础说明(代码片段)

...uxbuildroot应用程序示例NUC980NuWriterLinuxcommandlinetool编译配置基础说明开发编译工作目录U-BootLinuxKernel总结目的微处理器开发使用前需要先准备相应的开发环境,主要涉及源码获取、交叉编译工具链配置、烧录工具准备等。这篇... 查看详情