Skip to content

AST interchange rules

The core serialized tree shape, source positions, and cross-implementation AST guarantees.

This view contains 36 of 249 active rules. Every rule remains mandatory where applicable.

Return to the rule index or read the complete formal grammar.

RulePartClause
CARVE-P9-0129SMART TYPOGRAPHY RECORDS SOURCE AND RESOLVED KIND
CARVE-P12-00112AST TYPE NAMES FOLLOW THE PROFILE VOCABULARY
CARVE-P12-00212ADJACENT TEXT RUNS ARE COALESCED
CARVE-P12-00312TEXT COALESCING OCCURS DURING parse(x), NOT SERIALIZATION
CARVE-P12-00412THE U+E000 SENTINEL
CARVE-P12-00512THE SERIALIZED TREE IS PRE-RESOLVE
CARVE-P12-00612A RESOLVED REFERENCE KEEPS ITS DESTINATION
CARVE-P12-00712A NESTED LINK AND AN AUTOLINK STAY NODES
CARVE-P12-00812A DESTINATION IS THE AUTHOR'S TEXT, UNSANITIZED
CARVE-P12-01012A CROSSREF REMAINS A HEADING-REFERENCE NODE AFTER RESOLUTION
CARVE-P12-01112A SPAN CONTAINS ITS CHILDREN'S SPANS
CARVE-P12-01212A SPAN COVERS THE MARKUP THE AUTHOR WROTE
CARVE-P12-01312A SPAN BEGINS AT THE CONSTRUCT'S OPENING MARKUP
CARVE-P12-01412A SPAN ENDS IMMEDIATELY AFTER THE CONSTRUCT'S LAST OWNED SOURCE CODEPOINT
CARVE-P12-01512A HOISTED SIBLING IS NOT A CHILD, AND A CLOSERLESS CONTAINER ENDS BEFORE IT
CARVE-P12-01612A HOISTED DEFINITION MAY CLAIM SOURCE INSIDE THE CONTAINER IT WAS AUTHORED IN
CARVE-P12-01712A DEFINITION LIST ENDS AT ITS LAST PLACED CHILD
CARVE-P12-01812A CONTAINER WITH NO PLACED CHILD AT ALL SPANS ITS OWN MARKUP AND STOPS THERE
CARVE-P12-01912A CONTAINER STARTS AT ITS OPENING MARKUP EVEN WHERE ITS FIRST CHILD IS UNPLACED
CARVE-P12-02012A CONTAINER ENDS AT THE MARKUP THAT CLOSES IT EVEN WHERE ITS LAST CHILD IS UNPLACED
CARVE-P12-02112A SPAN DOES NOT BEGIN AT A LINE TERMINATOR
CARVE-P12-02212A REASSEMBLED NODE MUST OMIT pos
CARVE-P12-02312A GENERATED HEADING ID IS A RESOLUTION RESULT
CARVE-P12-02412THE DOCUMENT ROOT CARRIES EXACTLY THREE FIELDS
CARVE-P12-02512CONTENT IS RAW, NOT PARSED
CARVE-P12-02612AN ABBREVIATION DEFINITION IS RECOGNIZED ONLY AT DOCUMENT LEVEL
CARVE-P12-02712A DEFINITION LIST'S ENTRIES ARE NODES
CARVE-P12-02812HOW DEEP AN INGESTED AST MAY NEST
CARVE-P12-02912A LINK REFERENCE DEFINITION IS A NODE
CARVE-P12-03012A PROPERTY THE SCHEMA DOES NOT NAME IS REJECTED ON INGEST
CARVE-P12-03112A ROOT THAT DEVIATES FROM §7 IS REJECTED ON INGEST
CARVE-P12-03512A COMPOSITE FIGURE IS ITS OWN NODE TYPE
CARVE-P12-04112U+0000 IS REPLACED ON INGEST
CARVE-P12-04212AN INGESTED VALUE THE SCHEMA CALLS ABSENT IS NORMALIZED AWAY
CARVE-P12-04312A BLOCK IMAGE IS A NAMED FIELD ON THE PARAGRAPH
CARVE-P12-04412AN INGESTED blockImage VALUE IS AUTHORITATIVE

Released under the MIT License.