Lua是一门弱小、高效、轻量、可嵌人的脚本语言。Lua语言设计非常精美,在一个很小的内核上能够反对函数式编程、面向对象编程、元编程等多种编程范式。
置信本人入手设计并实现一门编程语言是每个程序员都会有的一个幻想,目前国内也曾经出版或引进了一些领导读者本人实现编程语言的书籍。不过这些书籍要么只介绍了语言实现环节中的一小部分,无奈纵观全局;要么只探讨某种大幅裁减后的简化语言,离真正的工业语言还有肯定间隔。例如,《本人入手写Java虚拟机》,只探讨了Java虚拟机实现,没有波及Java编译器和Java标库。
如上所述,之所以抉择Lua语言,就是因为它足够玲珑,并且有很好的风行度。麻雀虽小,五脏俱全,这使得咱们能够在一本书的篇幅范畴内笼罩虚拟机、编译器、规范库这三个方面的内容。心愿读者能够通过本书残缺体验一门编程语言的实现过程,为未来打造属于本人的语言做好筹备。这正是本书的不同凡响之处。
《本人入手实现Lua:虚拟机、编译器和规范库》全书将带给读者3个维度的播种
维度1:深刻了解Lua语言自身作者交融本人丰盛的工程实践经验,具体论述了Lua语言的外围语法和实现原理,深入探讨了Lua虚拟机、编译器和规范库的实现,并给出了理论能够编译执行的代码。
维度2:从零开始实现一门脚本语言本书以Lua语言为例,零碎、残缺地(涵盖虚拟机、编译器和规范库)解说了如何零根底编写一门脚本语言,帮忙读者彻底了解脚本语言的工作原理。
维度3:晋升Go和Java语言编程能力本书别离用Go语言和Java语言来实现Lua,蕴含大量对Go和Java的应用,有很多奇妙的设计,能帮忙读者晋升Go和Java的编程能力。
那么,明天咱们就从目录、次要包含的内容和总结三局部给大家进行学习,心愿大家可能喜爱!!
目录:
因为篇幅限度小编,小编只在这里给大家展现目录及局部内容,有须要残缺文档的程序猿(媛)能够帮忙转发+关注,点此获取
全书共21章,分为4个局部:
第一局部(第1章)次要筹备编程环境,编写“Hello,World”程序。
- 第1章:筹备工作。筹备编程环境,编写“Hello, World !”程序。
第二局部(第2-13章)次要解说LuaAPI和虚拟机的实现,包含二进制chunk格局、Lua虚拟机指令集、元编程、错误处理等。
第2章:二进制chunk。介绍Lua二进制chuck文件格式,编写代码解析二进制chunk文件。
第3章:指令集 介绍Lua虚拟机指令集和指令编码格局,编写代码对指令进行解码。
第4章: Lua API 初步介绍Lua API和Lua State,实现栈相干API办法。
第5章: Lua运算符 介绍Lua语言运算符,给Lua API增加运算符相干办法。
第6章:虚拟机雏形: 初步实现Lua虚拟机,能够解释执行大概一半的Lua虚拟机指令。
第7章:表 介绍并实现Lua表、表相干API办法,以及表相干指令。
第8章:函数调用 介绍并实现Lua函数调用。
第9章: Go函数调用 介绍如何在Lua中调用Go语言函数。
第10章:闭包和Upvalue 介绍并实现闭包和Upvalue,以及Upvalue相干指令。
第11章:元编程 介绍并实现Lua元表、元办法及元编程。
第12章:迭代器 介绍并实现Lua迭代器。
第13章:异样和错误处理 介绍Lua异样和错误处理机制。
第三局部(第14-17章)次要探讨Lua语法和编译器的实现,包含词法剖析、语法分析、代码优化、代码生成等。
第14章:词法剖析 介绍Lua语言词法规定,实现词法分析器。
第15章:形象语法树 初步介绍Lua语言语法规定,定义形象语法树。
第16章:语法分析 进一步介绍Lua语言语法规定,编写语法分析器。
第17章:代码生成 编写代码生成器。
第四局部(第18-21章)次要解说Lua辅助API和规范库实现,包含根底库、实用工具库、包和模块、协程等。
第18章:辅助API和根底库 介绍Lua辅助API和规范库,实现根底库。
第19章:工具库 介绍并实现数学、表、字符串、UTF-8、OS等规范库。
第20章:包和模块 介绍Lua包和模块机制,实现package规范库。
第21章:协程 介绍Lua协程,实现coroutine规范库。
附录A Lua虚拟机指令集
附录B Lua语法EBNF形容
《本人入手写Java虚拟机》获取,转发关注小编,点此获取!
好了,明天就分享到这里了,心愿大家可能好好学习,把Lua这一块儿给晋升上来,也心愿本文可能失去大家的喜爱!!
发表回复