【摘 要】
:
相比于其他自然科学,计算机科学算是较新的科学体系,还有很多技术领域有待学者进一步探索。编译技术是系统软件的设计学科,作为计算机技术发展的基石,学习编译器设计的目的不仅在于其本身的理论和技术,其解决问题的思路与方法更值得学者学习借鉴。本文基于C++编程语言采用面向对象的思想,系统的实现了一个C语言编译器MiniC,并结合MiniC的源代码,从前端和后端两个角度出发,详细介绍了编译器各个模块数据结构和
论文部分内容阅读
相比于其他自然科学,计算机科学算是较新的科学体系,还有很多技术领域有待学者进一步探索。编译技术是系统软件的设计学科,作为计算机技术发展的基石,学习编译器设计的目的不仅在于其本身的理论和技术,其解决问题的思路与方法更值得学者学习借鉴。本文基于C++编程语言采用面向对象的思想,系统的实现了一个C语言编译器MiniC,并结合MiniC的源代码,从前端和后端两个角度出发,详细介绍了编译器各个模块数据结构和算法框架的设计实现。论文的研究工作主要体现在如下几个方面:前端部分实现包括词法分析、语法分析及与语义分析。词法分析部分采用有穷状态自动机进行单词识别,然后采用哈希表结构实现单词的插入与查找。采用语法制导翻译,在语法分析的过程中直接驱动语义分析,并采用栈式结构组织符号表,实现符号的存储及作用域管理。后端部分实现包括汇编与链接。汇编过程采用直接翻译方式将源语言翻译为机器指令,着重阐述了寄存器的分配算法、程序运行时的存储管理及目标文件生成。链接过程对符号进行分析及重定位,将符号引用与定义相关联,最终生成Windows系统下PE文件格式的可执行文件。错误管理贯穿整个编译系统,统计编译及链接过程中发生的错误,然后向用户输出。最终对编译系统的测试结果表明,本文实现的C编译器能够将源程序经过编译、汇编生成目标文件,再通过链接生成可执行文件,并在目标机器上成功运行得到正确的结果。
其他文献
文章以吉林省和龙市桑参特色产业为抓手,通过对当前的发展现状进行分析,提出了推进种植业结构调整,创新建设理念,促进农业增效、农民增收,培育农业农村发展新动能的合理化建
利用平板划线法和乙炔还原法对羊草和冰草根际固氮菌进行分离和固氮活性的测定。结果表明:供试的25个菌种均可产生C2H4,且产生量在26.64-164.10μmol/(h·L)之间,C2H4产生量大于1
近年来利用分子生态学技术已在多种动物肠道检测到放线菌的存在,对这些动物特别是昆虫共生放线菌的研究已在新型放线菌资源中发现新型天然产物,阐明了生物共生系统的进化,并
自1918年1月,胡适、沈尹默等在《新青年》上刊登新诗以来,中国新诗已走过将近百年的历程。中国新诗百年诞辰将近,各大媒体、杂志对新诗的报道层出不穷,各种形式的纪念活动也
通过对紫外分光光度计的运用来建立一种快速高效,低成本的方法来研究杜仲叶中绿原酸提取物对胰脂肪酶活性的影响。该实验中并未选用大型仪器来研究,而是选用常见的紫外分光光度
目的:探讨低剂量氯胺酮超前镇痛的价值和术后镇痛效果.方法:选择36例子宫肌瘤患者,ASAⅠ~Ⅱ级,随机分为对照组(A组,n=18)和实验组(B组,n=18).两组患者均采用硬膜外麻醉下手术.
对无机及分析化学实验教学内容和考核方式的现状进行了分析,依据应用型本科院校的办学定位,提出改革措施。通过革新教学理念、开发特色实验项目、采用口头报告考核等一系列措
无罪推定的思想最早出现于英国的习惯法,集中体现其证据制度中;而大陆法系国家对旧的刑诉制度进行批判时,将这一思想引进,并提到保护人权的高度来阐发.在现代意义上的无罪推
本文根据影响钢材质量的各种因素,运用层次分析法,定量确定出影响钢材质量各因素的相对重要性。为钢材质量控制提供一定的理论依据与实践指导。
文章对长距离10 kV贯通线空载及重载供电的情况进行了分析。空载时线路末端电压虽有升高但非常小,对供电影响较小。文章重点对长距离10 kV贯通线重负荷时,末端电压降超过规范