Skip to main content

parse_units

Function parse_units 

pub fn parse_units(
    tokens: &[Token],
    source: &str,
) -> Result<Vec<SourceUnit>, Vec<CompileError>>
Expand description

Parse a token slice into all the top-level SourceUnits in one file (v0.113, testing track slice 1b). A .bynk file may hold more than one top-level declaration — an atomic file with commons/context and a suite together (DECISION S) — so the compiler parses a Vec, not a single unit. Test-ness is a property of each declaration, not of the file.

Bails on the first malformed declaration (like parse_unit, not the recovering LSP path). An empty file is an error.