Expand description
Lisp S-expression parser for the Mimir write surface.
Implements docs/concepts/ir-write-surface.md § 5 — the ten top-level
forms (sem, epi, pro, inf, alias, rename, retire,
correct, promote, query) with positional required fields and
order-insensitive keyword arguments.
The parser produces UnboundForm ASTs where every symbol is still
a RawSymbolName — binding into a workspace-scoped SymbolId is
the next pipeline stage (see librarian-pipeline.md § 3.4).
Structs§
- RawSymbol
Name - A raw symbol name as written in the source (without the leading
@), optionally carrying the:Kindannotation for the binder.
Enums§
- Episode
Action - Which Episode-boundary action a
(episode …)form carries. - Flag
Action - Which flag a
(pin …)/(unpin …)/(authoritative-set …)/(authoritative-clear …)form operates on. Emitted intoFlagEventRecords at the canonical layer perir-canonical-form.mdopcodes0x35–0x38. - Parse
Error - Errors produced by
parse. - RawValue
- A raw value in a memory slot — pre-binding analogue of
crate::Value. - Unbound
Form - An unbound AST form — the parser’s output.
Constants§
- MAX_
NESTING_ DEPTH - Maximum recursion depth permitted in the recursive-descent parser.
Functions§
- parse
- Parse a UTF-8 input into a sequence of
UnboundForms.
Type Aliases§
- Keyword
Args - Order-insensitive keyword arguments for a form.
- Query
Selector - A selector in a
queryform — currently parsed as aRawValuefor forward compatibility; the read-protocol milestone refines this into a richer query DSL.