下面介绍很多重要的与语言识别相关的术语。

语言(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 rules of a language

    语法定义了语言的语义规则。

  • Each rule in a grammar expresses the structure of 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 roots correspond to grammar rule names.

    子树的根节点对应了语法规则的名字。

  • The leaves of the tree are symbols or tokenss of the sentence.

    树的叶子节点是语句中的符号或者词汇。

词法符号(Token)

  • A token is a vocabulary symbol in 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 stream into tokens;

    分词器将输入的字符序列分解成一系列词汇。

  • 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 can use all remaining input symbols to make decisions.

    ANTLR能够生成被称为ALL(*)的自顶向下的语法分析器,ALL(*)是指它可以利用剩余的所有输入文本来进行决策。

  • Top-down parser are goal-oriented and 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 function for each rule in the grammar.

    这是自顶向下的语法分析器的一种实现,每条规则都对应语法分析器中的一个函数。

前向预测(Lookahead)

  • Parsers use lookahead to make decisions by comparing the symbols that begin each alternatives.

    语法分析器使用前向预测来进行决策,具体方法是将输入的符号与每个备选分支的起始符号进行比较。

ANTLR 相关术语的更多相关文章

  1. NUI相关术语

    分享一下微软资深企业架构师.应用开发专家余涛先生书中所谈到的相关术语,以便查阅,部分术语根据个人理解加入了细化内容: 1.波束形成算法(BeamformingAlgorithm) 基于现行阵列的阵列信 ...

  2. 3.数据库操作相关术语,Oracle认证,insert into,批量插入,update tablename set,delete和truncate的差别,sql文件导入

     1相关术语 语句 含义 操作 DML语句 (Data Manipulation Language) 数据库操作语言 insert update delete select DDL语言 (Date ...

  3. 前端入门7-JavaScript语法之相关术语

    声明 本系列文章内容全部梳理自以下几个来源: <JavaScript权威指南> MDN web docs Github:smyhvae/web Github:goddyZhao/Trans ...

  4. Spring的AOP开发的相关术语

    转载自 https://www.cnblogs.com/ltfxy/p/9873618.html SpringAOP简介: AOP思想最早是由AOP联盟组织提出的.Spring使用这种思想最好的框架. ...

  5. IdentityServer4 中文文档 -2- (简介)相关术语

    IdentityServer4 中文文档 -2- (简介)相关术语 原文:http://docs.identityserver.io/en/release/intro/terminology.html ...

  6. Spring框架学习05——AOP相关术语详解

    1.Spring AOP 的基本概述 AOP(Aspect Oriented Programing)面向切面编程,AOP采取横向抽取机制,取代了传统纵向继承体系重复性代码(性能监视.事务管理.安全检查 ...

  7. Spring AOP相关术语

    ---------------------siwuxie095                                 Spring AOP 相关术语         (1)Joinpoint ...

  8. Java 并发,相关术语

    Java 并发,相关术语: 术语 作用 synchronize 可修饰方法.代码块.类:介绍:https://www.cnblogs.com/zyxiaohuihui/p/9096882.html L ...

  9. 【AOP】操作相关术语---【Spring】的【AOP】操作(基于aspectj的xml方式)

    [AOP]操作相关术语 Joinpoint(连接点):类里面哪些方法可以被增强,这些方法称为连接点. Pointcut(切入点):在类里面可以有很多的方法被增强,比如实际操作中,只是增强了类里面add ...

随机推荐

  1. IDEA下载 使用快捷方式 以及一些小教程

    IDEA下载 使用快捷方式 以及一些小教程 Idea下载 网址:链接: https://pan.baidu.com/s/1xRr3mhM6_VDHqC_w0F1MjQ 提取码: 6ypi 下载,安装方 ...

  2. [atAGC051D]C4

    考虑将两次移动作为一个整体,两次移动的效果分为:$s-u$.$u-s$和原地不动 对于从$s$回到$s$路径,必然有前两种效果使用次数相同,假设都为$i$(枚举),那么原地不动的次数$j=\frac{ ...

  3. springboot启动流程1

    public SpringApplication(ResourceLoader resourceLoader, Class<?>... primarySources) { this.res ...

  4. jenkins cron

    1. Jenkins cron syntax Jenkins Cron 语法遵循Cron实用程序的语法(略有不同)具体来说,每行包含由TAB或SPACE分隔的5个字段(分时日月周): 分钟(Minut ...

  5. c语言printf输出最前端字符不显示

    原因:语法错误,和其它语言语法混用. printf("链表长度 : %d \n",length); printf("length is : %d \n",len ...

  6. 洛谷 P5331 - [SNOI2019]通信(CDQ 分治优化建图+费用流)

    题面传送门 首先熟悉网络流的同学应该能一眼看出此题的建模方法: 将每个点拆成两个点 \(in_i,out_i\),连一条 \(S\to in_i\),容量为 \(1\) 费用为 \(0\) 的边 连一 ...

  7. 平衡树 & LCT

    1. 非旋 Treap(FHQ Treap) 1.1. 算法简介 FHQ Treap 的功能非常强大.它涵盖了 Treap 几乎所有的功能 所以我非常后悔学了 Treap,浪费时间. FHQ 的核心思 ...

  8. 自动添加shell脚本头部信息

    autocmd BufNewFile *.sh exec ":call AddTitleForShell()" function AddTitleForShell() call a ...

  9. 修改Ubuntu中locale转中文为英文

    修改Ubuntu 的命令行为英文版  编辑 /etc/default/locale 文件 原来的配置为: LANG="zh_CN.UTF-8″ LANGUAGE="zh_CN:&q ...

  10. kubernetes部署haproxy、keepalived为kube-apiserver做集群

    也可以用nginx.keepalived做负载均衡,看大家的需求. # yum -y install haproxy keepalived haproxy的配置文件(三台一样): cat > / ...