Parse a program

Updated Jul 23, 2026

parse performs tokenization, CST construction, top-level for rule extraction, and parser-level validation before returning Parsed.

use ddlint::parse;

let source = "input relation R(x: u32);";
let parsed = parse(source);

assert!(parsed.errors().is_empty());
assert_eq!(parsed.root().relations().len(), 1);

Parsed also exposes parse-time semantic rules and the recovered parse-tree root so downstream stages can work with structured syntax data.