返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:

  • Lua解释器构建 从虚拟机到编译器 吴尹杰 著 专业科技 文轩网
  • 新华书店正版
    • 作者: 吴尹杰 著著
    • 出版社: 机械工业出版社
    • 出版时间:2023-01-01 00:00:00
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    文轩网图书旗舰店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

         https://product.suning.com/0070067633/11555288247.html

     

    商品参数
    • 作者: 吴尹杰 著著
    • 出版社:机械工业出版社
    • 出版时间:2023-01-01 00:00:00
    • 版次:1
    • 印次:1
    • 字数:483
    • 页数:308
    • 开本:16开
    • 装帧:平装
    • ISBN:9787111718833
    • 国别/地区:中国
    • 版权提供:机械工业出版社

    Lua解释器构建 从虚拟机到编译器

    作  者:吴尹杰 著
    定  价:99
    出 版 社:机械工业出版社
    出版日期:2023年01月01日
    页  数:308
    装  帧:平装
    ISBN:9787111718833
    主编推荐

    这是一本深入探索Lua解释器内部设计与实现的书,而且本书不仅仅局限于Lua本身,立足于脚本语言设计,对其他脚本语言也有很好的参考价值。

    内容简介

    Lua是一门设计精简、功能强大的脚本语言。本书将Lua解释器拆解,使用C语言,一步一步构建能够正确运行的Lua解释器。本书共6章,分别为Lua解释器概述,Lua虚拟机,Lua脚本的编译与虚拟机指令运行流程,Lua编译器,Lua的解释器的其他基础特征,dummylua开发案例:俄罗斯方块。阅读本书,并不需要读者事先精通有关编译原理的知识,书中会尝试用简洁的语言,向读者介绍相关的具体内容。Lua解释器构建:从虚拟机到编译器面向对Lua内部以及解释器的设计和实现感兴趣的读者,并要求读者对C语言和Lua有一定的了解和使用经验。本书免费提供书中配套案例的全部源码,相关获取方式见封底。

    作者简介

    精彩内容

    目录

    前言
    第1章Lua解释器概述
    1.1Lua解释器
    1.1.1Lua解释器的整体架构
    1.1.2Lua解释器的运行机制
    1.2Lua虚拟机
    1.2.1虚拟机简介
    1.2.2虚拟机指令的编码方式
    1.2.3虚拟机指令集
    1.3Lua编译器
    1.3.1Lua的词法分析器
    1.3.2Lua的语法分析器
    1.4从0开发一个Lua解释器:dummylua项目
    1.4.1项目简介
    1.4.2项目架构说明
    第2章Lua虚拟机
    2.1Lua虚拟机基础知识
    2.1.1基本类型定义
    2.1.2虚拟机全局状态——global_State
    2.1.3虚拟机的线程结构——lua_State
    2.1.4虚拟机中执行函数的基础——CallInfo结构
    2.1.5C函数在虚拟机线程中的调用流程
    2.1.6虚拟机异常处理机制
    2.1.7dummylua项目的虚拟机基础实现
    2.2为虚拟机添加垃圾回收机制
    2.2.1标记清除算法
    2.2.2增量式标记清除算法
    2.2.3dummylua项目的垃圾回收机制实现
    2.3Lua虚拟机的字符串
    2.3.1Lua字符串概述
    2.3.2Lua字符串结构
    2.3.3字符串的哈希运算
    2.3.4短字符串与内部化
    2.3.5长字符串与惰性哈希
    2.3.6Lua-5.2的HashDoS攻击
    2.3.7dummylua的字符串实现
    2.4Lua虚拟机的表
    2.4.1Lua表功能概述
    2.4.2Lua表的基本数据结构
    2.4.3表的初始化
    2.4.4键值的哈希运算
    2.4.5查找元素
    2.4.6值的更新与插入
    2.4.7调整表的大小
    2.4.8表遍历
    2.4.9dummylua的表实现
    第3章Lua脚本的编译与虚拟机指令运行流程
    3.1第一个编译并运行脚本的例子:让Lua说“helloworld”
    3.2Lua的整体编译和运行流程
    3.3虚拟机如何运行编译后的指令
    3.4虚拟机输出“helloworld”的例子
    3.5反编译工具——protodump
    3.5.1protodump工具简介
    3.5.2使用protodump反编译Lua的字节码
    3.5.3反编译结果分析
    3.6标准库加载流程
    3.7Lua内置编译器补充说明
    3.7.1EBNF简介
    3.7.2本章定义的EBNF
    3.7.3词法分析器设计与实现
    3.7.4语句和表达式
    3.7.5语法分析器的基础设计与实现
    3.8让dummylua能够编译并运行“helloworld”脚本
    第4章Lua编译器
    4.1Lua词法分析器
    4.1.1词法分析器简介
    4.1.2词法分析器基本数据结构
    4.1.3词法分析器的接口设计
    4.1.4词法分析器的初始化流程
    4.1.5token识别流程
    4.1.6一个测试用例
    4.1.7dummylua的词法分析器实现
    4.2Lua语法分析器基础——expr语句编译流程
    4.2.1语法分析器的主要工作
    4.2.2实现的语法
    4.2.3语法分析器基本数据结构
    4.2.4编译逻辑与EBNF的关联
    4.2.5exprstat的逻辑结构
    4.2.6expr的构造与编译
    4.2.7suffixedexp构造与编译
    4.2.8assignment构造和编译
    4.2.9为dummylua添加编译exprstat的功能
    4.3完整的Lua语法分析器
    4.3.1Lua的语句块
    4.3.2local语句编译流程
    4.3.3doend语句编译流程
    4.3.4if语句编译流程
    4.3.5while语句编译流程
    4.3.6repeat语句编译流程
    4.3.7for语句编译流程
    4.3.8break语句编译流程
    4.3.9function语句编译流程
    4.3.10return语句编译流程
    4.3.11dummylua的完整语法分析器实现
    第5章Lua解释器的其他基础特性
    5.1元表
    5.1.1元表简介
    5.1.2元表的_index域
    5.1.3元表的_newindex域
    5.1.4双目运算事件
    5.1.5dummylua的元表实现
    5.2用户数据
    5.2.1用户数据的数据结构
    5.2.2用户数据的接口
    5.2.3用户数据的垃圾回收处理
    5.2.4用户数据的userdomain域内部的堆内存清理
    5.2.5用户数据的测试用例
    5.2.6dummylua的用户数据实现
    5.3上值
    5.3.1上值的定义
    5.3.2Lua函数的探索
    5.3.3上值的生成
    5.3.4开放上值和已关闭上值
    5.3.5dummylua的上值实现
    5.4弱表
    5.4.1弱表的定义
    5.4.2弱表的用途
    5.4.3弱键
    5.4.4弱值
    5.4.5接近弱引用
    5.4.6dummylua的弱表实现
    5.5require机制
    5.5.1require功能简述
    5.5.2package初始化
    5.5.3require运作流程
    5.5.4dummylua的require机制实现
    第6章dummylua开发案例:俄罗斯方块
    6.1案例简介
    6.2案例代码结构
    6.3编译与运行
    附录
    附录ALua虚拟机指令集
    附录BLua的EBNF语法

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购