Skip to content

Pipeline: Tree traversal

Giorgio Garofalo edited this page Feb 26, 2025 · 4 revisions

← Back to Pipeline

Tree traversal

Main packages: core.ast.iterator, core.context.hooks

After the function calls have been expanded, the AST is traversed depth-first to gather enriched information about the document, such as:

  • Heading hierarchy, used for the table of contents;
  • Numbering: each heading, figure, and others is assigned a unique number based on its location in the heading hierarchy;
  • Link definition bound to each link reference;

For clear performance reasons, only one traversal is performed during this stage. Each operation can however act independently by attaching its own hook to the tree iterator, which is triggered when nodes of a certain kind are encountered.

See next: Rendering

Clone this wiki locally