【编译原理01】源程序和目标程序的关系,编译系统的组成

1、何谓源程序、目标程序、翻译程序、编译程序和解释程序?它们之间有何种关系?

源程序
用汇编语言或高级语言编写的程序称为源程序
目标程序
用目标语言所表示的程序
目标语言:机器语言或汇编语言
翻译程序
将源程序转换为目标程序的程序称为翻译程序。它是指各种语言的翻译器,包括汇编程序和编译程序,是汇编程序、编译程序以及各种变换程序的总称。
编译程序:把高级语言的源程序翻译成目标语言程序,再结合运行子程序执行出结果。
解释程序:类似于口译,不生成目标代码,把高级语言源程序的代码中一个语句翻译成机器代码并执行,即边翻译,边执行。

2、一个典型的编译系统通常由哪些部分组成?各部分的主要功能是什么?

  1. 词法分析程序
    根据词法规则分析和识别单词
  2. 语法分析程序
    根据语法规则(即语言的文法),分析并识别出各种语法成分(如表达式、语句、函数等),并进行语法正确性检查。
  3. 语义分析及生成中间代码程序
    依据语义规则对识别出的各种语法成分分析其含义,并进行初步翻译,生成中间代码。
  4. 代码优化程序
    对中间代码进行加工变换,以得到高质量的目标代码
  5. 代码生成程序
    把中间代码变换成特定机器上的低级语言代码
  6. 符号表管理
    填表:把源程序中的信息和编译过程中所产生的信息登记在表格中
    查表:在随后的编译过程中同时又要不断的查找这些表格中的信息
  7. 错误处理
    诊察错误,并能报告用户错误性质和位置
    出错处理能力的优劣是衡量编译程序质量好坏的一个重要指标。
  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值