Skip to main content

Module parse

Module parse 

Source
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§

RawSymbolName
A raw symbol name as written in the source (without the leading @), optionally carrying the :Kind annotation for the binder.

Enums§

EpisodeAction
Which Episode-boundary action a (episode …) form carries.
FlagAction
Which flag a (pin …) / (unpin …) / (authoritative-set …) / (authoritative-clear …) form operates on. Emitted into FlagEventRecords at the canonical layer per ir-canonical-form.md opcodes 0x350x38.
ParseError
Errors produced by parse.
RawValue
A raw value in a memory slot — pre-binding analogue of crate::Value.
UnboundForm
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§

KeywordArgs
Order-insensitive keyword arguments for a form.
QuerySelector
A selector in a query form — currently parsed as a RawValue for forward compatibility; the read-protocol milestone refines this into a richer query DSL.