中图网(原中国图书网):网上书店,中文字幕在线一区二区三区,尾货特色书店,中文字幕在线一区,30万种特价书低至2折!

歡迎光臨中圖網(wǎng) 請 | 注冊
> >>
自己動手系列自己動手實現(xiàn)LUA:虛擬機編譯器和標準庫

包郵 自己動手系列自己動手實現(xiàn)LUA:虛擬機編譯器和標準庫

作者:張秀宏
出版社:機械工業(yè)出版社出版時間:2017-02-01
開本: 16開 頁數(shù): 412
中 圖 價:¥62.4(7.0折) 定價  ¥89.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

自己動手系列自己動手實現(xiàn)LUA:虛擬機編譯器和標準庫 版權(quán)信息

自己動手系列自己動手實現(xiàn)LUA:虛擬機編譯器和標準庫 本書特色

適讀人群 :主要面對三類人群:?對腳本語言實現(xiàn)原理感興趣?對編譯原理和虛擬機感興趣?對Lua語言感興趣,想探究其內(nèi)部實行 (1)作者是的服務(wù)器開發(fā)工程師和架構(gòu)師,精通Java、GO和Lua等語言,對高級語言的虛擬機有深入研究,《自己動手寫Java虛擬機》作者。 (2)本書3大內(nèi)容特色:零基礎(chǔ)自制編程語言、徹底掌握Lua語言實現(xiàn)原理和工作機制、提升Go和Java語言編程能力。 (3)本書得到了七牛云創(chuàng)始人兼CEO等大佬的高度評價和推薦。

自己動手系列自己動手實現(xiàn)LUA:虛擬機編譯器和標準庫 內(nèi)容簡介

本書是一本面向Lua程序員和腳本語言愛好者的語言自制指南和實戰(zhàn)寶典。作者融合自己豐富的工程實踐經(jīng)驗,詳細闡述Lua語言的核心語法和實現(xiàn)原理,深入探討Lua虛擬機、編譯器和標準庫,并給出了實際可以編譯執(zhí)行的代碼。助你從零基礎(chǔ)開始編程實現(xiàn)Lua語言,有效理解腳本語言工作原理。全書分為3個部分,共21章。靠前部分主要討論LuaAPI和虛擬機實現(xiàn),包括二進制chunk格式、Lua虛擬機指令集、元編程、錯誤處理等。第二部分主要討論Lua語法和編譯器實現(xiàn),包括詞法分析、語法分析、代碼優(yōu)化、代碼生成等。第三部分主要討論Lua輔助API和標準庫實現(xiàn),包括基礎(chǔ)庫、實用工具庫、包和模塊、協(xié)程等。

自己動手系列自己動手實現(xiàn)LUA:虛擬機編譯器和標準庫 目錄

