- 0
- 0
- 约5.19千字
- 约 6页
- 2026-02-14 发布于河南
- 举报
软件编译技术课程总结
软件编译技术论文
学号:姓名:班级:
摘要
软件编译技术是计算机及相关专业的一门重要专业课程,在计算
机科学中有很重要的地位和作用,已被国内外高校列为计算机专业的
主要课程。它主要介绍了高级程序设计语言编译程序构造的一般原理、
基本设计方法、主要实现技术和一些自动构造工具。通过该课程的学
习,对提高我们计算机软件素质,使我们真正认识计算机信息处理实
质并综合运用所学的软件设计技术来分析问题等具有很大作用。
课程理论性与实践性都很强,我们在学习是普遍感到内容非常抽
象,不易理解,内容多且繁琐,难以完整、全面地掌握软件编译技术
的有关知识,更不用说灵活运用软件编译技术知识从事相关设计或应
用于其他领域。虽然只有少数人从事编译方面的工作,但是这门课在
理论、技术、方法上都对我们提供了系统而有效的训练,有利于提高
软件人员的素质和能力。
在我们学习软件编译技术以前,都认为软件编译技术只能应用在
写程序语言的编译器上,觉得用处不大,学习兴趣不高。而在后来的学习
中,我们逐渐认识到计算机专业的我们,除了要会编写程序语言之外,
还应该了解它是如何被计算机所识别,这才是真正并且透彻地学习软
件。另外,编译器中每一个模块的编写,都能对我们的编程能力的提
高有很大帮助。在今后若从事软件工程,这门课程也能够对编写程序
有所帮助。
关键字:(1)语言和文法;(2)词法分析;(3)语法分析;
(4)语义分析和中间代码生成;(5)代码优化和目标代码生成;
一、语言和文法
语言和文法部分的知识包括文法基本概念及文法的二义性。基本
概念有文法定义、推导、句型、句子等等。二义性文法是通过画语法
树的方法来证明。
二、词法分析
词法分析相对来说比较简单。可能是词法分析程序本身实现起来
很简单吧,很多没有学过软件编译技术的人也同样可以写出各种各样
的词法分析程序。不过软件编译技术在讲解词法分析的时候,重点把
正则表达式和自动机原理加了进来,然后以一种十分标准的方式来讲
解词法分析程序的产生。这样的做法道理很明显,就是要让词法分析
从程序上升到理论的地步。
三、语法分析
等学到词法分析和语法分析时候,会出现这样的疑问:“词法分
析和语法分析到底有什么?”就从编译器的角度来讲,编译器需要把
程序员写的源程序转换成一种方便处理的数据结构(抽象语法树或语
法树),那么这个转换的过程就是通过词法分析和语法分析的。其实词
法分析并非一开始就被列入编译器的必备部分,只是我们为了简化语
法分析的过程,就把词法分析这种繁琐的工作单独提取出来,就成了
现在的词法分析部分。
除了编译器部分,在其它地方,词法分析和语法分析也是有用的。
比如我们在DOS,Unix,Linux下输入命令的时候,程序如何分析输入的
命令形式,这也是简单的应用。总之,这两部分的工作就是把不“规
则”的文本信息转换成一种比较好分析好处理的数据结构。那么为什
么软件编译技术的教程都最终把要分析的源分析转换成“树”这种数
据结构呢?数据结构中有Stack,Line,List…这么多数据结构,各自都
有各自的特点。但是Tree这种结构有很强的递归性,也就是说我们可
以把Tree的任何结点Node提取出来后,它依旧是一颗完整的Tree。
这一点符合我们现在软件编译技术分析的形式语言,比如我们在函数
里面使用函树,循环中使用循环,条件中使用条件等等,那么就可以
很直观地表示在Tree这种数据结构上。同样,我们在执行形式语言的
程序的时候也是如此的递归性。
在软件编译技术后面的代码生成的部分,就会介绍一种堆栈式的
中间代码,我们可以根据分析出来的抽象语法树,很容易,很机械地
运用递归遍历抽象语法树就可以生成这种指令代码。而这种代码其实
也被广泛运用在其它的解释型语言中。像现在流行的Java,.NET,其底
层的字节码bytecode,可以说就是这中基于堆栈的指令代码的。
关于语义分析,语法制导翻译,类型检查等等部分,其实都是一
种完善前面得到的抽象语法树的过程。比如说,我们写C语言程序的
时候,都知道,如果把一个浮点数直接赋值给一个整数,就会出现类
型不匹配,那么C语言的编译器是怎么知道的呢?就是通过这一步的
类型检查。像C++语言这中支持多态函数的语言,这部分要处理的问
题就更多更复杂了。大部软件编译技
您可能关注的文档
- 部编高中语文必修下册第15课《谏太宗十思疏》知识点总结精讲+导学教案.pdf
- 袁隆平爷爷的作文600字(通用6篇).pdf
- 2026【人教版】小学六年级数学下册第5课时 解决问题【教案对应版】.pptx
- 主题03 多元共生:世界文明的演进与交融(知识清单)2026年高考历史二轮复习讲练测.pdf
- 2026年春【苏教版】-六年级数学下册-6.pptx
- 事业单位考试职业能力倾向测验河北省石家庄市2026年复习难点详解.pdf
- 2025年泰州海陵辅警招聘真题及答案.docx
- 洛阳西工法院书记员招聘考试真题库2025.docx
- 2025年沈丘县法院系统招聘真题.docx
- 2026春【苏教版】-6年级数学下册第2课时 认识正比例图像.pptx
- 统编版2025年春季新版七年级下册历史 第21课 明清时期的科技与文化 教案.docx
- 雅安雨城法院书记员招聘考试真题库2025.docx
- 2026届安徽合肥市高考一模高考语文试卷试题(含答案详解).pdf
- 【专题研究】国内外城市更新研究的最新进展.pdf
- 【专题研究】老旧城区改造居民满意度影响因素研究——以遂宁市老旧城区改造为例.pdf
- 【专题研究】关于旧城空间改造理论与创意设计案例的几点思考.pdf
- 西藏拉萨市高三下学期期末物理备考重点详解.docx
- 泾县法院书记员招聘笔试真题2025.pdf
- 2026年春【苏教版】-六年级数学下册-面积的变化.pptx
- 2026年春【苏教版】-六年级数学下册-7.pptx
最近下载
- 安全评价 安全检查表法 课件:安全检查表法.pptx VIP
- 2025瓮福达州化工有限责任公司招聘(四川)笔试备考题库及答案解析.docx VIP
- 核电站辅助厂房电气安装施工方案.docx VIP
- hotz-雷达系统(第一章)波形模糊函数.ppt VIP
- 《大学生创新创业教育》课件——第六章 创业计划的制定.pptx VIP
- 八年级上期末物理试卷(含答案).pdf VIP
- 保险营销情景演练.pptx VIP
- 2026-2030中国胡椒酸市场深度分析及发展规模预测研究报告.docx
- 【复试】2025年 西南林业大学095137农业管理《加试市场营销》考研复试.docx VIP
- (2.4.1)--1-4离心泵基本方程式.ppt VIP
原创力文档

文档评论(0)