两周自制脚本语言
¥
12.93
2.2折
¥
59
九五品
仅1件
作者千叶滋, 陈筱烟
出版社人民邮电出版社
ISBN9787115355645
出版时间2014-06
版次1
装帧平装
开本16开
纸张胶版纸
页数285页
字数99999千字
定价59元
上书时间2024-12-16
商品详情
- 品相描述:九五品
- 商品描述
-
基本信息
书名:两周自制脚本语言
定价:59.00元
作者:千叶滋, 陈筱烟
出版社:人民邮电出版社
出版日期:2014-06-01
ISBN:9787115355645
字数:429000
页码:285
版次:1
装帧:平装
开本:16开
商品重量:
编辑推荐
只需14天,从零开始设计和实现脚本语言从解释器到编译器,支持函数、数组、对象等高级功能东京大学&东京工业大学教授执笔日本编译器专家中田育男作序推荐《两周自制脚本语言》是一本优秀的编译原理入门读物。全书穿插了大量轻松风趣的对话,读者可以随书中的人物一起从简单的语言解释器开始,逐步添加新功能,终完成一个支持函数、数组、对象等高级功能的语言编译器。本书与众不同的实现方式不仅大幅简化了语言处理器的复杂度,还有助于拓展读者的视野。
内容提要
《两周自制脚本语言》是一本优秀的编译原理入门读物。全书穿插了大量轻松风趣的对话,读者可以随书中的人物一起从简单的语言解释器开始,逐步添加新功能,终完成一个支持函数、数组、对象等高级功能的语言编译器。《两周自制脚本语言》与众不同的实现方式不仅大幅简化了语言处理器的复杂度,还有助于拓展读者的视野。 《两周自制脚本语言》适合对编译原理及语言处理器设计有兴趣的读者以及正在学习相关课程的大中专院校学生。同时,已经学习过相关知识,有一定经验的开发者,也一定能从本书新颖的实现方式中受益良多。
目录
部分 基础篇 天 来,我们一起做些什么吧 1 1.1 机器语言与汇编语言 2 1.2 解释器与编译器 3 1.3 开发语言处理器 5 1.4 语言处理器的结构与本书的框架 6 第2天 设计程序设计语言 10 2.1 麻雀虽小、五脏俱全的程序设计语言 11 2.2 句尾的分号 12 2.3 含糊不得的语言 14 第3天 分割单词 17 3.1 Token对象 18 3.2 通过正则表达式定义单词 19 3.3 借助java.util.regex设计词法分析器 22 3.4 词法分析器试运行 27 第4天 用于表示程序的对象 30 4.1 抽象语法树的定义 31 4.2 设计节点类 34 4.3 BNF 38 4.4 语法分析与抽象语法树 42 第5天 设计语法分析器 44 5.1 Stone语言的语法 45 5.2 使用解析器与组合子 46 5.3 由语法分析器生成的抽象语法树 53 5.4 测试语法分析器 59 第6天 通过解释器执行程序 62 6.1 eval方法与环境对象 63 6.2 各种类型的eval方法 65 6.3 关于GluonJ 69 6.4 执行程序 72 第7天 添加函数功能 75 7.1 扩充语法规则 76 7.2 作用域与生存周期 81 7.3 执行函数 83 7.4 计算斐波那契数 89 7.5 为闭包提供支持 90 7.6 实现闭包 92 第8天 关联Java语言 95 8.1 原生函数 96 8.2 编写使用原生函数的程序 98 第9天 设计面向对象语言 101 9.1 设计用于操作类与对象的语法 102 9.2 实现类所需的语法规则 103 9.3 实现eval方法 104 9.4 通过闭包表示对象 110 9.5 运行包含类的程序 114 0天 无法割舍的数组 115 10.1 扩展语法分析器 116 10.2 仅通过修改器来实现数组 119 第2部分 性能优化篇 1天 优化变量读写性能 123 11.1 通过简单数组来实现环境 124 11.2 用于记录全局变量的环境 127 11.3 事先确定变量值的存放位置 130 11.4 修正eval方法并终完成性能优化 134 2天 优化对象操作性能 137 12.1 减少内存占用 138 12.2 能否通过事先查找变量的保存位置来优化性能 141 12.3 定义lookup方法 144 12.4 整合所有修改并执行 147 12.5 内联缓存 152 3天 设计中间代码解释器 156 13.1 中间代码与机器语言 157 13.2 Stone虚拟机 158 13.3 通过栈实现环境 167 13.4 寄存器的使用 170 13.5 引用变量的值 173 13.6 if语句与while语句 173 13.7 函数的定义与调用 175 13.8 转换为虚拟机器语言 177 13.9 通过虚拟机执行 184 4天 为Stone语言添加静态类型支持以优化性能 187 14.1 指定变量类型 188 14.2 通过数据类型检查发现错误 193 14.3 运行程序时执行类型检查 204 14.4 对类型省略的变量进行类型推论 208 14.5 Java二进制代码转换 214 14.6 综合所有修改再次运行程序 226 第3部分 解说篇(自习时间) 5天 手工设计词法分析器 229 15.1 修改自动机 230 15.2 自动机程序 233 15.3 正则表达式的极限 235 6天 语法分析方式 236 16.1 正则表达式与BNF 237 16.2 语法分析算法 238 16.3 LL语法分析 239 16.4 算符优先分析法与自底向上语法分析 244 7天 Parser库的内部结构 251 17.1 组合子分析 252 17.2 解析器组合子的内部 252 8天 GluonJ的使用方法 263 18.1 设定类路径 264 18.2 启动设定 265 18.3 GluonJ语言 267 18.4 功能总结 268 9天 抽象语法树与设计模式 271 19.1 理想的设计 272 19.2 Interpreter模式 273 19.3 Visitor模式 276 19.4 使用反射 282 19.5 面向切面语言 284
作者介绍
千叶滋(作者)东京工业大学研究生院信息技术理工系研究科教授,兼任东京大学研究生院信息技术理工系研究科教授。著有《面向切面入门——从Java语言?面向对象步入AspectJ语言程序设计》《简明Java程序设计——Great Ideas for Java Programming》《GUI库机制——软件设计案例研习》等。陈筱烟(译者)毕业于复旦大学计算机科学与技术系,主要研究方向为跨设备人机交互理论。从大学时期开始接触Java、JavaScript程序开发,目前对Web应用及智能手机应用开发有浓厚兴趣,并参与Android开发文档翻译项目。业余开发的移动应用在Google Play商店中已有数十万次下载。译作有《JavaScript编程全解》《App,这样设计才好卖》等。
序言
— 没有更多了 —
以下为对购买帮助不大的评价