Skip to main content

Module lexer

Module lexer 

Source
Expand description

JavaScript の字句解析器。

記号トークンは Sym(String) に統一し、最長一致で多文字演算子を切り出す。 コメント (//, /* */)、エスケープ付き文字列、16進/小数の数値、テンプレート リテラル(${expr} 補間対応。各補間式の生ソースを切り出し、パーサ側で 独立したサブパーサとして構文解析する)に対応。

Structs§

LexError
字句解析で検出した異常(回復して継続した箇所)。
Lexer

Enums§

TemplatePart
テンプレートリテラルの構成要素。Quasi はリテラルテキスト、Expr${...} 内の補間式の生ソース文字列(未パース。パーサ側でサブパーサに渡す)。
Token

Constants§

KEYWORDS 🔒
予約語。
MAX_LEX_ERRORS 🔒
記録する字句エラーの上限(壊れきった入力でメモリを食わないため)。
SYMBOLS 🔒
記号テーブル(最長一致のため長い順)。

Functions§

unescape 🔒
エスケープ文字を解決。\uXXXX / \xHH にも対応。行継続(\ の直後が改行)は 仕様上「文字列に何も追加しない」ため None を返す(\r\n は1つの行終端として まとめて読み飛ばす)。