/** * # vocab — the single source for every closed lexical vocabulary * * Each runtime table below is DERIVED from a closed string-union in {@link ./ast.ts}, so the * vocabulary the parser recognizes and the printer emits can never silently drift from the * type that defines the language. Every table is a `Record`: removing a union * member leaves an excess key here (a compile error at the table), and adding a member leaves * a missing key here (also a compile error at the table). The human-facing ordered lists * (`ANCHOR_NAMES`, `TIME_UNITS_LIST`) come from `Object.keys` of those Records — insertion * order is stable for non-integer keys — so "expected one of …" error strings are * single-sourced too, never a hand-retyped third copy. * * `parse.ts` and `print.ts` consume this module; neither keeps a private copy (ADR-0004: the * two projections must agree, and the surest way is to read the same table). */ import type { AnchorName, ClockStop, CompareOp, ProvenanceTier, TimeHeldStop, TimeUnit } from "./ast.ts"; /** Ordered for the "a time unit (…)" / "expected one of …" parse messages. */ export declare const TIME_UNITS_LIST: readonly TimeUnit[]; export declare const TIME_UNITS: ReadonlySet; export declare const ORDINAL_PREFIX: "d"; export declare const EXPIRY_PREFIX: "e"; /** Ordered for the "an anchor (fair, intrinsic, …)" parse message. */ export declare const ANCHOR_NAMES: readonly AnchorName[]; export declare const ANCHORS: ReadonlySet; export declare const TIME_STOP_KEYWORDS: Readonly>; /** `held` — the lead keyword of a `TimeHeldStop` (`EXIT held 90m`). */ export declare const HELD_STOP_KEYWORD: string; /** `clockET` — the lead keyword of a `ClockStop` (`EXIT clockET 15:40`). The NEW vocab token. */ export declare const CLOCK_STOP_KEYWORD: string; export declare const FILL_EVENTS: ReadonlySet; export declare const STANDINGS: ReadonlySet; export declare const GRADE_WHATS: ReadonlySet; export declare const CITATION_ALGOS: ReadonlySet; /** Authority ordering for the provenance ceiling: a higher rank is more authority. The * Record over `ProvenanceTier` doubles as the closed-vocabulary table — membership is its * key set, so the rank map and the tier vocabulary can never diverge. */ export declare const PROV_RANK: Readonly>; export declare const PROV_TIERS: ReadonlySet; /** The canonical direction the printer emits (op → punctuation). `Record` * keeps it exhaustive over the union. */ export declare const CMP_TO_PUNCT: Readonly>; /** The parser's inverse (punctuation → op), derived mechanically from `CMP_TO_PUNCT` so the * two directions are one table, not two hand-kept copies that could disagree. */ export declare const CMP_FROM_PUNCT: Readonly>; /** 1-based ordinals; index 0 (`zeroth`) is a slot filler so `ORDINALS[n]` lines up with the * cardinal `n` (the printer refuses n < 1, the parser matches from index 1). */ export declare const ORDINALS: readonly string[]; //# sourceMappingURL=vocab.d.ts.map