编译原理
许夜3
这个作者很懒,什么都没留下…
展开
-
编译原理入门(一)——什么是编译?
编译原理是一门很难的学科,本博客仅仅是入门,有错误内容欢迎指出,共同探讨,本文是以哈工大陈鄞老师的视频为背景进行的博客总结。 进入主题:什么是编译? 大家都知道,计算机分为机器语言、汇编语言、高级语言,机器语言也就是机器能够直接理解的语言,基本都是二进制或者十六进制来表达的,机器语言很难理解,所以就产生的汇编语言,汇编语言加入了助记符,但是它的效率还是很低,而且也...原创 2018-10-05 09:55:36 · 3461 阅读 · 0 评论 -
编译原理入门(二)——编译系统的结构
上一篇说了关于编译的基本概念,这篇博文我们来说说编译系统的结构。 编译系统的结构 在下图中,高级语言是输入,而汇编语言或者机器语言是输出,编译器的作用便是做一个中间转换的过程,我们来看看编译器是怎么把源语言翻译成机器语言的, 此部分我们需要借助生活中常见的英汉互译来帮助我们更好的理解编译器的整个结构和编译过程。 如...原创 2018-10-05 10:19:19 · 7935 阅读 · 0 评论 -
编译原理入门(三)——词法分析简介
上一篇博文介绍了编译器翻译的过程,本篇博文对翻译过程的第一步词法分析进行讲解。 词法分析 词法分析的主要任务:1.对源程序的代码进行从左到右的逐行扫描,识别出各个单词,从而确定单词的类型。 2.将识别出的单词转换为统一的机内表示——词法单元(token)形式,token:<种别码,...原创 2018-10-05 10:45:24 · 7384 阅读 · 1 评论 -
编译原理入门(四)——语法分析简介
编译器编译的第二步便是语法分析,废话不多说,继续看。 语法分析: 语法分析的主要任务是:从词法分析器输出的token序列中识别出各类短语,并构造语法分析树。 我们先来看一个简单的赋值语句的分析树。 通过词法分析得到一个token数,其中id表示标识符(与上篇中标识符的值不一样,这点并不重要,只是一个标记)。从下图中,可以看出,表达式都是从最底...原创 2018-10-05 11:06:56 · 4565 阅读 · 0 评论 -
编译原理入门(五)——语义分析简介
前面的两篇博文介绍了词法分析、语法分析,本篇博文将介绍语义分析。 语义分析 语义分析是编译的第三步,它的主要任务是:1.收集标识符的属性信息信息,如收集种属信息(简单变量、复合变量(数组等)、过程),类型信息,存储位置,长度,值,作用域,参数,返回值等。在语义分析阶段收集的这些信息将会存放在符号表的数据结构中。 符号表的每一条记录对应一个标识符,符号表的每一...原创 2018-10-05 11:24:59 · 6256 阅读 · 1 评论