Skip to main content

Module dsl

Module dsl 

Source
Expand description

The Polydat compiler: from a parsed .polydat program to an assembler and a kernel. The language itself (lexer, parser, AST, pretty printer, pragmas, tile templates) lives in polydat_grammar and is re-exported here at its old paths.

Re-exports§

pub use factory::ConstArg;
pub use compile::CompileOptions;
pub use compile::compile_ast_with_engine;
pub use compile::compile_ast_with_options;
pub use compile::compile_polydat;
pub use compile::compile_polydat_checked;
pub use compile::compile_polydat_kernel;
pub use compile::compile_polydat_kernel_with_options;
pub use compile::compile_polydat_kernel_with_tiles;
pub use compile::compile_polydat_with;
pub use compile::compile_polydat_with_engine;
pub use compile::compile_polydat_with_options;
pub use compile::eval_const_expr;
pub use compile::compile_polydat_strict;Deprecated
pub use compile::compile_polydat_with_libs;Deprecated
pub use compile::compile_polydat_with_libs_and_limit;Deprecated
pub use compile::compile_polydat_with_outputs;Deprecated
pub use compile::compile_polydat_with_path;Deprecated

Modules§

ast
Abstract syntax tree for the Polydat DSL.
compile
DSL-to-assembly bridge: compile a parsed Polydat AST into a runtime kernel.
const_constraints
Assembly-time validation of Polydat node constant arguments.
cursor_sugar
Cursor-constructor sugar registry.
error
Structured error types for the Polydat DSL with rich source context.
events
Polydat compiler diagnostic event stream.
factories
Host-side registry view and extern resolvers.
factory
External-facing factory module. Made pub (was pub(crate)) so crates that host polydat nodes outside the polydat crate (host runtimes) can reach ConstArg, compile_ctx, and build_node from their register_nodes! invocations. Node factory: maps Polydat function names to runtime node instances.
lexer
Lexer for the Polydat DSL.
parser
Recursive descent parser for the Polydat DSL.
pprint
AST → .polydat source pretty-printer.
pragmas
Module-level pragmas for Polydat source.
refs
Grammar-based free-name extraction for Polydat expression text.
registry
Function registry: known function signatures for DSL validation.
stub
SRD-84 Part 3 — caller-native, typed polydat expression stubs.
tile
The tile template grammar (SRD 114 §2.2): holes, projections, branches, and the doubled-open escape, parsed over configurable delimiters and sigil. The textual front end for Polytile; the structural front end (§3) lowers to the same pieces.
tile_lower
Lowering a tile statement to a program (SRD 114 §6).
tile_structural
The structural front end and the host boundary of Polytile (SRD 114 §3, §5.6).
transform
Program transforms: host intentions expressed as changes to the program rather than as runtime behavior around it.
traversal
Compile-time support for the for construct (SRD 113 steps 2 and 3): element typing, body-to-child-program lowering, and the metadata a parent program carries for each traversal and producer.

Functions§

collect_expr_references
Collect identifier references from an Expr tree into out.
stdlib_sources
Return the embedded standard library module sources.