在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例Clojure → 编译系统透视:图解编译原理.epub

编译系统透视:图解编译原理.epub

Clojure

下载此实例
  • 开发语言:Others
  • 实例大小:87.94M
  • 下载次数:21
  • 浏览次数:193
  • 发布时间:2022-04-07
  • 实例类别:Clojure
  • 发 布 人:aoper
  • 文件格式:.epub
  • 所需积分:2
 相关标签: epub 编译原理 图解 原理 编译

实例介绍

【实例简介】编译系统透视:图解编译原理.epub
【实例截图】

from clipboardfrom clipboardfrom clipboardfrom clipboardfrom clipboard
【核心代码】

目录
前言
第1章 运行时结构及编译过程概述
1.1 一个简单C程序的运行时结构
1.2 更为复杂C程序的运行时结构
1.3 编译过程概述
1.3.1 词法分析
1.3.2 语法分析
1.3.3 从语法树到中间代码再到目标代码
第2章 词法分析
2.1 词法分析概要说明
2.2 词法分析过程
2.3 状态转换图
2.3.1 状态转换图总体介绍
2.3.2 依托状态转换图展现词法分析过程
2.4 GCC实现词法分析的源代码
2.4.1 词法分析源代码总览
2.4.2 结合GCC源代码讲解词法分析过程
2.4.3 标识符、数字、字符和字符串的详细分析过程
第3章 语法分析
3.1 语法分析综述
3.2 语法分析思路
3.3 产生式
3.3.1 什么是产生式
3.3.2 产生式的具体示例
3.4 匹配产生式,消除左递归
3.4.1 用标准产生式做匹配,出现左递归
3.4.2 消除左递归
3.4.3 产生式的工作效率
3.5 提取左公因子,消除回溯
3.5.1 对“直接声明符”的产生式提取左公因子
3.5.2 用提取过左公因子的产生式再去匹配
3.5.3 对其他产生式都提取左公因子
3.5.4 函数声明和定义两部分产生式的合并
3.6 语法分析结果:语法树
3.7 GCC关于语法分析的源代码解析
3.7.1 GCC语法分析函数调用图
3.7.2 全部语句的语法分析
第4章 语法树到目标代码
4.1 总述语法树到中间代码的转化过程
4.2 目标代码到运行时结构的映射
4.3 语法树转高端gimple
4.3.1 语法树到高端gimple的总体步骤及运行时
4.3.2 高端gimple的实际数据结构
4.3.3 语法树转高端gimple的GCC源代码解析
4.4 高端gimple到低端gimple
4.4.1 高端gimple转低端gimple概述
4.4.2 高端gimple转化低端gimple的GCC代码解析
4.5 低端gimple到cfg
4.5.1 低端gimple到cfg的转化概述
4.5.2 低端gimple转cfg的实际过程
4.6 cfg转ssa
4.7 生成RTL
4.7.1 为何要有RTL
4.7.2 转化RTL阶段的主要步骤
4.7.3 确定初始RTL中的运行时信息
4.8 RTL生成目标代码(汇编)
4.8.1 汇编文件介绍
4.8.2 创建汇编文件
4.8.3 输出汇编文件总入口
4.8.4 全局变量写入汇编文件
4.8.5 函数写入汇编文件
第5章 语句拓展案例的编译过程
5.1 总述各个语句拓展案例的编译过程
5.2 if语句的语法分析
5.2.1 多个变量的声明语句语法分析
5.2.2 if语句的语法分析过程
5.2.3 if…else if语句的语法分析过程
5.3 带标号语句的语法分析
5.4 switch...case、goto、break语句的语法分析过程
5.4.1 switch…case语句
5.4.2 goto语句
5.4.3 分析break语句
5.5 do...while、while、for语句的语法分析过程
5.5.1 do…while语句的语法分析
5.5.2 while语句的语法分析过程
5.5.3 for语句的语法分析过程
5.6 各种语句嵌套组合的语法分析过程
5.6.1 两条变量声明语句分析的结果
5.6.2 分析while循环语句
5.6.3 进入if进行分析
5.6.4 进入else进行分析
5.7 所有案例语法树转中间结构的过程
5.7.1 案例1的语法树转高端gimple的总体介绍
5.7.2 案例1的语法树转高端gimple的代码分析
5.7.3 案例1的高端gimple转低端gimple
5.7.4 案例1的低端gimple到cfg
5.7.5 转化RTL阶段的主要步骤
5.7.6 案例2的语法树转高端gimple
5.7.7 案例3的语法树转高端gimple
第6章 数据拓展案例的编译过程
6.1 数据拓展案例的编译过程总述
6.1.1 基础类型数据总述
6.1.2 用户自定义类型数据总述
6.1.3 指针类型数据总述
6.1.4 作用域和生存期总述
6.1.5 表达式总述
6.2 基础类型数据的语法分析过程
6.2.1 非浮点型数据的语法分析
6.2.2 浮点型数据的语法分析
6.3 复合类型数据的语法分析过程
6.3.1 数组的语法分析
6.3.2 枚举类型数据的语法分析
6.3.3 struct类型数据的语法分析
6.3.4 union类型数据的语法分析
6.3.5 自定义数据声明和使用的语法分析
6.4 指针类型数据的语法分析过程
6.4.1 对swap_point函数中指针的语法分析
6.4.2 对指针使用的语法分析
6.5 关于作用域和生存期的语法分析过程
6.5.1 C语言作用域和生存期概述
6.5.2 全局变量data语法分析中作用域相关处理过程
6.5.3 fun函数定义的语法分析中作用域相关处理
6.5.4 main函数定义中局部变量声明data作用域处理过程
6.5.5 main函数内部语句块中变量nCount作用域处理过程
6.5.6 main函数中引用变量data时选择相应声明节点的过程分析
6.5.7 main函数中引用变量nCount时选择相应声明节点的过程分析
6.5.8 main函数中退出内部语句块时更新变量作用域过程分析
6.5.9 fun函数中静态变量temp生存期信息的语法分析
6.6 表达式的语法分析过程
6.6.1 if条件中的表达式语法分析
6.6.2 if条件下面“语句”部分的表达式语法分析
6.7 所有案例语法树转中间结构(RTL)的过程
6.7.1 基础类型数据语法树转高端
6.7.2 用户自定义数据语法树转高端gimple的过程
6.7.3 指针类型数据语法树转高端gimple的过程
6.7.4 作用域和生存期案例语法树转高端gimple的过程
6.7.5 复杂表达式案例的语法树转高端gimple的过程
第7章 汇编与链接
7.1 汇编器
7.1.1 详细介绍汇编指令到机器指令的转化
7.1.2 .o文件格式总体情况介绍
7.1.3 代码段、数据段以及其他各个表项间的关系
7.1.4 从汇编文件到目标文件的实现
7.1.5 汇编器处理的源代码分析
7.2 链接器
7.2.1 .o文件链接总体介绍
7.2.2 多个.o文件链接时通过符号表建立关系
7.2.3 链接时统一计算地址并回填
7.2.4 链接器源代码介绍
7.2.5 库函数的链接
7.2.6 动态链接
第8章 预处理
8.1 文件包含
8.2 宏定义
8.3 条件编译
8.4 带参数的宏定义
附录 RTX定义

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警