-
内容大纲
本书主要研究如何构建一种新的编程语言。书中将介绍编程语言设计方面的主题,并重点介绍编程语言实现。本书的新颖之处在于将传统的编译器-编译器工具(Flex和BYACC)与两种更高级的实现语言融合。一种非常高级的语言(Unicon)可以像黄油一样穿透编译器的数据结构和算法,而另一种主流的现代语言(Java)则展示了如何在更典型的生产环境中实现相同的代码。
本书主要面向对发明编程语言或开发领域特定语言感兴趣的软件开发人员。学习编译器构建课程的计算机科学相关专业学生也会发现这本书非常适合作为语言实现的实用指南,可以为理论教材提供有益补充。 -
作者介绍
克林顿·L.杰弗瑞(Clinton L. Jeffery) Clinton L. Jeffery是New Mexico Institute of Mining and Technology计算机科学与工程系的教授和系主任。他在华盛顿大学获得计算机科学学士学位,在亚利桑那大学获得计算机科学硕士和博士学位。他主要从事编程语言、程序监控、调试、图形、虚拟环境和可视化方面的研究,并撰写了许多相关书籍和论文。他与同事一起发明了Unicon编程语言,该语言在Unicon网站上托管。 -
目录
前言
第一部分 编程语言导论
第1章 为什么要构建另一种编程语言
1.1 编写自己的编程语言的动机
1.1.1 编程语言实现的类型
1.1.2 组织字节码语言实现
1.1.3 示例中使用的语言
1.2 编程语言与库的差别
1.3 适用于其他软件工程任务
1.4 建立语言需求
1.5 案例研究:Unicon语言的创建需求
1.5.1 Unicon需求#1—保留人们对Icon的喜爱
1.5.2 Unicon需求#2—支持大型大数据项目
1.5.3 Unicon需求#3—现代应用程序的高级输入/输出
1.5.4 Unicon需求#4—提供可实现的通用系统接口
1.6 本章小结
1.7 思考题
第2章 编程语言设计
2.1 确定要编程语言提供的单词和
标点符号的类型
2.2 指定控制流
2.3 决定支持哪种数据
2.3.1 原子类型
2.3.2 复合类型
2.3.3 领域特定类型
2.4 整体程序结构
2.5 完成Jzero语言的定义
2.6 案例研究:设计Unicon中的图形功能
2.6.1 2D图形语言支持
2.6.2 添加3D图形支持
2.7 本章小结
2.8 思考题
第3章 扫描源代码
3.1 技术需求
3.2 词素、词类和标记
3.3 正则表达式
……
第二部分 语法树遍历
第三部分 代码生成与运行时系统
第四部分 附录
附录A Unicon基础
附录B 部分章节要点
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...