1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//! General-purpose Algol codec for the SIM runtime: the infix, Pratt-parsed
//! surface that round-trips every expression through the shared `Expr` graph.
//!
//! A decoder tokenizes infix source and parses it with a precedence-driven
//! Pratt parser into checked `Expr` forms; an encoder serializes any `Expr`
//! back to infix text, inserting parentheses according to operator binding
//! power. Like the Lisp codec, it covers the full expression graph rather than
//! a single domain, so any value the kernel can hold round-trips through it.
//!
//! # Module map
//!
//! All submodules are private; their public items are re-exported at the crate
//! root. `parse` tokenizes and decodes infix source into located expression
//! trees and exposes `ParseCx`, `SpannedToken`, and the `decode_algol_located`
//! family. `pratt` holds the precedence-climbing parser (`PrattParser`) and the
//! operator table (`default_pratt_table`, `supports_pratt`). `encode` renders
//! any `Expr` back to infix text (`encode_algol`). `runtime` provides the `Lib`
//! registration (`AlgolCodec`, `AlgolCodecLib`) that wires the codec into the
//! runtime.
pub use encode_algol;
pub use ;
pub use ;
pub use ;