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(waspub(crate)) so crates that host polydat nodes outside the polydat crate (host runtimes) can reachConstArg,compile_ctx, andbuild_nodefrom theirregister_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 →
.polydatsource 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
tilestatement 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
forconstruct (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
Exprtree intoout. - stdlib_
sources - Return the embedded standard library module sources.