第1章 绪论<br>1.1 程序设计语言<br>1.2 编译程序<br>1.3 编译程序的工作过程<br>1.3.1 词法分析(lexical analyzer)<br>1.3.2 语法分析(syntax analyzer)<br>1.3.3 语义分析和中间代码生成(intermediate code generator)<br>1.3.4 代码优化(source code optimizer)<br>1.3.5 代码生成(target code generator)<br>1.4 编译程序的逻辑结构<br>1.5 编译程序的生成<br>1.5.1 编译程序的移植<br>1.5.2 编译程序的“自编译方式”<br>1.5.3 LEX和YACC<br>习题<br>第2章 文法和语言<br>2.1 语言的描述<br>2.1.1 字母表和符号串<br>2.1.2 符号串及其运算<br>2.2 文法的形式定义和文法的分类<br>2.2.1 文法的形式定义<br>2.2.2 直接推导和规范推导<br>2.2.3 句型、句子和句柄<br>2.2.4 语言的形式定义<br>2.2.5 Chomsky文法的分类<br>2.2.6 文法之间的关系<br>2.2.7 上下文无关文法<br>2.3 语法树与文法的二义性<br>2.3.1 语法树<br>2.3.2 文法的二义性<br>2.4 文法的限制和文法的变换<br>2.4.1 文法的限制<br>2.4.2 文法的等价变换<br>习题<br>第3章 词法分析与有穷自动机<br>3.1 词法分析的任务和方法<br>3.1.1 单词类型及二元式编码<br>3.1.2 词法分析的任务<br>3.1.3 词法分析程序的实现方法<br>3.2 正规式与正规集<br>3.3 有穷自动机<br>3.3.1 DFA的定义<br>3.3.2 DFA的表示<br>3.3.3 不确定的有穷自动机<br>3.4 正规文法、正规式、有穷自动机的等价转换<br>3.4.1 正规文法与正规式的相互转换<br>3.4.2 正规式与FA的相互转换<br>3.4.3 正规文法与FA的相互转换<br>3.4.4 NFA到DFA的转换<br>3.5 词法分析器的设计<br>3.5.1 词法分析器的数据流图<br>3.5.2 词法分析器的设计技术<br>习题<br>第4章 自顶向下分析<br>4.1 上下文无关文法与语法分析<br>4.1.1 上下文无关文法的定义<br>4.1.2 推导<br>4.2 带回溯的自顶向下分析<br>4.3 左递归的消除<br>……<br>第5章 自底向上分析<br>第6章 语法制导翻译与中间代码的生成<br>第7章 运行时的存储分配<br>第8章 代码优化和代码生成<br>附录A 实验任务<br>附录B 编译程序源代码<br>参考文献
展开