Skip to main content

Module parser

Module parser 

Source
Expand description

Hand-written recursive-descent parsers for the ecma and python dialects (FR-A04..A06, FR-A12).

Contract: text in, Pattern or a catalogue error out; never a panic, never an approximation (RULE-05). Unsupported constructs are recognised and rejected with their own code. Invariant: nesting is bounded by ParseLimits::max_depth, so hostile input cannot overflow the stack. Dialect rules are kept in separate functions (esc_ecma, esc_py, …) and never unified (RULE-10).

Structs§

ParseLimits
Bounds enforced while parsing (RULE-08).
Pattern
A parsed pattern.