编译原理复习笔记 第一章 绪论

编译原理第一章

1-1

1.计算机设计语言
编译原理复习笔记 第一章 绪论_第1张图片
2. 编译系统
编译原理复习笔记 第一章 绪论_第2张图片
可重定位:内存中存放的起始位置不定
加载器:修改可重定位地址
连接器:链接库文件;将多个可重定位代码连接到一起;解决外部内存地址

1-2 编译系统结构

  1. 词法分析:分析词性

    语法分析:识别句子中的各类短语,分析句子结构

    语义结构:根据句子结构,分析短语成分

  2. 编译器结构
    编译原理复习笔记 第一章 绪论_第3张图片
    中间表示形式:独立于任何语言

1-3 词法分析概述

  1. “从左向右”扫描源程序字符,识别单词,确定单词类型,表示为token形式
    Token:<种别码,属性值>
    编译原理复习笔记 第一章 绪论_第4张图片

1-4 语法分析概述

  1. 从词法分析器输出的token序列中识别各类短语,并构造语法分析树

1-5 语义分析概述

  1. 收集标识符的属性信息——种属,类型,存储位置、长度,值,作用域,参数和返回值信息
  2. 符号表:
    编译原理复习笔记 第一章 绪论_第5张图片
    NAME字段:(1)标识符在字符串表的起始位置(2)标识符长度
    3,语义(错误)检查

1-6 中间代码及编译器后端

  1. 中间代码的常见表示形式:
    (1)三地址码
    四元式表示形式
    (2)语法结构树/语法树

  2. 目标代码生成:分配寄存器

  3. 代码优化

思考:符号表中NAME字段的设计:
NAME字段长度不固定,若要将NAME直接存入符号表造成空间浪费、效率低;加入索引可节省空间、便于管理

你可能感兴趣的:(编译原理复习笔记 第一章 绪论)