Antlr4学习记录(一)

一:ANTLR的介绍

  1. 简介:
    Antlr4是ANother Tool for Language
    Recognition即另一个语言识别工具,官方介绍为Antlr4是一款强大的解析器生成工具,可用来读取、处理、执行和翻译结构化文本或二进制文件。

    Antlr4生成的解析器包含了词法分析程序和语法分析程序(就是编译原理课程中的词法分析和语法分析)。
    词法分析器 (Lexer) :词法分析是指在计算机科学中,将字符序列(输入信息)转换为单词(Token)的过程。执行词法分析的程序便称为词法分析器。词法分析器(Lexer)一般是用来供语法解析器(Parser)调用的。
    1.1:基础概念
    语法分析器:语法解析器 (Parser) 语法解析器通常作为编译器或解释器出现。它的作用是进行语法检查,并构建由输入单词(Token)组成的数据结构(即抽象语法树)。语法解析器通常使用词法分析器(Lexer)从输入字符流中分离出一个个的单词(Token),并将单词(Token)流作为其输入。实际开发中,语法解析器可以手工编写,也可以使用工具自动生成。

    抽象语法树 (Abstract Syntax Tree,AST) 抽象语法树是源代码结构的一种抽象表示,它以树的形状表示语言的语法结构。抽象语法树一般可以用来进行代码语法的检查,代码风格的检查,代码的格式化,代码的高亮,代码的错误提示以及代码的自动补全等等

  2. 工作流程:
    词法分析程序是将输入的代码字符序列转换成标记(Token)序列的程序,而语法分析程序则是将标记序列转换成语法树的程序。好在按照Antlr4规范制定了语法定义,Antlr4就可以为我们生成解析器源码。

  3. :目前应用场景:Hive,Spark,Oracle,Elasticsearch

  4. 同类工具:Javacc,SqlParser

二:安装使用

2.1:关于Antlr4的安装和使用,大家可以参照Github上的Getting Started with ANTLR v4,这里不作介绍。

2.2使用 ANTLR v4,一般分为三步:

1:按照 ANTLR v4 的编写待解析语言的语法定义文件,主流语言的 ANTLR v4 语法定义可以找仓库antlr/grammars-v4中找到,一般以g4为语法定义文件后缀
2:运行 ANTLR 工具,生成指定目标语言的解析器源代码
3:使用生成的解析器完成代码的解析等.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值