发表于2024-12-23
只需14天,从零开始设计和实现脚本语言
从解释器到编译器,支持函数、数组、对象等高级功能
东京大学&东京工业大学教授执笔
日本编译器专家中田育男作序推荐
千叶滋
东京工业大学研究生院信息技术理工系研究科教授,兼任东京大学研究生院信息技术理工系研究科教授。著有《面向切面入门——从Java语言?面向对象步入AspectJ语言程序设计》《简明Java程序设计——Great Ideas for Java Programming》《GUI库机制——软件设计案例研习》等。
这是一本优秀的编译原理入门读物,它尝试以一种现代的方式设计一种现代的语言,即使读者对编译器已有一定程度的了解,也一定能从中学到很多。——日本编译器专家 中田育男
本书是一本编译原理的入门读物。过去,大家普遍认为编译器与解释器之间存在很大的差异,因此会分别编写针对编译器与解释器的图书。不过,最近编译器与解释器之间的界限越来越模糊,我们只要稍微了解一下常见的程序设计语言,就会发现两者已不再是对立的概念。
因此,与其说本书是编译原理的入门书,不如说是语言处理器的入门读物更为恰当。语言处理器是用于执行程序设计语言的软件,它同时包含了编译器与解释器。本书看似用了大量篇幅讲解解释器的原理,其实是在讲解编译器与解释器通用的理论。第1 章将详细介绍各章节的具体内容。
本书采用了Java 语言来实现语言处理器。在设计语言处理器时,C 语言或C++ 语言更为常见,加之本书没有借助yacc 等常用的工具来生成语言处理器,因此读者也许会认为本书的实用性不足。
本书在介绍语言处理器的设计方式时,尽可能采用了较新颖的手段。C 语言或C++ 语言结合yacc 的方式性能较差,且是上世纪80 年代的实现方式。在那之后,程序设计语言飞速发展,已不可同日而语,其运行性能也大幅提升。入门读物也应该与时俱进,讲解与过去不同的设计方式,展现它们的实践价值。
时至今日,软件领域的发展依然日新月异,并逐渐渗透至生活的方方面面,这一势头无疑将持续下去。在此期间,各类技术必将不断发展,为了跟上技术更新的步伐,软件应当以略微领先于时代的设计思路开发。
很久以前,笔者曾使用C++ 语言开发过适用于工作站的语言处理器,当时,时钟频率仅有100 兆赫,内存也不过几百兆字节。那套软件幸运地在各种环境下运行了十年以上。有一天,我收到了一封邮件。我记得好像是一个德国的年轻人,他洋洋洒洒写了很多,批评那套软件的设计有不少问题。还说开发者应当合理使用模板,并灵活运用各种库,要学习使用设计模式,还要用XML 来表示抽象语法树,等等。
他指出我太节省内存,只顾着提升性能,结果程序难以阅读。从当时的主流软硬件标准来看,这些批评确实合情合理,但那套系统毕竟是十年前的产物。在当时软硬件性能孱弱的情况下,如果遵循他的建议,最终完成的语言处理器恐怕会被打上缺乏使用价值的标签(顺便一提,提出批评的那位年轻人虽然说了很多,却没有写一行代码)。
然而,从这件事中我深刻体会到,软件有着惊人的生命力,即使在开发时采用了最佳设计,最终还是会随着时代的进步而被迅速淘汰。因此,前文说软件应当以略微领先于时代的设计思路开发有其合理性。当然,我们也可以不关心他人的批评,尽可能缩短软件的生命周期,并积极抛弃过时的内容。具体采用哪种策略因人而异。
希望读者能够在阅读本书时始终记住这些理念。读过本书之后,如果大家觉得收获良多,我将深感荣幸与喜悦。
2012 年 新春
千叶滋
两周自制脚本语言 下载 mobi pdf epub txt 电子书 格式 2024
两周自制脚本语言 下载 mobi epub pdf 电子书看来介绍买的,拓展知识面
评分看不明白,我又没电脑?
评分非常好的书,拓展知识的好方法!
评分想看这本书很久了,好好学习,天天向上,哈哈!
评分图书是正版,到货快,我一直相信京东自营的商品,
评分书还可以,学东西嘛,花哦点钱买本书看还不错啦
评分30天学会30年的系统技术,多学习吧。
评分书是好书, 但是包装太不走心了, 真的希望下次邮寄书的时候能好好包装一下,避免书籍被损坏。。
评分很好......
两周自制脚本语言 mobi epub pdf txt 电子书 格式下载 2024