![](https://img-blog.csdnimg.cn/20191230150409555.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
从0开始学习计算机之编译原理
从底层开始捋一遍计算机各门内容
Top of the Galaxy
这个作者很懒,什么都没留下…
展开
-
编译原理——词法分析器的设计
两种设计方案以及各自优缺点我们先学手工构造词法分析器手工构造关系运算符的手工构造:上面这个图其实我有点疑惑,下面说一下,我自己的理解C语言中的关系运算符,有<、 <=、 > 、>= 、!= 、== 、=等我们可以看到关系运算符最多有两个字符,所以我们至少要读两个字符。①第一次读的是“<”号,那我们再读第二个运算符,如果第二 个读到的是=号,那...原创 2019-12-30 20:41:21 · 1225 阅读 · 0 评论 -
编译原理——词法分析器的任务
词法分析器的任务任务主要是负责字符流到记号流的转换字符流: 其实就是我们要编译的语言,比如我们要编译C语言,它的代码比如:for(int i=0;i<5;i++) 这段代码对于编译器来说就是一串串的字符。所以字符流也根据不同的高级语言(c,c++)而变化记号流: 经过词法分析器分析后生成的一串记号(也可以称为单词)的集合,这个记号是在编译器内事先定义好的数据结构,负责编码字符流。举例...原创 2019-12-30 19:35:36 · 3547 阅读 · 0 评论 -
编译原理——编译器结构
综述编译器是具有高度模块化的一种结构,说白了就是编译的任务被划分为一个个小的子任务,交付给不同的小模块来执行。这些小模块的串行(顺序)执行,对应的就是小任务的串行实现,最终就实现了编译这个总任务。所以说编译器也可以看成由多个阶段构成的流水线结构如图所示,一种简单的"流水线“式的编译器结构一种简单的编译器实现被我们编译的源语言: 加法表达式sum,他的语言只有两种形式①直接就是整型数,比...原创 2019-12-30 17:07:20 · 1555 阅读 · 2 评论 -
编译原理——简单导论(编译器与解释器)
编译器它是一种系统程序,负责将高级语言程序翻译成机器语言程序,也就是由二进制表示的程序。编译过程:例如c语言源文件程序,以.c为扩展名,他的编译过程一般有hello.c(文本文件)——>预处理——>生成hello.i(文本文件)——>编译程序来编译——>生成hello.s(此时是汇编语言文件,也是文本文件,其内容是助记符)——>汇编程序来汇编——>生成hel...原创 2019-12-30 15:52:42 · 470 阅读 · 2 评论