2个稳定版本

1.0.1 2024年3月19日
1.0.0 2024年3月5日

#473 in 编程语言

24 每月下载
4 crates 中使用

MIT/Apache

43KB
888

词法分析模块

词法分析模块负责对输入字符串进行词法分析。词法分析器支持各种标记类型,如标识符、数字、字符串和运算符。词法分析器使用基于游标的方法遍历输入字符串并提取标记。

词法分析器作为名为 Lexer 的结构体实现,它提供将输入字符串标记化成单独标记的方法。该 Lexer 结构体包含输入字符串字符的迭代器,并使用此迭代器从输入中提取标记。

Lexer 结构体提供了一个名为 next_token 的方法,该方法将词法分析器推进到输入流中的下一个标记并返回该标记。此方法本质上是一个大型switch语句,包含对应于每种标记类型的分支。该方法跳过任何空白和注释,然后识别下一个标记。

标记由一个 Token 结构体表示,其中包含有关其类型(例如,标识符、运算符、字面量)及其在输入流中的范围的信息。

解析器在将输入字符串解析为抽象语法树(AST)之前使用词法分析模块对输入字符串进行词法分析。

依赖关系

~0.4–1MB
~24K SLoC