摘要: 在前两篇博客中,我们完成了源码的词法分析,将代码拆解为 Token 流,接下来就进入理解如何用代码结构来表示程序中的表达式,也就是抽象语法树(AST)的构建。 本篇重点围绕书中核心数据结构 Expr 类展开,结合 C# 实现,详细讲解它的设计理念、组成部分及其作用。理解了它,就为后续语法分析器和解释 阅读全文
posted @ 2025-08-04 17:04 daviyoung 阅读(30) 评论(0) 推荐(0)
摘要: 词法分析器 词法分析器是编译器或解释器的第一道关卡,它负责把源码字符串拆解成一个个有意义的词法单元(Token)。后续的语法分析器和解释器都会依赖这些 Token。 词法分析器(Lexical Analyzer 或 Scanner)做的事情包括: 从源码文本逐字符扫描 识别出单词、数字、符号、字符串 阅读全文
posted @ 2025-08-04 10:15 daviyoung 阅读(29) 评论(0) 推荐(0)
摘要: 《Crafting Interpreters》这本书,系统地介绍了如何设计和实现一门解释型编程语言——Lox。 这本书最大的特点是: 实战性强,作者手把手带你从词法分析、语法分析、抽象语法树(AST)、解释器实现,到字节码虚拟机的搭建,全方位展示语言实现细节。 双实现路径,书中用 Java 实现了树 阅读全文
posted @ 2025-08-04 09:31 daviyoung 阅读(22) 评论(0) 推荐(0)