编译原理入门教程
文章平均质量分 76
本专栏旨在帮助学习编译原理的初学者迅速入门,并且掌握这门计算机的基础课程。本专栏包括对编译原理的宏观阐释以及对各个阶段的详细讲解,主要内容如下:文法和语言、词法分析、语法分析、中间代码的生成等主要内容。
蓝精灵的自由宇宙
爱生活,生活爱你!
展开
-
编译原理学习周入门教程--(1)什么是编译程序?
在软考中些许的接触了编译原理这门课程,只是为了应付考试,就会那点可能考到的东西。这次编译原理老师认真负责的讲解了为期三个月的编译原理,据说是手把手教学,额,可惜我没有怎么去上课,,,自己查找资料自学了一下编译原理。 写在前面的话: 编译原理的内容比较多,本篇大概的陈述编译原理是神马东东,我的后续博客会继续细化。仅仅是入门的东西,也是初学者,理解不到位,请您多多指原创 2013-06-05 10:24:24 · 10682 阅读 · 0 评论 -
编译原理学习周入门教程--(2)编译程序的六个工作流程
上篇我们介绍了什么是编译程序,简单提到了这个“工厂”工作的六个阶段。本篇介绍一下这六个阶段。 “工厂”导航图(翻译工作的过程):原创 2013-06-05 02:31:17 · 11403 阅读 · 4 评论 -
编译原理学习周入门教程--(3)文法和语言
开始教程: 语言和文法?语言我们知道,计算机语言,人类的语言,动物的语言,不同国家的语言,不同种族的语言等等。那神马是文法呢?所谓文法,文,文字,法,规则,法则,法律。组合起来就是,文字的规则。每种语言都有自己的文法,不同的语言有不同的文法。例如我们的中文的文法,用一种规则来定义句子的组成,还拿“我是中国人”为例。 我们的个中文句子构造规则:<主语><谓语><宾语><补语><状语>。 而英语的句子构造:S十V主谓结构 S十V十F主系表结构 S十V十O主谓宾结构 S原创 2013-06-05 02:41:13 · 14617 阅读 · 4 评论 -
编译原理学习周入门教程--(4)文法类型
上篇讲述了文法和语言的概念,什么是文法?相信大家都有所了解了。 本篇讲述文法的类型,某些类型的文法及其产生的语言得到了细致的研究并被伟大的乔姆斯基单独命名。乔姆斯基先生能众多规则中进行进一步归纳,对产生式施加不同的限制。而我们只能学习人家乔姆斯基先生研究好的东东,学习这种思考问题的方式。 四种文法之间的关系是将产生式作进一步的限制而定义的:原创 2013-06-05 10:45:06 · 7005 阅读 · 2 评论 -
编译原理学习周入门教程--(5)上下文无关文法,及其语法树
首先我们回顾一下上篇的内容,上篇讲述了四种类型的文法,0型1型2型3型,他们要求的规则越来越严格。 开始教程: 本篇着重讲解上下文无关文法及其语法树,因为对于计算机程序来讲,上下文无关文法表达能力足够强,来表达大多数程序语言的语法。 描述一种上下文无关的推导工具:句型的推导和语法树(推导树)原创 2013-06-05 10:49:54 · 19909 阅读 · 0 评论 -
编译原理学习周入门教程--(6)句型的分析
上篇讲述了上下文无关文法的推导以及句子的语法树。 本篇继续对句型分析。开始教程: 对于句子而言,语法树是句子的几何表示形式,把句型形象直观的表示出来了,语法树是句型分析结构分析很好的工具。本篇所说的句型分析是,给定一个符号串,是否为某文法的句型,也就是给定一串字符串,视图按照某文法的规则为该符号构造推导或推导树,以此识别他是否是该文法的一个句型,当原创 2013-06-06 07:29:21 · 8425 阅读 · 2 评论 -
编译原理学习周入门教程--(7)编译程序第一个工作阶段-词法分析(正规式)
上篇讲述了句型的两种类型--自上而下和自下而上,本篇进入编译程序的第一个工作阶段--词法分析。 我们在第二篇中讲述了关于词法分析的简单介绍,词法分析工作可以独立的一遍,把字符流的源程序变成单词序列,输出在一个中间文件上,这个文件作为下一个工作阶段-词法分析程序的输入而继续编译的过程。 一般情况下降词法程序设计成一个子程序,每当语法分析程序需原创 2013-06-07 22:37:08 · 5914 阅读 · 2 评论 -
编译原理学习周入门教程--(8)编译程序第一个工作阶段-词法分析(有穷自动机)
上篇我们介绍了词法分析阶段单词的识别工具--正规式。本篇介绍正规式的识别装置--有穷自动机。 之所以称为有穷自动机?我想这和人们把把不同的设计模式起了名字一样,和同样是java代码被称为Servlet一样。人们把抽象的东西起了一个客观的名字。 有穷自动机: 能准确的识别正规集,能识别正规文法所定义的语言和正原创 2013-06-07 22:37:53 · 6476 阅读 · 7 评论 -
编译原理学习周入门教程--(9)编译程序第一个工作阶段-词法分析(NFA和DFA转换) .
上篇讲述确定有穷自动机和不确定有穷自动机,本篇讲述不确定有穷自动机和确定有穷自动机之间的转换。从百度文库中找到一个示例感觉很合适。如图所示: 1.具有ε动作的NFA状态转换表原创 2013-06-09 09:15:28 · 11462 阅读 · 11 评论