|
介绍:
第1章 引言
1.1 语言设计的艺术
1.2 程序设计语言的谱系
1.3 为什么研究程序设计语言
1.4 编译和解释
1.5 程序设计环境
1.6 编译概览
1.6.1 词法和语法分析
1.6.2 语义分析和中间代码生成
1.6.3 目标代码生成
1.6.4 代码改进
1.7 总结和注记
1.8 复习
1.9 练习
1.10 有关参考文献
第2章 程序设计语言的语法
2.1 描述语法:正则表达式和上下文无关文法
2.1.1 单词和正则表达式
2.1.2 上下文无关文法
2.1.3 推导和语法分析树
2.2 识别语法:扫描器和语法分析器
2.2.1 扫描
2.2.2 自上而下和自下而上的语法分析
2.2.3 递归下降
2.2.4 语法错误
2.2.5 表格驱动的自上而下语法分析
2.2.6 自下而上的语法分析
2.3 理论基础
2.3.1 有穷自动机
2.3.2 下推自动机
2.3.3 文法和语言类
2.4 总结和注记
2.5 复习
2.6 练习
2.7 有关参考文献
第3章 名字、作用域和约束
3.1 约束时间的概念
3.2 对象生存期和存储管理
3.2.1 基于堆栈的分配
3.2.2 堆分配
3.2.3 废料收集
3.3 作用域规则
3.3.1 静态作用域
3.3.2 动态作用域
3.3.3 符号表
3.3.4 关联表和中心引用表列
3.4 引用环境的约束
3.4.1 子程序闭包
3.4.2 一级和二级子程序
3.5 重载和相关概念
3.6 语言设计中与名字有关的缺陷
3.6.1 作用域规则
3.6.2 分别编译
3.7 总结和注记
3.8 复习
3.9 练习
3.10 有关参考文献
第4章 语义分析
4.1 语义分析器所扮演的角色
4.2 属性文法
4.3 属性流
4.4 动作例程
4.5 属性的空间管理
4.5.1 自下而上求值
4.5.2 自上而下求值
4.6 语法树的标注
4.7 总结和注记
4.8 复习
4.9 练习
4.10 有关参考文献
第5章 汇编层计算机体系结构
……
第6章 控制流
第7章 数据类型
第8章 子程序和控制抽象
第9章 构造可运行程序
第10章 数据抽象和面向对象
第11章 非命令式程序设计模型:函数式和逻辑式语言
第12章 并发
第13章 代码改进
附录A 本书中提到的程序设计语言
附录B 语言设计和语言实现
参考书目
索引 |
|