- 1
- 0
- 约8.15千字
- 约 11页
- 2020-07-09 发布于天津
- 举报
文档
第一章 概论
1.什么是编译器?输入输出?
编译器是将一种语言翻译为另一种语言的计算机程序。
输入:源语言 ( source language)编写的程序
输出:目标语言 ( target language )编写的程序。
2.汇编语言的优缺点
优点:汇编语言大大提高了编程的速度和准确度
缺点:编写起来也不容易 ,阅读和理解很难;而且汇编语言的编写严格依
赖于特定的机器,所以为一台计算机编写的代码在应用于另一台计算机时
必须完全重写。
3.什么是解释器?与编译器的区别?
解释程序是如同编译器的一种语言翻译程序。
与编译器的区别:它立即执行源程序而不是生成在翻译完成之后才执行的
目标代码。
4.乔姆斯基分类结构有几种文法?名称?相互关系?
4 种
名称:
0 型 无限制文法
1 型 上下文相关文法
2 型 上下文无关文法
3 型 正则文法
相互关系:其中的每一个都是其前者的专门化。
5.什么是扫描器?扫描器的功能是什么?
扫描器就是语法分析程序。
功能: 依据词法规则,分析由字符组成的源程序,把它分割为一个一个
具有独立意义的最小语法单位,即单词。
6.什么是编辑器? IDE 中编辑器的新功能
编译器通常接受由任何生成标准文件 (例如 ASCII 文件 )的编辑器编写的源
程序。
IDE 中编辑器的新功能:尽管编辑器仍然生成标准文件,但会转向正被讨
论的程序设计语言的格式或结构。这样的编辑器称为基于结构的,且它早
已包括了编译器的某些操作;因此,程序员就会在程序的 编写时而不是
在编译时就得知错误了。从编辑器中也可调用编译器以及与它共用的程序,
这样程序员无需离开编辑器就可执行程序。
文档
7.什么是调试器,与编译器的关系
调试程序是可在被编译了的程序中判定执行错误的程序。
运行一个带有调试程序的程序与直接执行不同,这是因为调试程序保存着
所有的或大多数源代码信息 (诸如行数、变量名和过程 ) 。它还可以在预先
指定的位置 (称为断点 )暂停执行,并提供有关已调用的函数以及变量的当
前值的信息。为了执行这些函数,编译器必须为调试程序提供恰当的符号
信息。
8.编译器有哪几个功能模块?各模块的功能及输入输出
源代码
扫描程序
记号
语法分析程序
语法树
语义分析程序
常量表
注释树
中间代码生成 符号表
中间代码
错误处理器
源代码
优化程序
中间代码
代码生成器
目标代码
目标代码
优化程序
目标代码
文档
9.编译器有哪几个辅助部件?功能?
(1)常量表:
存放在程序中用到的常量和字符串
(2)符号表:
与标识符有关:函数、变量、常量以及数据类型。
与编译器的所有阶段交互:扫描程序、分析程序或将标识符输入到表格中
的语义分析程序。
(3)错误处理器
对源程序中错误的反应。
10.分析,综合
已将分析源程序以计算其特性的编译器操作归为编译器的分析部分,而将
生成翻译代码时所涉及到的操作称作编译器的综合部分。当然,词法分析、
语法分析和语义分析均属于分析部分 ,而代码生成却是综合部分。在优化
步骤中 ,分析和综合都有。分析正趋向于易懂和更具有数学性,而综合则
要求更深的专业技术。因此,将分析步骤和综合步骤两者区分开来以便发
生变化时互不影响是很有用的。
11.前段,后端
将编译器分成了只依赖于源语言 (前端 ) 的操作和只依赖于目标语言 (后端 )
的操作两部分。
您可能关注的文档
- 离心式通风机的性能全参数.pdf
- 离散数学(第1次).pdf
- 离散数学王元元习题解答(3).pdf
- 离散数学王元元习题解答(5).pdf
- 离散课后习题问题详解4.pdf
- 科学管理系统你的学习时间.pdf
- 科目四C1新增100道.pdf
- 科研课题项目可研报告材料.pdf
- 税控盘开票常见问题.pdf
- 空心薄壁墩墩技术交底.pdf
- 2026届河南省郑州市高三上学期一模政治(解析版).docx
- 2026届河南省郑州市高三上学期第一次质量预测历史(原卷版).docx
- 2026届河北省名校联合体高三上学期一模政治(原卷版).docx
- 广东省茂名市信宜市2025-2026学年高二上学期11月期中考试政治(原卷版).docx
- 2026年高一上学期语文期末考试压轴卷含答案.docx
- 河北省部分示范性高中2025-2026学年高一12月考试语文试题含答案.docx
- 考研真题 首都师范大学历史学院776历史学基础综合历年考研真题汇编(含部分答案).pdf
- 考研真题 首都师范大学文学院445汉语国际教育基础[专业硕士]历年考研真题汇编(含部分答案).pdf
- 《护士条例》 辅导讲座.pptx
- 牙科医师质控的年度工作述职.pptx
原创力文档

文档评论(0)