程序设计语言历史

  • 机器语言
  • 汇编语言
  • 高级语言

实现高级语言程序的方式

  • 编译方式引论
  • 解释方式
    引论

两种方式的区别

  • 解释器:执行系统;一次目标程序只能执行一次;有利于人机交互;保存的信息多,空间开销大
  • 编译器:转换系统;一次翻译目标程序可执行多次

其它高级语言实现的方式:

  • 转换方式:把A语言的程序转换为已有编译器的B语言程序,然后通过B语言已有的编译器编译执行

编译程序的组成

编译程序的结构:

引论

词法分析程序:

  • 检查程序中是否有词法错误
  • 构造单词的内部表示

例如:x=100,分为五个字符x,=,1,0,0;通过词法分析程序,将其分为三个单词x,=,100

语法分析程序:(检查文法错误)

  • 自顶向下的分析方法
  • 自底向上的分析方法

语义分析

  • 检查有无语义错误(变量重复声明,运算时类型不相容等)
  • 为后续编译工作收集所需信息

-----------------------------------这里以上三条需要错误处理------------------------------------

中间代码的生成:

  • 为了优化
  • 便于移植

中间代码的优化:
与程序算法无关,与程序内部有关

生成目标代码:

生成特定机器上的汇编代码或者机器语言

-----------------------------------------这以上六条需要表格管理---------------------------------

相关文章:

  • 2021-05-08
  • 2021-10-07
  • 2021-12-26
  • 2021-08-28
  • 2021-07-14
猜你喜欢
  • 2021-12-19
  • 2022-01-01
  • 2021-04-08
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案