Skip to content

Terms used in this documentation

Most pages use the terms below. Pages about parser implementation use additional programming terms and define them where they appear.

Language and specification

Core syntax : Syntax every Carve parser must support. It is available without enabling an optional feature.

Optional feature : Behavior that an application must enable or provide. Citations and automatic links for @mentions are examples. The specification calls widely implemented optional features Tier 2 and implementation-specific features Tier 3. Those tier names are used only where the distinction matters.

Specification : The rules that define valid Carve input and its meaning. A page marked normative is part of those rules. Explanations, tutorials, and design notes are not normative.

Conformance tests : Carve input paired with the exact output an implementation must produce. The repository sometimes calls the complete set a conformance corpus.

Standard form : The spelling written by the formatter. The specification uses canonical form for the same concept.

Parsing and output

Abstract syntax tree (AST) : The structured document produced by a parser. Application developers may use it to inspect or change a document before rendering it. Authors do not need to understand the AST to write Carve.

Render : Convert a parsed Carve document to an output format such as HTML, Markdown, plain text, or ANSI terminal text.

Output warning : A report that identifies content an output format cannot represent. API reference pages may call this a render loss.

Fallback output : The non-interactive or simpler representation used when an output format cannot reproduce a feature. For example, a diagram may become its source text. Some specification pages call this graceful degradation.

Round trip : Convert a document to another representation and back, then compare the result with the original.

Raw HTML passthrough : The explicit ```=html block and `...`{=html} inline forms, whose contents may be emitted as HTML. Ordinary HTML tags are always text. Disable raw HTML passthrough when processing untrusted input.

Extensions

Extension : Optional code that recognizes a named inline form or block and controls its output. Inline extensions use :name[content]; block extensions use ::: name. If no extension handles the name, Carve keeps the content in an ordinary span or div.

Profile : A set of content restrictions applied by an application. A profile can, for example, reject images in comments while allowing them in articles.

Host application : The program that calls a Carve parser or renderer. It supplies configuration, optional extensions, and application-specific URLs.

Similar terms that are not interchangeable

  • Parse reads Carve and creates a structured document.
  • Format writes that document back as Carve source.
  • Render writes it in another output format.
  • Convert moves between Carve and another document format or editor model.

Released under the MIT License.