图灵程序设计丛书-自制编程语言

图灵程序设计丛书-自制编程语言

ID:18152215

大小:14.98 MB

页数:79页

时间:2018-09-14

图灵程序设计丛书-自制编程语言_第1页
图灵程序设计丛书-自制编程语言_第2页
图灵程序设计丛书-自制编程语言_第3页
图灵程序设计丛书-自制编程语言_第4页
图灵程序设计丛书-自制编程语言_第5页
资源描述:

《图灵程序设计丛书-自制编程语言》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、版权声明PROGRAMMINGGENGOWOTSUKURU..by.Kazuya.MaebashiCopyright.©.2009.Kazuya.Maebashi.All.rights.reserved.Original.Japanese.edition.published.by.Gijyutsu-Hyoron.Co.,Ltd.,TokyoThis.Simplified.Chinese.language.edition.published.by.arrangement.with.Gijyutsu-Hyoron.Co.,Ltd.,Tokyo.

2、in.care.of.Tuttle-Mori.Agency,.Inc.,Tokyo本书中文简体字版由Gijyutsu-Hyoron.Co.,Ltd.授权人民邮电出版社独家出版。未经出版者书面许可,不得以任何方式复制或抄袭本书内容。版权所有,侵权必究。(图灵公司感谢李典对本书的审读)译者序能翻开这本书的人,想必对编程都有着浓厚的兴趣。大部分编程爱好者都会利用业余时间写一些小程序、开源项目作为消遣,却很少有人会想要自己创造一门编程语言,这是为什么呢?在翻译本书之前,如果别人问我要不要尝试自制编程语言,我一定会觉得他疯了。因为在潜意识里,我一直认

3、为制作编程语言应该是C语言之父丹尼斯·里奇这样的业界大牛才能完成的浩大工程,作为一个普通程序员只要安于本分,用好已有的语言就已经足够了。在翻译完本书后,我才发现自己真的是大错特错。原来创造一门编程语言,只需要一些C语言基础、一些正则表达式知识、加上不断思索的大脑就可以做到。如果你还觉得难以置信,那么就请看看在这本不算厚的书中,作者居然已经创造了两门编程语言,并且都具备高级编程语言的所有特性。其实一开始的问题已经有了答案:很多看似难如登天的事情,一旦真的下决心去做,你会发现难度并没有想象中那么高,只是我们往往缺少一颗勇于挑战的心罢了。本书记录

4、了作者一步一步从零创造出编程语言的全过程,作者并不是什么行业精英,而是像你我一样的普通开发者。整本书中也没有用特别复杂的算法或酷炫的编程技巧,但是就凭借着一行行简单朴实的编程语句,作者最终完成了一个普通开发者看来几乎不可能完成的任务。阅读完本书后,除了自制编程语言的知识,我相信读者还能收获到一些更重要的东西。本书原文讲到了日文编码的知识,为了更好的将内容精髓呈现给读者,我们大胆地将涉及日文编码的部分全部更改为中文编码的知识,译者刘卓还对此编写了很多原创的补充内容,力求能与原书保持同样的水平。如有错误或疏漏,还请读者随时指正。读完全书后,你会

5、对编程语言的原理和实现方式有一个全面深入的了解,比如你会明白为什么Java中String类型明明是对象类型却不能改变其内容,C语言中为什么a+++++b这样看似合理的语句却会报错等。以前vi译者序知其然而不知其所以然的问题都会得到答案,这对日后进行更高阶的开发有很大的帮助。更重要的是,你可以获得自制编程语言的能力,从而可以去做很多以前敢想却没有能力做的事情,比如我现在就在构思能否创造一门以文言文和中国古代文化为基础的编程语言:易经八卦就是天然的二维矩阵,《九章算术》则有不少基础算法……相信读者还会有更加天才有趣的想法出现。如果能运用本书中的

6、知识最终将其实现,那么这将是对翻译工作最好的肯定。最后,在这里代表其他二位译者一并感谢在翻译过程中给予我们帮助和支持的家人、同事,让这本书最终得以问世。徐谦2013年中秋前 言这本书是为那些想独立制作一门编程语言的人而写的。一听到这个话题,有的人会想:太疯狂了,制作编程语言肯定很有难度吧?有人会怀疑:制作编程语言能有什么用呢?其实这些都是误解。制作编程语言在技术层面上其实并不难,只要掌握一些基础知识即可。而且,制作编程语言对于我们深入理解日常使用的C、Java、JavaScript等语言都有帮助。在一些应用程序的内置脚本语言中,我们也经常会

7、因为种种限制从而萌生制作替代语言的想法。因此,自制编程语言并不是少数极客的个人癖好,它对大多数程序员都颇具实用价值。日本关于制作编程语言的书已经很多了,其中一些还被选定为大学教科书。这些书中常出现有限状态机、NFA、LL(1)、LR(1)、SLA等专业词汇,同时还大量使用∩、∈等数学符号,对于不熟悉这部分理论知识的人(包括我自己在内)来说非常难以读懂。针对这种现状,本书会偏重实践,避免枯燥的理论。本书将分别制作两种编程语言:crowbar与Diksam。crowbar是运行分析树的无类型语言,Diksam是运行字节码的静态类型语言。无论哪种

8、语言,都具备四则运算、变量、条件分支、循环、函数定义、垃圾回收等功能,最终版则可以支持面向对象、异常处理等高级机制。总之,作为现代编程语言所必须具备的功能都基本覆盖了(唯一可能没

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。