编译原理(哈工大)绪论
编译原理(哈工大)
- 一、编译系统的结构
- 1、编译的本质:翻译的过程
- 2、编译流程:源程序---预处理器---编译器----汇编器----链接器/加载器---目标机器码
- 3、字符流--词法分析--语法分析--语义分析
- 4、编译器的结构
- 词法分析器
- 利用token形式,对不同单词类型进行分析,有关键字、标识符、常量、运算符、界限符
- 语法分析器(parsing)
- 语法分析器从词法分析器输出的token序列中识别各类短语,并构造语法分析树。
- 语义分析器
- 一是收集标识符的属性信息
- 二是语义检查
- 中间代码生成及编译器后端概述
- 中间代码表示形式
- 中间代码生成的例子
- 目标代码生成
- 代码优化
一、编译系统的结构
1、编译的本质:翻译的过程
2、编译流程:源程序—预处理器—编译器----汇编器----链接器/加载器—目标机器码
3、字符流–词法分析–语法分析–语义分析
(1)词法分析(Lexical Analysis)英[ˈleksɪkl əˈnæləsɪs]
(2)语法分析(Syntax Analysis)英 [ˈsɪntæks]
(3)语义分析(Semantic Analysis)英 [sɪˈmæntɪk]
4、编译器的结构
词法分析器
利用token形式,对不同单词类型进行分析,有关键字、标识符、常量、运算符、界限符
IDN(标识符)
关键词、运算符、界限符都是一词一码,所以属性值都为空。
词法分析器如何将源码指令分析为token序列,第三章详细讲解。
语法分析器(parsing)
语法分析器从词法分析器输出的token序列中识别各类短语,并构造语法分析树。
语义分析器
一是收集标识符的属性信息
二是语义检查
变量是否声明?是否重复声明?
类型不匹配?操作符与操作数之间不匹配?
函数返回类型有误?
中间代码生成及编译器后端概述
中间代码表示形式
中间代码生成的例子
j:jump
100:(j < a,b,102)
第100行执行指令:当a小于b时,跳向102行
目标代码生成
代码优化
编译原理(哈工大)绪论相关推荐
- java pl0 四元式,【编译原理】c++实现自下而上语法分析及中间代码(四元式)生成...
写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...
- 【最新合集】编译原理习题(含答案)_1 绪论_MOOC慕课 哈工大陈鄞
[最新合集]MOOC哈工大陈鄞 编译原理答案全集-->传送门 1 编译是对(). A. 机器语言的执行 B. 汇编语言的翻译 C. 高级语言的翻译 D. 高级语言程序的解释执行 2 用高级语言编 ...
- 【最新合集】编译原理习题(含答案)_答案全集_MOOC慕课 哈工大陈鄞
[最新合集]编译原理习题(含答案)_1 绪论_MOOC慕课 哈工大陈鄞 [最新合集]编译原理习题(含答案)_2程序设计语言及其文法_MOOC慕课 哈工大陈鄞 [最新合集]编译原理习题(含答案)_3词法 ...
- 【最新合集】编译原理习题(含答案)_15运行存储分配_MOOC慕课 哈工大陈鄞
[最新合集]MOOC哈工大陈鄞 编译原理答案全集-->传送门 运行存储分配 1 在目标代码生成阶段,符号表用于(). A. 目标代码生成 B. 语义检查 C. 语法检查 D. 地址分配 ...
- 【最新合集】编译原理习题(含答案)_11-14中间代码生成_MOOC慕课 哈工大陈鄞
[最新合集]MOOC哈工大陈鄞 编译原理答案全集-->传送门 中间代码生成_1 1 中间代码生成时所依据的是( ). A. 语法规则 B. 词法规则 C. 语义规则 D. 等价变换规则 ...
- 【最新合集】编译原理习题(含答案)_8-10语法制导翻译_MOOC慕课 哈工大陈鄞
[最新合集]MOOC哈工大陈鄞 编译原理答案全集-->传送门 1 文法G[S]及其语法制导翻译定义如下: 产生式 语义动作 S' → S print( S.num) S → ( L) S.num ...
- 【最新合集】编译原理习题(含答案)_4-7语法分析_MOOC慕课 哈工大陈鄞
[最新合集]MOOC哈工大陈鄞 编译原理答案全集-->传送门 1 如果文法G是无二义的,则它的任何句子α( ). A. 最左推导和最右推导对应的语法树必定相同 B. 最左推导和最右推导对应的语法 ...
- 【最新合集】编译原理习题(含答案)_2程序设计语言及其文法_MOOC慕课 哈工大陈鄞
[最新合集]MOOC哈工大陈鄞 编译原理答案全集-->传送门 1 文法:G:S→xSx | y所识别的语言是( ). 2 给定文法A→bA|ca,为该文法句子的是( ). A. bba B. c ...
- 【最新合集】编译原理习题(含答案)_20代码生成_MOOC慕课 哈工大 陈鄞
[最新合集]MOOC哈工大陈鄞 编译原理答案全集-->传送门 代码生成 1 在目标代码生成阶段,符号表用于( ). A. 目标代码生成 B. 语义检查 C. 语法检查 D. 地址分配 2 经编译 ...
最新文章
- 机器学习基础---架构设计
- [心情]说说作为新手的困惑
- redis中的string
- input的readonly属性与TextBox的ReadOnly和Enabled属性区别
- 使用REVERSE INDEX改善大规模数据插入【IMPROVE INSERT STATEMENT USING REVERSE INDEX】
- MongoDB非关系型数据库开发手册
- Hadoop配置项整理(hdfs-site.xml)
- (转)RabbitMQ学习之安装
- 永磁同步电机转子磁链_采用冻结磁导率的瞬态场永磁同步电机交直轴电感计算...
- Android 内存数据库
- C++ static_cast和dynamic_cast
- 同样是编译jogl,不同平台的编译速度相差几十倍?
- java集合试题_Java练习题 - 集合
- css3实现奔跑的小人动画
- MIPS shellcode
- SpringBoot 前后端分离 实现验证码操作
- 推荐一款很好用的调试JS的Eclipse插件
- 安超云与PingCAP完成兼容互认证 携手打造协同生态
- spring boot+iview 前后端分离架构之文件上传的实现(三十一)
- 杰理之关于 SPI 主机配置参数的几个说明:【篇】
热门文章
- 钱多多第二阶段冲刺03
- R语言怎么写积分_手记(4):定积分
- SEO快排的行业秘密,原来SEO快排套路这么深
- OpenSSL SAN 证书
- 冬天来了,春天还远吗
- AttributeError: module ‘tensorflow_core.compat.v1‘ has no attribute ‘contrib‘
- 压在心底慢慢体会__珍藏的句子
- cocos 切换精灵图片
- LeetCode 力扣每日一题 488.祖玛游戏
- 第二章 2.1 机器视觉——图像《2022年斯坦福AI指数报告》中文全解读