Lua設(shè)計與實現(xiàn)附源代碼.pdf
http://www.www.srpcoatings.com
2020年11月10日
![]() |
| 第1頁 |
![]() |
| 第7頁 |
![]() |
| 第12頁 |
![]() |
| 第27頁 |
![]() |
| 第45頁 |
![]() |
| 第179頁 |
參見附件(128185KB,196頁)。
Lua設(shè)計與實現(xiàn)基于Lua 5.1.4版本討論了Lua語言的設(shè)計原理,全書共分三部分:前部分講解數(shù)據(jù)結(jié)構(gòu)(如通用數(shù)據(jù)是如何表示的)、字符串以及表類型的實現(xiàn)原理;中間部分是本書重要的部分,主要討論了虛擬機的實現(xiàn);第三部分討論了垃圾回收、模塊實現(xiàn)、熱更新、協(xié)程等的實現(xiàn)原理。

編輯推薦
一本揭示Lua實現(xiàn)原理的圖書
經(jīng)典的純C語言項目分析
一線開發(fā)人員傾力打造
Lua是一種可嵌入、輕量、快速、功能強大的腳本語言,使用較為廣泛,主要用在游戲領(lǐng)域。另外,基于Nginx的OpenResty也是使用Lua來編寫腳本的,很多服務(wù)器(如Redis)也支持使用Lua來編寫腳本。
作為一門誕生已經(jīng)超過20年的語言,它在設(shè)計上是非常克制的。以Lua5.1.4版本來說,其解釋器加上周邊的庫函數(shù)等也就不過一萬多行的代碼量,而如果再進行精簡,只需要吃透核心的幾千行代碼就可以了。
另外,作為一門以純C代碼編寫的項目,Lua代碼優(yōu)美、結(jié)構(gòu)組織緊湊,是教科書般經(jīng)典的C語言項目。
本書討論了Lua的設(shè)計原理,首先講解了數(shù)據(jù)結(jié)構(gòu)、字符串以及表類型的實現(xiàn)原理,接著討論了虛擬機的實現(xiàn),討論了垃圾回收、模塊實現(xiàn)、熱更新、協(xié)程等的實現(xiàn)原理。
本書適用于以下讀者:
希望能夠進一步了解Lua內(nèi)部實現(xiàn)原理的用戶;
對程序語言設(shè)計感興趣的讀者。
作者簡介
網(wǎng)名codedump,長期從事互聯(lián)網(wǎng)后端服務(wù)開發(fā)工作。曾經(jīng)在網(wǎng)易等公司從事游戲服務(wù)器后臺開發(fā),在網(wǎng)絡(luò)游戲開發(fā)工作期間接觸到使用C++編寫服務(wù)核心引擎和使用Lua腳本編寫游戲邏輯的技術(shù)組合后,對Lua產(chǎn)生了濃厚的興趣,遂開始研究其實現(xiàn)原理,陸續(xù)公布于網(wǎng)絡(luò)。個人博客:www.codedump.info。
閱讀本書,讀者至少需要具備以下的基礎(chǔ)知識
扎實的C語言功底,Lua虛擬機采用純C編寫。在我看過不算少的純C語言完成的項目中,Lua虛擬機的代碼質(zhì)量是最高的。
一定的編譯原理知識,比如了解詞法分析、語法分析、遞歸下降分析、BNF規(guī)則等,如果不清楚這些原理,閱讀Lua虛擬機實現(xiàn)時會遇到很多問題。
本書按照如下方式組織
第一部分講解Lua中的數(shù)據(jù)結(jié)構(gòu),如通用數(shù)據(jù)是如何表示的,Lua的字符串以及表類型的實現(xiàn)原理。
第二部分是本書最重要的部分,主要討論了Lua虛擬機的實現(xiàn)。另外,這里分類講解了Lua虛擬機中的一些重點指令。
第三部分的內(nèi)容比較雜,這部分討論垃圾回收、模塊實現(xiàn)、熱更新、協(xié)程等的實現(xiàn)原理。
Lua設(shè)計與實現(xiàn)截圖



您現(xiàn)在查看是摘要介紹頁, 詳見PDF附件(128185KB,196頁)。
計與實現(xiàn)附源代碼_1.jpg)
計與實現(xiàn)附源代碼_2.jpg)
計與實現(xiàn)附源代碼_3.jpg)
計與實現(xiàn)附源代碼_4.jpg)
計與實現(xiàn)附源代碼_5.jpg)
計與實現(xiàn)附源代碼_6.jpg)