2.4. Module Organization
The project is organized into several module groups.
The table below is regenerated at doc-elaboration time by walking each
group's source directory under L4YAML/, so the file lists stay in
sync with the actual code.
Group | Key Modules | Purpose |
|---|---|---|
Spec |
| Type definitions, token types, grammar inductive, spec production predicates. |
Config |
|
Parser limits and configuration presets ( |
Scanner |
|
Character-to-token conversion with full state management. Split into role-named submodules; the umbrella |
Parser |
|
Token-to-AST recursive descent. |
Surface |
| Formal YAML 1.2.2 surface-syntax grammar productions used to state and discharge the acceptance-strictness theorem. |
Schema |
|
Core Schema type resolution, structural API ( |
Output |
|
Canonical |
FFI |
|
C/Python/Rust bindings via |
Proofs | 63 modules | Machine-checked theorems for soundness, completeness, progress, and well-formedness. |