跳转到内容

A-level 计算机/WJEC (Eduqas)/组件 1/程序构建

来自维基教科书,开放世界中的开放书籍

翻译错误

[编辑 | 编辑源代码]

编译过程

[编辑 | 编辑源代码]

1. 预处理器

[编辑 | 编辑源代码]
  • 预处理器获取源代码并执行诸如合并一个或多个文件的内容以及将字符串模式替换为另一个字符串模式的任务。
  • 预处理器扫描代码以查找预处理指令。

2. 词法分析

[编辑 | 编辑源代码]
  • 删除注释和不需要的空格。
  • 将源代码转换为令牌流 - 代码的数字表示并将其存储在表格中。
  • 关键字、常量和标识符被替换为“令牌”(通常是十六进制数)。
  • 创建了两个表格:
  1. 保留字表
  2. 标识符表

词法分析表的示例:

  • 保留字
  • 用户标识符

3. 语法分析

[编辑 | 编辑源代码]
  • 检查令牌以确保它们符合预期的拼写和语法。这是通过解析每个令牌来完成的,以确定它是否使用了编程语言的正确语法。
  • 如果发现语法错误,则会生成错误消息

4. 语义分析

[编辑 | 编辑源代码]
  • 检查变量以确保它们已正确声明和使用。
  • 检查变量以确保它们是正确的类型。
  • 检查操作以确保它们对正在使用的变量类型是合法的。

5. 代码生成

[编辑 | 编辑源代码]
  • 生成针对目标机器的特定代码。对于每个高级指令,往往会生成几行机器代码。

6. 代码优化

[编辑 | 编辑源代码]
  • 用代码替换高级通用编程结构。
  • 替换代码是高效的低级编程代码。

➡️ 考试问题 - 代码优化的目标是什么?

  1. 实现程序所需的输出。
  2. 提高程序的速度。
  3. 降低对资源的需求。
  4. 不延迟整体编译过程。
华夏公益教科书