Skip to main content

Module parser

Module parser 

Source
Expand description

Parses BESL tokens into syntax nodes that preserve the source structure.

§Example shader

Light: struct {
    position: vec3,
    color: vec3,
}

main: fn () -> void {
    gl_Position = vec4(0.0, 0.0, 0.0, 1.0);
}

Use crate::parse as the entry point. The parser records cross-references by name. The crate::lexer module resolves those names later.

Structs§

Node
ProgramState

Enums§

Expressions
Nodes
ParsingFailReasons
TypeName
The TypeName enum preserves type structure while the parser still borrows source text.

Type Aliases§

NodeReference
A shared syntax node in a parsed BESL tree.