Triptych

5. Scope: supported tiers and current boundaries🔗

Triptych's expressiveness is layered. The grammar tier remains small enough for generated reconciliation proofs, constraints can narrow its language, and value escapes can return arbitrary types. This chapter describes the supported surface and the boundary of the current compiler.

Supported now. Triptych generates readable specifications, executable parsers, and reconciliation proofs for acyclic, non-recursive grammars built from literals, finite alternatives, optional items, sign, built-in digit, hexadecimal, and bit runs, inclusive ASCII ranges, separated repetition, and delimiter-bounded final payloads whose exact width is computed from earlier captures. Values and constraints may use the analyzable DSLs or user-supplied escape functions. Declared external parsers and printers receive explicit proof contracts.

Not currently supported. The generated grammar surface does not directly support the arbitrary character predicates or unseparated repetition needed by general Base64, delimiter-free or internal capture-dependent boundaries, or recursive formats such as JSON, s-expressions, and Cedar policies. The scanner architecture supports a header-selected tail grammar through Triptych.scanDependent, and the Graph6 example exercises that API, but automatic specification, view, and derivation generation for that general staged form remains future work.

  1. 5.1. Grammar
  2. 5.2. Values and constraints
  3. 5.3. Ambiguity and static certificates