Expand description
JavaScript の字句解析器。
記号トークンは Sym(String) に統一し、最長一致で多文字演算子を切り出す。
コメント (//, /* */)、エスケープ付き文字列、16進/小数の数値、テンプレート
リテラル(${expr} 補間対応。各補間式の生ソースを切り出し、パーサ側で
独立したサブパーサとして構文解析する)に対応。
Structs§
Enums§
- Template
Part - テンプレートリテラルの構成要素。
Quasiはリテラルテキスト、Exprは${...}内の補間式の生ソース文字列(未パース。パーサ側でサブパーサに渡す)。 - Token
Constants§
- KEYWORDS 🔒
- 予約語。
- MAX_
LEX_ 🔒ERRORS - 記録する字句エラーの上限(壊れきった入力でメモリを食わないため)。
- SYMBOLS 🔒
- 記号テーブル(最長一致のため長い順)。
Functions§
- unescape 🔒
- エスケープ文字を解決。
\uXXXX/\xHHにも対応。行継続(\の直後が改行)は 仕様上「文字列に何も追加しない」ためNoneを返す(\r\nは1つの行終端として まとめて読み飛ばす)。