chickadee » abnf » define-bi-datatype

(define-bi-datatype TYPENAME PRED VARIANT ...)syntax

The sum-type counterpart of define-bi-rule: generates a datatype (via the datatype egg) named TYPENAME with predicate PRED, one variant per VARIANT, and a matching bidirectional parser named bi-TYPENAME that tries each variant's rule in turn. Each VARIANT should be of the form

 VARIANT = (VARIANT-NAME CLAUSE ...)

with CLAUSE ... following the same field/fixed-part convention as define-bi-rule.