字句解析 出力: Ident("qsort") ← 名前(識別子) Punctuation('[') ← 記号 Punctuation(']') ← 記号 Operator("=") ← 演算子 Punctuation('[') ← 記号 Punctuation(']') ← 記号 pub enum Token<'a> { Ident(&'a str), // 変数名: qsort, xs Literal(Literal<'a>), // 値: 42, "hello" Keyword(&'a str), // 予約語: let, in, where Operator(&'a str), // 演算子: +, ++, == Punctuation(char), // 記号: (, ), [, ] OpenBrace, // { (自動挿入) CloseBrace, // } (自動挿入) Separator, // ; (自動挿入) }