第一讲 绪论
1-1 什么是编译
- 机器语言是计算机能直接识别和执行的二进制或16进制代码。与人类表达习惯相去甚远;难记忆,难编写。
- 汇编语言是一种低级编程语言,它使用助记符来代替机器语言的二进制代码。对非计算机专业人员来说受限;效率较低。
- 高级语言是更接近人类语言和思维方式的编程语言,不依赖于特定机器,编写效率高
- 三者之间的关系:
编译:将高级语言翻译成汇编语言或机器语言的过程
- 编译器在语言处理系统中的位置
1-2 编译系统的结构
- 语义分析(分析原语言)
- 句子的语义(中间表示,独立于具体的语言)
- 生成目标语言
- 编译的各个阶段(逻辑组成方式):
1-3 词法分析
词法分析(Lexical Analysis)或扫描(Scanning)是编译过程的第一个阶段。它的主要任务是:
- 将源程序的字符流转换成单词符号(Token)流
- 识别并去除注释、空白等对程序语义无影响的字符
- 记录标识符和常量的属性信息
1-4 语法分析
语法分析器从词法分析器输出的token序列中识别出各类短语,并构造语法分析树