Expand description
再帰下降 + 優先順位クライミングの JS パーサ。
全トークンを Vec<Token> に集めてインデックスで走査するため、アロー関数判定の
ような任意先読みが容易。エラーは致命的にせずベストエフォートで継続する
(失敗箇所は Expression::Undefined / Statement::Empty にフォールバック)。
セミコロンは任意(改行ベースの ASI は簡易扱い)。
Structs§
- Chunked
Vec - 固定長の塊を並べた追記専用の配列(索引で引ける)。
- Parse
Error - 回復して解析を続けた構文エラー 1 件。
- Parser
Constants§
- LAZY_
MIN_ 🔒TOKENS - これ未満のトークン数の関数本体は遅延させずにその場で解析する(小さい関数は保持コストの方が大きい)。
- MAX_
RECORDED_ 🔒ERRORS - 記録する構文エラーの上限。壊れきった入力で無制限にメモリを食わないため。
Functions§
- bin_
prec 🔒 - describe_
token 🔒 - エラーメッセージ用にトークンを短く説明する。
- is_
assign_ 🔒op - is_
right_ 🔒assoc - parse_
function_ body_ source - 遅延した関数本体のソース(
{と}の内側)を解析する。入れ子の関数もまた遅延する。 - to_
binop 🔒 - to_
logical 🔒