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 ...
随机推荐
- 高德地图API中折线polyline不能跨越180度经度线的解决方案
1.问题 最近在使用高德地图的API,有一个需求是画出对象的历史轨迹,采用了高德地图API中的折线polyline函数.但如果需要跨180度经度线的折线,会出现不能跨越的情况,如下图所示: 图中有三个 ...
- FastAPI 学习之路(六十一)使用mysql数据库替换sqlite数据库
我们首先需要安装对应的连接的依赖 pip install pymysql 然后在配置testDatabase.py from sqlalchemy import create_engine from ...
- Hadoop集群 增加节点/增加磁盘
在虚拟机中新建一个机器. 设置静态IP 将修改/etc/hosts 192.168.102.10 master 192.168.102.11 slave-1 192.168.102.12 slave- ...
- [hdu6600]Just Skip The Problem
1.直接令x=0,为了判断这一信息,对于所有含有多个1的yi,必然是无用的,答案至少为n且不能含有多位1的y2.令yi=2^(i-1),由此发现一定可以得到x每一位的答案,即答案最多为n.因此,发现方 ...
- 通过 for 循环,比较 Python 与 Ruby 编程思想的差别
作者:Doug Turnbull 译者:豌豆花下猫@Python猫 原文:https://softwaredoug.com/blog/2021/11/12/ruby-vs-python-for-loo ...
- spring中使用@value注入static静态变量
@Value("${meeting.private_key}")public static String PRIVATE_KEY;发现没有数据,null 分析 Spring是不能直 ...
- springboot默认Thymeleaf模板引擎js的解决方案
<script th:inline="javascript"> var btnexam=[[${btnexam}]]; console.log(btnexam); va ...
- 【POJ1845】Sumdiv【算数基本定理 + 逆元】
描述 Consider two natural numbers A and B. Let S be the sum of all natural divisors of A^B. Determine ...
- 快速沃尔什变换&快速莫比乌斯变换小记
u1s1 距离省选只剩 5 days 了,现在学新算法真的合适吗(( 位运算卷积 众所周知,对于最普通的卷积 \(c_i=\sum\limits_{j+k=i}a_jb_k\),\(a_jb_k\) ...
- 题解 P5320 - [BJOI2019]勘破神机(推式子+第一类斯特林数)
洛谷题面传送门 神仙题(为什么就没能自己想出来呢/zk/zk) 这是我 AC 的第 \(2\times 10^3\) 道题哦 首先考虑 \(m=2\) 的情况,我们首先可以想到一个非常 trivial ...