2个稳定版本
1.0.1 | 2024年3月19日 |
---|---|
1.0.0 | 2024年3月5日 |
#473 in 编程语言
24 每月下载
在 4 crates 中使用
43KB
888 行
词法分析模块
词法分析模块负责对输入字符串进行词法分析。词法分析器支持各种标记类型,如标识符、数字、字符串和运算符。词法分析器使用基于游标的方法遍历输入字符串并提取标记。
词法分析器作为名为 Lexer
的结构体实现,它提供将输入字符串标记化成单独标记的方法。该 Lexer
结构体包含输入字符串字符的迭代器,并使用此迭代器从输入中提取标记。
Lexer
结构体提供了一个名为 next_token
的方法,该方法将词法分析器推进到输入流中的下一个标记并返回该标记。此方法本质上是一个大型switch语句,包含对应于每种标记类型的分支。该方法跳过任何空白和注释,然后识别下一个标记。
标记由一个 Token
结构体表示,其中包含有关其类型(例如,标识符、运算符、字面量)及其在输入流中的范围的信息。
解析器在将输入字符串解析为抽象语法树(AST)之前使用词法分析模块对输入字符串进行词法分析。
依赖关系
~0.4–1MB
~24K SLoC