使用Go编程开发解释器
英语|尺寸:5.29 GB |持续时间:14小时28米
从头开始构建解释器
你将学到什么
从头开始创建解释器
理解构建口译员的不同步骤
学习使用Go编程构建解释器
使用Go构建解释器时遵循TDD
创建像数组和哈希这样的数据结构
概述
第一节:简介
讲座1简介
第二讲口译员鸟瞰图
讲座3安装
第四讲Monkey程序设计语言介绍
第二节:词汇分析
讲座5 Lexer舞台
第六讲我们将用于词汇的程序
第七讲手册解读
第8讲令牌类型结构
第9讲令牌类型常量
第10讲Lexer测试
第11讲Lexer新函数
第12讲阅读字符辅助功能
第13讲获取下一个代币
第14讲更新NextToken方法的测试
第15讲更新NextToken方法
第16讲查找标识符
第17讲忽略空白
第18讲阅读数字
第19讲添加更多单字符代币
第20讲更新Lexer以解析新添加的单字符令牌
第21讲用条件表达式更新测试输入
第二十二讲添加新的关键词使考试通过
第23讲解读多种特殊字符
第24讲添加REPL
第3节:分析器阶段
第25讲Parser简介
第26讲Parser生成器注释
第27讲语法分析器的类型和选择
第28讲Let States简介
第29讲带接口的AST包
第30讲处理出租声明
第31讲Parser包入门
第32讲使用伪码的递归下降
第33讲解析Let语句程序测试
第34讲实现解析程序逻辑
第35讲向解析器添加错误字段
第36讲更新expect-peek方法以添加错误
第37讲在AST包中添加返回语句结构
第38讲退货统计添加测试
第39讲更新解析器解析返回语句
第40讲解析表达式的挑战
第四十一讲猴子程序设计语言中的表达式
第42讲添加表达式语句结构
第43讲向节点接口添加字符串方法
第44讲测试弦法
第45讲Pratt Parser的启动实施
第46讲添加辅助方法为令牌类型添加中缀和前缀
第47讲为解析标识符添加测试
第48讲添加优先级常数
第49讲完成标识符解析
第50讲解析Integer Literal的测试
第51讲解析Integer Literal的代码
第52讲解析前缀运算符的加法测试
第53讲创建前缀表达式AST类型
第54讲完成解析表达式的解析逻辑实现
第55讲Infix Expression测试用例的编写
第56讲让我们添加InfixExpression类型
第57讲Infix表达式方法的实现
第58讲添加运算符优先级测试用例
第59讲复习普拉特语法分析器算法
第60讲Pratt Parser调用堆栈
第61讲重构-解析测试
第62讲布尔型AST
第63讲布尔表达式解析器逻辑的实现
第64讲分组表达式的测试与实现
第65讲如果表达式AST表示
第66讲If表达式测试用例
第67讲If表达式的实现
第68讲else块在if表达式中的实现
第69讲函数文字的AST
第70讲添加解析函数文本的测试用例
第71讲函数文字分析器的实现
第72讲调用表达式的AST结构
第73讲解析调用表达式的测试用例
第74讲解析调用表达式的实现
第75讲固定调用表达式中缀的优先级fn
第七十六讲调用表达式参数解析测试用例
第77讲复习Let和Return语句解析以完成TODO
第78讲更新REPL以利用Parser包
第4节:评估
第七十九讲评价导论
第80讲评估策略
第81讲评估伪码
第82讲表示物体
第83讲新的对象接口
第84讲整数对象
第85讲布尔和零对象
第86讲评估整数表达式的测试
第87讲解析整数表达式的Eval的初步实现
第88讲完成阅读、评估、打印循环
第89讲布尔对象的实现
第90讲零对象的实现
第91讲前缀算子Bang的评价
第92讲前缀运算符减号的求值
第93讲整数中缀的评价(上)
第94讲整数中缀的评价(下)
第95讲Infix布尔求值
第96讲评估条件
第97讲收益类型的评估
第98讲修复带有返回类型的嵌套条件句
第99讲错误对象
第100讲错误对象实现第1部分
第101讲错误对象实现第2部分
链接:https://pan.baidu.com/s/1OcTzON8AjWVZexs-5G0z6g
提取码:fzzl
--来自百度网盘超级会员V6的分享