前言
**部分 準備
第1章 準備工作 3
1.1 準備開發(fā)環(huán)境 3
1.1.1 操作系統(tǒng) 3
1.1.2 安裝Lua 4
1.1.3 安裝Go 4
1.2 準備目錄結(jié)構(gòu) 4
1.3 本章小結(jié) 6
第二部分 Lua虛擬機和Lua API
第2章 二進制chunk 9
2.1 什么是二進制chunk 10
2.2 luac命令介紹 11
2.2.1 編譯Lua源文件 11
2.2.2 查看二進制chunk 13
2.3 二進制chunk格式 15
2.3.1 數(shù)據(jù)類型 16
2.3.2 總體結(jié)構(gòu) 17
2.3.3 頭部 18
2.3.4 函數(shù)原型 22
2.4 解析二進制chunk 27
2.4.1 讀取基本數(shù)據(jù)類型 28
2.4.2 檢查頭部 29
2.4.3 讀取函數(shù)原型 30
2.5 測試本章代碼 33
2.6 本章小結(jié) 36
第3章 指令集 37
3.1 指令集介紹 37
3.2 指令編碼格式 38
3.2.1 編碼模式 38
3.2.2 操作碼 39
3.2.3 操作數(shù) 40
3.2.4 指令表 41
3.3 指令解碼 42
3.4 測試本章代碼 44
3.5 本章小結(jié) 47
第4章 Lua API 49
4.1 Lua API介紹 49
4.2 Lua棧 51
4.2.1 Lua數(shù)據(jù)類型和值 51
4.2.2 棧索引 54
4.2.3 定義luaStack結(jié)構(gòu)體 54
4.3 Lua State 57
4.3.1 定義LuaState接口 57
4.3.2 定義luaState結(jié)構(gòu)體 58
4.3.3 基礎(chǔ)棧操縱方法 59
4.3.4 Push方法 64
4.3.5 Access方法 65
4.4 測試本章代碼 69
4.5 本章小結(jié) 70
第5章 Lua運算符 71
5.1 Lua運算符介紹 71
5.2 自動類型轉(zhuǎn)換 75
5.3 擴展LuaState接口 79
5.3.1 Arith()方法 80
5.3.2 Compare()方法 83
5.3.3 Len()方法 85
5.3.4 Concat()方法 86
5.4 測試本章代碼 87
5.5 本章小結(jié) 88
第6章 虛擬機雛形 89
6.1 添加LuaVM接口 89
6.1.1 定義LuaVM接口 91
6.1.2 改造luaState結(jié)構(gòu)體 92
6.1.3 實現(xiàn)LuaVM接口 93
6.2 實現(xiàn)Lua虛擬機指令 94
6.2.1 移動和跳轉(zhuǎn)指令 94
6.2.2 加載指令 96
6.2.3 算術(shù)運算指令 101
6.2.4 長度和拼接指令 103
6.2.5 比較指令 106
6.2.6 邏輯運算指令 107
6.2.7 for循環(huán)指令 110
6.3 指令分派 113
6.4 測試本章代碼 115
6.5 本章小結(jié) 118
第7章 表 119
7.1 表介紹 119
7.2 表內(nèi)部實現(xiàn) 121
7.3 表相關(guān)API 125
7.3.1 Get方法 126
7.3.2 Set方法 129
7.4 表相關(guān)指令 131
7.4.1 NEWTABLE 131
7.4.2 GETTABLE 133
7.4.3 SETTABLE 135
7.4.4 SETLIST 136
7.5 測試本章代碼 138
7.6 本章小結(jié) 140
第8章 函數(shù)調(diào)用 141
8.1 函數(shù)調(diào)用介紹 141
8.2 函數(shù)調(diào)用棧 143
8.2.1 調(diào)用幀實現(xiàn) 144
8.2.2 調(diào)用棧實現(xiàn) 145
8.3 函數(shù)調(diào)用API 147
8.3.1 Load() 148
8.3.2 Call() 149
8.4 函數(shù)調(diào)用指令 152
8.4.1 CLOSURE 152
8.4.2 CALL 153
8.4.3 RETURN 157
8.4.4 VARARG 158
8.4.5 TAILCALL 159
8.4.6 SELF 160
8.4.7 擴展LuaVM接口 162
8.4.8 改進SETLIST指令 163
8.5 測試本章代碼 164
8.6 本章小結(jié) 166
第9章 Go函數(shù)調(diào)用 167
9.1 Go函數(shù)登場 167
9.1.1 添加Go函數(shù)類型 168
9.1.2 擴展Lua API 169
9.1.3 調(diào)用Go函數(shù) 170
9.2 Lua注冊表 172
9.2.1 添加注冊表 172
9.2.2 操作注冊表 173
9.3 全局環(huán)境 175
9.3.1 使用API操作全局環(huán)境 175
9.3.2 在Lua里訪問全局環(huán)境 178
9.4 測試本章代碼 179
9.5 本章小結(jié) 181
第10章 閉包和Upvalue 183
10.1 閉包和Upvalue介紹 183
10.1.1 背景知識 183
10.1.2 Upvalue介紹 185
10.1.3 全局變量 187
10.2 Upvalue底層支持 189
10.2.1 修改closure結(jié)構(gòu)體 189
10.2.2 Lua閉包支持 191
10.2.3 Go閉包支持 192
10.3 Upvalue相關(guān)指令 195
10.3.1 GETUPVAL 195
10.3.2 SETUPVAL 196
10.3.3 GETTABUP 197
10.3.4 SETTABUP 199
10.3.5 JMP 200
10.4 測試本章代碼 202
10.5 本章小結(jié) 203
第11章 元編程 205
11.1 元表和元方法介紹 205
11.1.1 元表 206
11.1.2 元方法 206
11.2 支持元表 207
11.3 調(diào)用元方法 208
11.3.1 算術(shù)元方法 209
11.3.2 長度元方法 211
11.3.3 拼接元方法 211
11.3.4 比較元方法 212
11.3.5 索引元方法 214
11.3.6 函數(shù)調(diào)用元方法 216
11.4 擴展Lua API 217
11.4.1 GetMetatable() 218
11.4.2 SetMetatable() 218
11.5 測試本章代碼 219
11.6 本章小結(jié) 222
第12章 迭代器 223
12.1 迭代器介紹 223
12.2 next()函數(shù) 226
12.2.1 修改luaTable結(jié)構(gòu)體 227
12.2.2 擴展Lua API 228
12.2.3 實現(xiàn)next()函數(shù) 229
12.3 通用for循環(huán)指令 229
12.4 測試本章代碼 232
12.5 本章小結(jié) 234
第13章 異常和錯誤處理 235
13.1 異常和錯誤處理介紹 235
13.2 異常和錯誤處理API 237
13.2.1 Error() 238
13.2.2 PCall() 239
13.3 error()和pcall()函數(shù) 240
13.4 測試本章代碼 241
13.5 本章小結(jié) 242
第三部分 Lua語法和編譯器
第14章 詞法分析 245
14.1 編譯器介紹 245
14.2 Lua詞法介紹 247
14.3 實現(xiàn)詞法分析器 251
14.3.1 定義Token類型 252
14.3.2 空白字符 254
14.3.3 注釋 256
14.3.4 分隔符和運算符 256
14.3.5 長字符串字面量 258
14.3.6 短字符串字面量 259
14.3.7 數(shù)字字面量 262
14.3.8 標識符和關(guān)鍵字 263
14.4 LookAhead()和其他方法 264
14.5 測試本章代碼 265
14.6 本章小結(jié) 267
第15章 抽象語法樹 269
15.1 抽象語法樹介紹 269
15.2 Chunk和塊 270
15.3 語句 272
15.3.1 簡單語句 273
15.3.2 while和repeat語句 273
15.3.3 if語句 274
15.3.4 數(shù)值for循環(huán)語句 275
15.3.5 通用for循環(huán)語句 275
15.3.6 局部變量聲明語句 276
15.3.7 賦值語句 277
15.3.8 非局部函數(shù)定義語句 278
15.3.9 局部函數(shù)定義語句 279
15.4 表達式 280
15.4.1 簡單表達式 280
15.4.2 運算符表達式 281
15.4.3 表構(gòu)造表達式 281
15.4.4 函數(shù)定義表達式 282
15.4.5 前綴表達式 283
15.4.6 圓括號表達式 284
15.4.7 表訪問表達式 284
15.4.8 函數(shù)調(diào)用表達式 285
15.5 本章小結(jié) 286
第16章 語法分析 287
16.1 語法分析介紹 287
16.1.1 歧義 288
16.1.2 前瞻和回溯 289
16.1.3 解析方式 290
16.2 解析塊 290
16.3 解析語句 293
16.3.1 簡單語句 294
16.3.2 if語句 296
16.3.3 for循環(huán)語句 297
16.3.4 局部變量聲明和函數(shù)定義語句 299
16.3.5 賦值和函數(shù)調(diào)用語句 300
16.3.6 非局部函數(shù)定義語句 302
16.4 解析表達式 303
16.4.1 運算符表達式 304
16.4.2 非運算符表達式 306
16.4.3 函數(shù)定義表達式 307
16.4.4 表構(gòu)造表達式 308
16.4.5 前綴表達式 310
16.4.6 圓括號表達式 311
16.4.7 函數(shù)調(diào)用表達式 312
16.4.8 表達式優(yōu)化 313
16.5 測試本章代碼 315
16.6 本章小結(jié) 316
第17章 代碼生成 317
17.1 定義funcInfo結(jié)構(gòu)體 317
17.1.1 常量表 318
17.1.2 寄存器分配 319
17.1.3 局部變量表 320
17.1.4 Break表 323
17.1.5 Upvalue表 324
17.1.6 字節(jié)碼 325
17.1.7 其他信息 327
17.2 編譯塊 327
17.3 編譯語句 329
17.3.1 簡單語句 330
17.3.2 while和repeat語句 331
17.3.3 if語句 333
17.3.4 for循環(huán)語句 334
17.3.5 局部變量聲明語句 335
17.3.6 賦值語句 337
17.4 編譯表達式 339
17.4.1 函數(shù)定義表達式 340
17.4.2 表構(gòu)造表達式 341
17.4.3 運算符表達式 343
17.4.4 名字和表訪問表達式 345
17.4.5 函數(shù)調(diào)用表達式 346
17.5 生成函數(shù)原型 347
17.6 使用編譯器 349
17.7 測試本章代碼 350
17.8 本章小結(jié) 350
第四部分 Lua標準庫
第18章 輔助API和基礎(chǔ)庫 353
18.1 Lua標準庫介紹 353
18.2 輔助API 355
18.2.1 增強版方法 357
18.2.2 加載方法 358
18.2.3 參數(shù)檢查方法 359
18.2.4 標準庫開啟方法 360
18.3 基礎(chǔ)庫 361
18.3.1 基礎(chǔ)庫介紹 362
18.3.2 基礎(chǔ)庫實現(xiàn) 362
18.4 測試本章代碼 365
18.5 本章小結(jié) 366
第19章 工具庫 367
19.1 數(shù)學庫 367
19.2 表庫 369
19.3 字符串庫 372
19.4 UTF-8庫 374
19.5 OS庫 376
19.6 本章小結(jié) 379
第20章 包和模塊 381
20.1 包和模塊介紹 381
20.2 實現(xiàn)包庫 386
20.3 測試本章代碼 391
20.4 本章小結(jié) 392
第21章 協(xié)程 393
21.1 協(xié)程介紹 393
21.2 協(xié)程API 396
21.2.1 支持線程類型 396
21.2.2 支持協(xié)程操作 398
21.3 實現(xiàn)協(xié)程庫 400
21.4 測試本章代碼 403
21.5 本章小結(jié) 404
附錄A Lua虛擬機指令集 405
附錄B Lua語法EBNF描述 407
后記 409
展開全部

