![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编译原理
cassiePython
一入代码深似海,从此妹子是路人
展开
-
编译原理:第一节
编译原理:第一节编译程序:把用某一种程序设计语言写的源程序翻译成等价的另一种语言程序(目标程序)的程序,称之为编译程序或翻译程序源程序的执行:一个源程序编写后要投入运行,需要编译程序支持的执行过程分为两个阶段:编译阶段和运行阶段编译程序的总体结构:整个结构可以分为前端(front end )和 后端 (back end原创 2015-09-01 08:48:50 · 1082 阅读 · 0 评论 -
编译原理:第二节
编译原理:第二节这一节主要讲解T型图。一个编译程序可以用三种语言来刻画,即源语言,目标语言和宿主语言(编译的实现语言),用T型图可以方便地对其进行表示。其中,T型图的左上角表示源语言,右上角表示目标语言,底部表示实现语言。如图:例如:对于一个用Z语言实现的,从源语言X到目标语言Y的编译程序,可用下图表示: 此编译程序也可以记做:原创 2015-09-02 17:04:30 · 5917 阅读 · 0 评论 -
编译原理:第三节
形式语言与自动机原理什么是语言?我们知道世界上存在很多种语言:我们可以把他们分为自然语言(人们日常交流的工具)和程序设计语言。自然语言复杂且难以描述,程序设计语言结构规整,便于处理。但两者又有共性,即核心都由语法和语义两部分组成。那什么是语言呢??首先来看一下字母表定义:字母表是元素的非空有穷集合。字母表包含了语言中允许出现的全部符号。例如:英语的字母表包含了英文字母,数字,标点符原创 2015-09-08 21:18:43 · 1035 阅读 · 0 评论 -
编译原理:第四节
形式语言与自动机原理回顾上节内容例:已知文法 G [ S ] 为 S —> aSb | Sb | b , 证明 G [ S ] 为二义性文法 解:存在两棵不同的语法分析树,所以得证 G [ S ] 为二义性文法短语,直接短语和句柄短语:一棵子树的所有叶子自左至右排列起来形成一个相对于子树根的短语。直接短语:仅有父子两代的一棵子树,它的所有叶子自左至右排列起原创 2015-09-10 16:21:38 · 1618 阅读 · 0 评论 -
编译原理:文法类型判断C++实现
文法类型判断C++实现#define _CRT_SECURE_NO_WARNINGS#include #include #include #include #include #include using namespace std;const int STRING_MAX_LENGTH = 10;#ifdef WIN32#pragma warning (disable:原创 2015-09-11 15:21:26 · 4413 阅读 · 0 评论 -
编译原理:第七节 及词法分析器的C++和Python实现
编译原理:词法分析概述:词法分析是完成编译程序的第一个阶段的工作。所谓词法分析就是对输入字符串形式的源程序按顺序进行扫描,识别其中的字符串作为输出。词法分析器的作用就是完成这个阶段。词法分析器的是所有编译器所必须的。例如:这是Python的架构,我们可以看到Scanner,它所做的就是进行词法分析。举个简单的C/C++的例子,来直观的看一下词法分析器的功能:原创 2015-09-28 20:33:19 · 8610 阅读 · 2 评论 -
编译原理:第六节
编译原理:正规式与有限自动机正规式与正规集正规式的作用:表示语言正规集的作用:表示语言的集合正规表达式是一种表示法,可以详细描述高级程序语言单词符号或者说每一个正规表达式r 表示一个语言 L(r).例如可以用正规表达式表示C++语言的标识符,而C++语言的标识符(集合)可以看作一个语言,因此正规表达式r 实质是用来表示一个语言L(r).具体来原创 2015-09-20 20:06:56 · 1161 阅读 · 0 评论 -
编译原理:第八节
语法分析回顾一下语法分析方法:分为两大类: 自顶向下分析 和 自底向上分析 其中前者又细分为 递归下降分析法(包含回溯的递归下降分析法和不含回溯的递归下降分析法)和非递归的预测分析法(LL分析法) 后者分为算符优先分析法和LR分析法。(一)包含回溯的递归下降分析法:思想:从语法的开始符号出发,试探使用不同产生式,寻找匹配于输入符号串的推导。或者说,从对应文法原创 2015-10-25 21:08:23 · 1209 阅读 · 0 评论 -
编译原理:第七节
语法分析语法分析的概念:语法分析是编译程序的核心部分,完成词法分析后就进入该阶段。语法分析的主要任务是:按照语言的词法规则,对单词串形式的源程序进行语法检查,并识别出相应的语法成分采用语法树的形式输出,如果不符合语法要求则给出出错的原因。(词法的产生式中的终结符号是单个符号,而语法的产生式的终结符号是单词符号)语法分析方法:语法分析方法按语法分析途径,即生成原创 2015-10-11 16:01:25 · 936 阅读 · 0 评论