视频选集

在 Rust 中实现一个 Lox 语言的解释器
一段时间以来,我一直在寻找一个机会直播编写解析器 + 解释器……随便什么都行。我一直想按照 matklad 关于 Pratt 解析的精彩文章(https://matklad.github.io/2020/04/13/simple-but-powerful-pratt-parsing.html )来实现一个解析器,但老实说,解析领域的任何东西都可以。最近,CodeCrafters 发布了一个新的 beta 挑战,它基于 Robert Nystrom 的 Crafting Interpreters 书籍(https://craftinginterpreters.com/ ),所以我立刻抓住了这个机会。加入我一起完成这些挑战,或者先自己尝试一下,事后再交流心得!
https://github.com/jonhoo/lox
0:00:00 介绍
0:07:36 什么是编译?
0:28:54 Lox 语言
0:44:26 词法分析单字符 token
1:40:31 词法分析多字符 token
2:14:18 词法分析数字
2:47:54 词法分析器错误
3:05:37 词法分析注释
3:15:53 词法分析字符串
3:29:13 打印数字
3:36:09 概述 (Pratt) 解析器
4:16:41 解析表达式
5:01:18 解析特殊语句
5:58:56 提取语句解析器
6:38:42 完成表达式解析器
6:49:34 打印 token 树
6:59:47 尝试解析器
7:29:13 与预期输出对齐
7:37:02 测试像多米诺骨牌一样倒下
7:50:41 结尾