2.1 程序设计语言概述

2.1.1 程序设计语音的基本概念

  1. 低级语言和高级语言:人们称机器语言和汇编语言为低级语言。在此基础上,人们开发了功能更强、抽象级别更高的语言以支持程序设计,于是就产生了面向各类应用的程序设计语言,称为高级语言。常见的有Java、C、C++、PHP、Python等。
  2. 编译程序和解释程序:编译程序也称为解释器,它或者直接解释执行源程序,或者将源程序翻译成某种中间代码后再加以执行;而编译程序(编译器)则是将源程序翻译成目标程序,然后在计算机上运行目标程序。根本区别:在解释方式下,翻译源程序时不生成独立的目标程序,而编译器则将源程序翻译成独立保存的目标程序。
  3. 程序设计语言的定义
  4. 程序设计语言的分类
  • 程序设计语言发展概述
  • 程序设计语言分类
    • 命令式和结构化程序设计语言
    • 面向对象的程序设计语言
    • 函数式程序设计语言
    • 逻辑型程序设计语言

2.1.2 程序设计语言的基本成分

程序设计语言的基本成分包括数据、运算、控制和传输等。

  1. 程序设计语言的数据成分
    • 常量和变量
    • 全局量和局部量
    • 数据类型
  2. 程序设计语言的运算成分:大多数高级程序设计语言的基本运算可以分为算术运算、逻辑运算和关系运算等,有些语言(如C、C++)还提供位运算。
  3. 程序设计语言的控制成分
    • 顺序结构
    • 选择结构
    • 循环结构
  4. 程序设计语言的传输成分:程序设计语言的传输成分指明语言允许的数据传输方式,如赋值处理、数据的输入和输出等。
  5. 函数
    • 函数定义
    • 函数声明
    • 函数调用

2.2 语言处理程序基础

语言处理程序是一类系统软件的总称,其主要作用是将高级语言或汇编语言编写的程序翻译成某种机器语言,使程序可在计算机上运行。语言处理程序主要分为汇编程序、编译程序和解释程序三种基本类型。

2.2.1 汇编程序基本原理

  1. 汇编语言
    • 指令语句:其汇编后能产生相应的机器代码,这些代码能被CPU直接识别并执行相应的操作。指令语句可分为传送指令、算术运算指令、逻辑运算指令、移位指令、转移指令和处理机控制指令等类型。
    • 伪指令语句:伪指令语句经汇编后不产生机器代码,而指令语句经汇编后要产生相应的机器代码。
    • 宏指令语句:用户可以将多次重复使用的程序段定义为宏。
  2. 汇编程序:汇编程序的功能是将用汇编语言编写的源程序翻译成机器指令程序。

2.2.2 编译程序基本原理

  1. 编译过程概述

  2. 文法和语言的形式描述

  3. 词法分析

  4. 正规式与有限自动机之间的转换

  5. 词法分析器的构造

  6. 语法分析

  7. 语法制导翻译和中间代码生成

  8. 中间代码优化和目标代码生成

2.2.3 解释程序基本原理

  1. 解释程序的基本结构

  2. 高级语言编译与解释方式的比较