自己動手系列自己動手實現(xiàn)LUA:虛擬機編譯器和標準庫 作者簡介

作者簡介 張秀宏 服務(wù)器開發(fā)工程師,有多年的Java和游戲服務(wù)器開發(fā)和架構(gòu)經(jīng)驗,對高級語言虛擬機有非常深入的研究。曾在EA、樂元素等游戲公司擔任高級服務(wù)器工程師,現(xiàn)任某創(chuàng)業(yè)公司架構(gòu)師。 曾于2016年6月出版《自己動手寫Java虛擬機》一書,廣受讀者好評,并多次重印。《自己動手實現(xiàn)Lua:虛擬機、編譯器、標準庫》是他時隔兩年之后推出的又一力作。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網(wǎng)
在線客服
主站蜘蛛池模板: SEO网站优化,关键词排名优化,苏州网站推广-江苏森歌网络 | 半自动预灌装机,卡式瓶灌装机,注射器灌装机,给药器灌装机,大输液灌装机,西林瓶灌装机-长沙一星制药机械有限公司 | 贴片电感_贴片功率电感_贴片绕线电感_深圳市百斯特电子有限公司 贴片电容代理-三星电容-村田电容-风华电容-国巨电容-深圳市昂洋科技有限公司 | 不锈钢列管式冷凝器,换热器厂家-无锡飞尔诺环境工程有限公司 | 盐水蒸发器,水洗盐设备,冷凝结晶切片机,转鼓切片机,絮凝剂加药系统-无锡瑞司恩机械有限公司 | 散热器厂家_暖气片_米德尔顿散热器| 瑞典Blueair空气净化器租赁服务中心-专注新装修办公室除醛去异味服务! | 卫生型双针压力表-高温防腐差压表-安徽康泰电气有限公司 | 广东佛电电器有限公司|防雷开关|故障电弧断路器|智能量测断路器 广东西屋电气有限公司-广东西屋电气有限公司 | 不锈钢轴流风机,不锈钢电机-许昌光维防爆电机有限公司(原许昌光维特种电机技术有限公司) | 济南宣传册设计-画册设计_济南莫都品牌设计公司 | 旗杆生产厂家_不锈钢锥形旗杆价格_铝合金电动旗杆-上海锥升金属科技有限公司 | 聚氨酯复合板保温板厂家_廊坊华宇创新科技有限公司 | 西安耀程造价培训机构_工程预算实训_广联达实作实操培训 | 空调风机,低噪声离心式通风机,不锈钢防爆风机,前倾皮带传动风机,后倾空调风机-山东捷风风机有限公司 | 螺旋绞龙叶片,螺旋输送机厂家,山东螺旋输送机-淄博长江机械制造有限公司 | 杭州网络公司_百度SEO优化-外贸网络推广_抖音小程序开发-杭州乐软科技有限公司 | 污水提升器,污水提升泵,地下室排水,增压泵,雨水泵,智能供排水控制器-上海智流泵业有限公司 | SRRC认证_电磁兼容_EMC测试整改_FCC认证_SDOC认证-深圳市环测威检测技术有限公司 | 汽车整车综合环境舱_军标砂尘_盐雾试验室试验箱-无锡苏南试验设备有限公司 | 起好名字_取个好名字_好名网免费取好名在线打分 | 真空乳化机-灌装封尾机-首页-温州精灌 | SDG吸附剂,SDG酸气吸附剂,干式酸性气体吸收剂生产厂家,超过20年生产使用经验。 - 富莱尔环保设备公司(原名天津市武清县环保设备厂) | 专业生产动态配料系统_饲料配料系统_化肥配料系统等配料系统-郑州鑫晟重工机械有限公司 | 金现代信息产业股份有限公司--数字化解决方案供应商 | 特种电缆厂家-硅橡胶耐高温电缆-耐低温补偿导线-安徽万邦特种电缆有限公司 | 磁力加热搅拌器-多工位|大功率|数显恒温磁力搅拌器-司乐仪器官网 | 贝朗斯动力商城(BRCPOWER.COM) - 买叉车蓄电池上贝朗斯商城,价格更超值,品质有保障! | 篮球地板厂家_舞台木地板品牌_体育运动地板厂家_凯洁地板 | 卓能JOINTLEAN端子连接器厂家-专业提供PCB接线端子|轨道式端子|重载连接器|欧式连接器等电气连接产品和服务 | 档案密集架,移动密集架,手摇式密集架,吉林档案密集架-厂家直销★价格公道★质量保证 | 微波萃取合成仪-电热消解器价格-北京安合美诚科学仪器有限公司 | 酒糟烘干机-豆渣烘干机-薯渣烘干机-糟渣烘干设备厂家-焦作市真节能环保设备科技有限公司 | 苏州柯瑞德货架-仓库自动化改造解决方案 | 筛分机|振动筛分机|气流筛分机|筛分机厂家-新乡市大汉振动机械有限公司 | 粉碎机_塑料粉碎机_塑料破碎机厂家-星标机械 | 干粉砂浆设备_干混砂浆生产线_腻子粉加工设备_石膏抹灰砂浆生产成套设备厂家_干粉混合设备_砂子烘干机--郑州铭将机械设备有限公司 | 青岛球场围网,青岛车间隔离网,青岛机器人围栏,青岛水源地围网,青岛围网,青岛隔离栅-青岛晟腾金属制品有限公司 | 高铝矾土熟料_细粉_骨料_消失模_铸造用铝矾土_铝酸钙粉—嵩峰厂家 | 广州食堂承包_广州团餐配送_广州堂食餐饮服务公司 - 旺记餐饮 | 执业药师报名时间,报考条件,考试时间-首页入口 |