《Let’s Build A Simple Interpreter》学习笔记(三)
该笔记基于教程 Let’s Build A Simple Interpreter. from Ruslan’s Blog,原文使用 Python 为 Pascal 编写解释器,在该笔记中我将使用 Rust 进行解释器的编写。
1 核心概念
1.1 语法分析
根据语言的上下文无关文法,检查词法单元流的排列顺序是否符合语法规则,并将其组织成一个树形结构,称为语法树(Syntax Tree)。
2 语法分析(编译第二步)
2.1 任务
token流 -> 语法树: 语法分析器(Parser)通过自顶向下(如 LL)或自底向上(如 LR)的算法,来解析词法单元流,并生成语法树。这棵树清晰地展示了代码的层次结构,例如,一个 if-else 语句是如何由条件、then 块和 else 块构成的。


