现代编译原理(虎书,包含c版和java版中英文,源码,全书答案。
《现代编译原理:C语言描述》全面讲述了现代编译器的结构、编译算法和实现方法,是Andreww.Apple的“虎书”——ModernCompilerImplementation——“红、蓝、绿”三序列之一。
这三本书的内容基本相同。
但是使用不同的语言来实现书中给出的一个编译器。
本书使用的是更适合广大读者的c语言,而另外两本书分别采用ML语言和Java语言。
本书的另一个特点是增加了一些其他编译原理教科书没有涉及的内容。
前端增加了面向对象的程序设计语言、函数式程序设计语言等现代语言的编译实现方法,后端增加了针对现代计算机体系结构特征的一些比较成熟的优化方法。
这部分内容展现了现代商业编译器需解决的一些关键问题,开拓了学生的视野,为学生未来进行更深入的研究奠定了基础。
《现代编译原理:C语言描述》全面讲述了现代编译器的各个组成部分,包括词法分析、语法分析、抽象语法、语义检查、中间代码表示、指令选择、数据流分析、寄存器分配以及运行时系统等。
全书分成两部分,第一部分是编译的基础知识,适用于第一门编译原理课程(一个学期);
第二部分是高级主题,包括面向对象语言和函数语言、垃圾收集、循环优化、ssA(静态单赋值)方式、循环调度、存储结构优化等,适合于后续课程或研究生教学。
书中专门为学生提供了一个用C语言编写的实习项目,包括前端和后端设计,学生可以在一学期内创建一个功能完整的编译器。
2015/4/3 4:39:10 40.49MB 编译原理
1
实习作业,画线画圆种子填充算法在MFC工程中的实现,部分代码有援用
2018/11/23 10:26:04 4.53MB C++
1
(1) 为了提高磁盘存储空间的利用率,可在磁盘上组织成链接文件、索引文件,这类文件可以把逻辑记录存放在不连续的存储空间。
为了表示哪些磁盘空间已被占用,哪些磁盘空间是空闲的,可用位示图来指出。
位示图由若干字节构成,每一位与磁盘上的一块对应,“1”状态表示相应块已占用,“0”状态表示该块为空闲。
位示图的方式与实习二中的位示图一样,但要注意,对于主存储空间和磁盘存储空间应该用不同的位示图来管理,绝不可混用。
(2) 申请一块磁盘空间时,由分配程序查位示图,找出一个为“0”的位,计算出这一位对应块的磁盘物理地址,且把该位置成占用状态“1”。
假设现在有一个盘组共8个柱面,每个柱面有2个磁道(盘面),每个磁道分成4个物理记录。
那么,当在位示图中找到某一字节的某一位为“0”时,这个空闲块对应的磁盘物理地址为:柱面号=字节号磁道号=位数/4物理记录号=位数%4(3) 归还一块磁盘空间时,由回收程序根据归还的磁盘物理地址计算出归还块在位示图中的对应位,把该位置成“0”。
按照(2)中假设的盘组,归还块在位示图中的位置计算如下:字节号=柱面号位数=磁道号4+物理记录号(4) 设计申请磁盘空间和归还磁盘空间的程序。
2017/3/23 23:01:57 2KB C语言 操作系统 磁盘存储空间
1
改良的实习讲述,关于IT行业实习的改良的实习讲述,关于IT行业实习的改良的实习讲述,关于IT行业实习的
1
秋招和暑期实习的c++面试集锦题目,1)指针是一个实体,需要分配内存空间。
援用只是变量的别名,不需要分配内存空间。
2)援用在定义的时候必须进行初始化,并且不能够改变。
指针在定义的时候不一定要初始化,并且指向的空间可变。
(注:不能有援用的值不能为NULL)3)有多级指针,但是没有多级援用,只能有一级援用。
4)指针和援用的自增运算结果不一样。
(指针是指向下一个空间,援用时援用的变量值加1)5)sizeof援用得到的是所指向的变量(对象)的大小,而sizeof指针得到的是指针本身的大小。
6)援用访问一个变量是直接访问,而指针访问一个变量是间接访问。
7)使用指针前最好做类型检查,防止野指针的出现;
8)援用底层是通过指针实现的;
9)作为参数时也不同,传指针的实质是传值,传递的值是指针的地址;
传援用的实质是传地址,传递的是变量的地址。
2015/6/12 20:16:44 2.02MB c++ 面试
1
ENVI遥感软件操作综合实习,协助你熟悉使用ENVI
2019/3/9 17:15:20 2.46MB envi
1
霍拉族!:bust_in_silhouette:罗希特·库玛·杜比(RohitKumarDubey):graduation_cap:信息技术专业本科三年级:briefcase:IMUN实习生技能特长:glowing_star:接触:mobile_phone_with_arrow::envelope_with_arrow:在以下位置与我联系
2021/4/23 22:12:24 1KB
1
课程计划报告课程计划报告课程计划报告课程计划报告课程计划报告课程计划报告
2019/7/19 10:16:24 797KB 课程设计报告
1
数据库实习公用,做药品存销信息管理系统的同学肯定能用到,包含完整的ER图,完全按数据库设计的步骤。
2018/9/20 1:06:09 524KB 经销存 数据库 信息管理
1
嵌入式的消费实习报告嵌入式的消费实习报告嵌入式的消费实习报告嵌入式的消费实习报告嵌入式的消费实习报告嵌入式的消费实习报告嵌入式的消费实习报告嵌入式的消费实习报告嵌入式的消费实习报告嵌入式的消费实习报告嵌入式的消费实习报告嵌入式的消费实习报告嵌入式的消费实习报告嵌入式的消费实习报告
1
共 291 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