乐趣区

关于java:腾讯T6熬夜硬肝Lua程序员实战宝典深入阐述虚拟机编译器

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 这一块儿给晋升上来,也心愿本文可能失去大家的喜爱!!

退出移动版