
编译原理
LALAAYANG
这个作者很懒,什么都没留下…
展开
-
04 | 语法分析
04 | 语法分析语法分析程序(语法分析器)概述自上而下分析法前述递归下降分析法预测分析法( LL(1)分析法 )自下而上分析法前述算符优先分析法LR分析法LR(0)语法分析程序(语法分析器)概述输入:词法分析器生成的单词符号序列输出:语法树详述:语法分析器的功能是以词法分析器生成的单词符号序列作为输入,根据语言的语法规则(描述程序语言语法结构的上下文无关文法),识别出各种语法成分(如表达式、语句、程序段以及整个程序等),并在分析过程中进行语法检查,检查所给单词符号序列是否是该语言的文法的一个句子原创 2020-11-30 23:15:59 · 2239 阅读 · 0 评论 -
03 | 词法分析程序与有穷自动机
03 | 词法分析程序与有穷自动机词法分析程序概述正规式与正规集正规文法与正规式正规式与有穷自动机词法分析程序概述词法分析: 词法分析的任务是对字符串表示的源程序从左到右地进行扫描和分解,根据语言的词法规则识别出一个一个具有独立意义的单词符号。词法分析器(扫描器): 执行词法分析的程序。输入:字符串形式的源程序输出:单词符号或单词符号表示的源程序。单词符号通常表示成 二元式(单词种别,单词自身的值)。语言的单词符号: 语言中具有独立意义的最小语法单位,即单词符号是程序语言的基本语法单位。原创 2020-11-29 17:00:05 · 1337 阅读 · 0 评论 -
02 | 文法和语言的基本知识
02 | 文法和语言的基本知识字母表和符号串文法与语言语法树相关推导和归约递归规则与文法的递归性文法的二义性文法和语言的分类有关文法的实用限制和变换字母表和符号串1. 字母表:元素的非空有穷集合字母表中至少包含1个元素任何语言的字母表指出了该语言中允许出现的一切符号。2. 符号(字符): 字母表中的元素3. 符号串(字):符号的有穷序列符号的顺序不同即便符号相同符号串也不同空符号串 ε ,注意空符号串组成的集合 {ε} 并不是空集 ∅={ }4. 符号串的连接5. 集合的原创 2020-11-27 21:28:52 · 3450 阅读 · 0 评论 -
Ubuntu 18.04.5 安装 flex + bison | 测试运算
Ubuntu 18.04.5 安装 flex + bison | 测试运算环境与配置安装flex与bison测试运算环境与配置采用 win10 下的Ubuntu 18.04.5,具体版本如下:安装flex与bison首先更新一些包用于安装flex与bison,否则后续很容易出现错误:sudo apt-get update//更新软件包sudo apt-get install flex bison//安装flex bison安装成功后:测试运算最好新建一个文件夹,并在该文件夹下进行程原创 2020-10-19 22:48:39 · 1627 阅读 · 1 评论 -
01 | 编译概述
01 | 编译概述编译程序与翻译程序编译过程编译程序与翻译程序编译程序、解释程序都是翻译程序的一种。翻译程序功能:把一种语言(源语言)所写的源程序翻译成与之等价的另一种语言(目标语言)的目标程序。编译程序功能:把源语言为高级语言的程序翻译成目标语言是汇编或机器语言这样的低级语言所写的程序。解释程序功能:将源程序作为输入并执行,边解释边执行。与编译程序不同之处在于,解释程序在执行过程中不产生目标程序,而是按照源语言的定义解释执行源程序本身。运行高级语言的程序得到机器语言程序需要两个阶段:编译阶段原创 2020-10-14 19:11:16 · 743 阅读 · 1 评论