ANTLR 相关术语
下面介绍很多重要的与语言识别相关的术语。
语言(Language)
A language is a set of
valid sentences
一门语言是一个有效语句的集合。Sentences are composed of
phrases, which are composed of subphrases, and so on
语句由词组组成,词组由子词组组成,子词组又由更小的子词组组成,依此类推。
语法(Grammar)
A grammar formally defines the
syntax rulesof a language
语法定义了语言的语义规则。Each rule in a grammar expresses the
structureof a subphrase
语法中的每条规则定义了一种词组结构。
语义树或语法分析树(Syntax tree/parse tree)
This represents the structure of the sentence where each subtree root gives an abstract name to the elements beneath it.
代表了语句的结构,其中每个子树的根节点都使用一个抽象的名字给其包含的元素命名。The
subtree rootscorrespond togrammar rulenames.
子树的根节点对应了语法规则的名字。The
leavesof the tree are symbols ortokenss of the sentence.
树的叶子节点是语句中的符号或者词汇。
词法符号(Token)
A token is a
vocabulary symbolin a language;
词法符号就是一门语言的基本词汇符号these can represent a category of symbols such as "identifier" or can represent s single operator or keyword.
它们可以代表像是“标识符”这样的一类符号,也可以代表一个单一的运算符,或者代表一个关键字。
词法分析器或者分词器(Lexer or tokenizer)
This breaks up an
input character streamintotokens;
分词器将输入的字符序列分解成一系列词汇。A lexer performs lexical analysis.
词法分析器执行词法分析。
语法分析器(Parser)
A parser checks sentences for membership in a specific language by checking the sentence's structure against the rules of a grammar.
语法分析器通过检查语句的结构是否符合语法规则的定义来验证该语句在特定语言中是否合法。ANTLR generates top-down parsers called
ALL(*)that canuse all remaining input symbols to make decisions.
ANTLR能够生成被称为ALL(*)的自顶向下的语法分析器,ALL(*)是指它可以利用剩余的所有输入文本来进行决策。Top-down parser are
goal-orientedand start matching at the rule associated with the coarsest, such as program or inputFile.
自顶向下的语法分析器以结果为导向,首先匹配最粗粒度的规则,这样的规则通常命名为program或者inputFile。
递归下降的语法分析器(Recursive-descent parser)
- This is a specific kind of top-down parser implemented with
a functionforeach rulein the grammar.
这是自顶向下的语法分析器的一种实现,每条规则都对应语法分析器中的一个函数。
前向预测(Lookahead)
- Parsers use lookahead to
make decisionsby comparing the symbols that begin each alternatives.
语法分析器使用前向预测来进行决策,具体方法是将输入的符号与每个备选分支的起始符号进行比较。
ANTLR 相关术语的更多相关文章
- NUI相关术语
分享一下微软资深企业架构师.应用开发专家余涛先生书中所谈到的相关术语,以便查阅,部分术语根据个人理解加入了细化内容: 1.波束形成算法(BeamformingAlgorithm) 基于现行阵列的阵列信 ...
- 3.数据库操作相关术语,Oracle认证,insert into,批量插入,update tablename set,delete和truncate的差别,sql文件导入
1相关术语 语句 含义 操作 DML语句 (Data Manipulation Language) 数据库操作语言 insert update delete select DDL语言 (Date ...
- 前端入门7-JavaScript语法之相关术语
声明 本系列文章内容全部梳理自以下几个来源: <JavaScript权威指南> MDN web docs Github:smyhvae/web Github:goddyZhao/Trans ...
- Spring的AOP开发的相关术语
转载自 https://www.cnblogs.com/ltfxy/p/9873618.html SpringAOP简介: AOP思想最早是由AOP联盟组织提出的.Spring使用这种思想最好的框架. ...
- IdentityServer4 中文文档 -2- (简介)相关术语
IdentityServer4 中文文档 -2- (简介)相关术语 原文:http://docs.identityserver.io/en/release/intro/terminology.html ...
- Spring框架学习05——AOP相关术语详解
1.Spring AOP 的基本概述 AOP(Aspect Oriented Programing)面向切面编程,AOP采取横向抽取机制,取代了传统纵向继承体系重复性代码(性能监视.事务管理.安全检查 ...
- Spring AOP相关术语
---------------------siwuxie095 Spring AOP 相关术语 (1)Joinpoint ...
- Java 并发,相关术语
Java 并发,相关术语: 术语 作用 synchronize 可修饰方法.代码块.类:介绍:https://www.cnblogs.com/zyxiaohuihui/p/9096882.html L ...
- 【AOP】操作相关术语---【Spring】的【AOP】操作(基于aspectj的xml方式)
[AOP]操作相关术语 Joinpoint(连接点):类里面哪些方法可以被增强,这些方法称为连接点. Pointcut(切入点):在类里面可以有很多的方法被增强,比如实际操作中,只是增强了类里面add ...
随机推荐
- 基于EPPlus和NPOI实现的Excel导入导出
基于EPPlus和NPOI实现的Excel导入导出 CollapseNav.Net.Tool.Excel(NuGet地址) 太长不看 导入 excel 文件流将会转为 ExcelTestDto 类型的 ...
- Linux可执行文件格式-ELF结构详解
表1. ELF文件类型分类 ELF文件类型 说明 实例 Relocatable File 可重定位文件 未链接之前的ELF文件,可用于链接可执行文件或静态链接库 Linux下的".o&quo ...
- PAT A1020——已知后序中序遍历求层序遍历
1020 Tree Traversals Suppose that all the keys in a binary tree are distinct positive integers. Give ...
- [bzoj1385]Division expression
容易发现a2一定是分母,且容易做到其余都是分子,因此相当于判定a2能否整除a1*a3*--*an,不断让a2除以其与其他数的gcd即可(注意特判n=1) 1 #include<bits/stdc ...
- flutter第一课
网上搜到有一个8小时体验flutter的教程,感觉可以尝试一个hello world出来:https://www.jianshu.com/p/9aaabc60d8af 官网下载很慢,可以使用镜像下载, ...
- 面向对象编程之Python学习一
在实际的程序设计中,使用Java面向对象编程方法编写算法能够很清楚的理解其来龙去脉. 习惯了面向对象思维,学习Python也自然使用这种思维. 目前,由于Python很多软件包能够容易的获取和利用,人 ...
- 『MdOI R1』Treequery
我们可以思考怎么做呢. 首先我们需要进行一些分类讨论: 我们先思考一下如果所有关键点都在 \(p\) 的子树内, 那显然是所有关键点的 \(Lca\) 到 \(p\) 距离. 如果所有关键点一些在 \ ...
- HDU 6755 - Fibonacci Sum(二项式定理+推式子)
题面传送门 其实是一道还好的题罢,虽然做了我 2147483647(bushi,其实是 1.5h),估计也只是因为 HDU 不支持数据下载所以错误总 debug 出来 首先看到 \(10^9+9\) ...
- DP 做题记录 II.
里面会有一些数据结构优化 DP 的题目(如 XI.),以及普通 DP. *I. P3643 [APIO2016]划艇 题意简述:给出序列 \(a_i,b_i\),求出有多少序列 \(c_i\) 满足 ...
- Linux服务器查看个人硬盘配额
quota -uvs