编译原理
luckyliuqs
久处不厌 心生欢喜
展开
-
编译原理-概述
目录1.程序设计语言的发展1.1 机器语言1.1.1 概念1.1.2 缺点1.2 汇编语言1.2.1 概念1.2.2 汇编程序(汇编器)1.2.3 优缺点1.3 高级语言1.3.1 概念1.3.2 编译程序(编译器)1.3.3 高级语言翻译的两种方式1.3.4 优缺点2.翻译程序2.1 概念2.2 转换程序2.3 解释程序(解释...原创 2019-03-17 11:29:44 · 697 阅读 · 0 评论 -
编译原理-词法分析
目录1.词法分析概述1.1 词法分析原理1.2 词法分析程序1.3 词法分析程序两种实现方式1.3.1 手工构造1.3.2 自动生成1.4 词法分析任务1.5 词法分析的目的1.6 词法分析的工作1.7 两种词法分析调用方式1.7.1 独立执行一遍1.7.2 需要时即调用2.高级语言中的单词2.1 单词的分类2.2 单词的种别码2.3...原创 2019-03-30 14:32:31 · 13003 阅读 · 0 评论 -
编译原理-词法分析器自动生成工具Lex
1.词法分析自动生成器概述 词法分析自动生成器基于正则表达式和有穷自动机理论。正则表达式是一个用数学表达式来描述一个单词集合的构成模式,而有穷自动机从识别的观点来看一个集合中的符号串是否被有穷自动机所识别。2. Lex2.1 Lex概述 Lex是一个基于正则表达式的描述来构造词法分析器的工具。它的输入是用Lex语言编写的源程序。在Lex中,...原创 2019-03-28 23:49:32 · 11634 阅读 · 1 评论 -
编译原理-语法分析
1.语法分析概述 1.1 定义 语法分析就是根据高级语言的语法规则对程序的语法结构进行分析。如下图所示:1.2 任务 语法分析的任务就是在词法分析识别出正确的单词符号串是否符合语言的语法规则,分析并识别各种语法成分,同时进行语法检查和错误处理,为语义分析和代码生成做准备。1.3 地位 语法分析在编译过程...原创 2019-03-29 00:56:33 · 17189 阅读 · 3 评论 -
编译原理-语义分析
1.语义分析概述1.1 定义 语义是指源程序及其组成部分所表述的含义,和语法不同,语法是关于程序及其组成部分的构成规则的描述,是上下文无关的;而语义是关于语法结构的含义及其使用规则的描述,是上下文有关的。语法上正确,其语义不一定正确。 如下面的程序段,在语法结构上是正确的,但是在语义上有很多错误:int x = 0, z;float y(){.....}...原创 2019-04-17 10:02:10 · 8414 阅读 · 0 评论 -
编译原理-中间代码生成
1.概述1.1 定义 源程序的一种内部表示,不依赖目标机的结构,易于机械生成目标代码的中间表示。如果不生成中间代码而是直接生成机器语言或者汇编语言形式的目标代码,优点是编译时间短,缺点是目标代码执行效率和质量都比较低,移植性差。1.2 表示形式 逆波兰式(后缀式)、三地址码(三元式、四元式)、抽象语法树、有向无环图。1.3 地位 如下所示:...原创 2019-04-17 10:43:52 · 9599 阅读 · 0 评论