pub use polydat_grammar::{
ast, error, lexer, parser, pprint, pragmas, refs, tile, tile_structural,
};
pub mod compile;
pub mod const_constraints;
pub mod cursor_sugar;
pub mod events;
pub mod factories;
pub mod factory;
pub mod registry;
pub mod tile_lower;
pub mod transform;
pub mod traversal;
pub(crate) mod validate;
pub mod stub;
pub use factory::ConstArg;
mod binding;
mod modules;
pub use compile::{
CompileOptions, compile_ast_with_engine, compile_ast_with_options, compile_polydat,
compile_polydat_checked, compile_polydat_kernel, compile_polydat_kernel_with_options,
compile_polydat_kernel_with_tiles, compile_polydat_with, compile_polydat_with_engine,
compile_polydat_with_options, eval_const_expr,
};
#[allow(deprecated)]
pub use compile::{
compile_polydat_strict, compile_polydat_with_libs, compile_polydat_with_libs_and_limit,
compile_polydat_with_outputs, compile_polydat_with_path,
};
pub fn collect_expr_references(expr: &ast::Expr, out: &mut std::collections::HashSet<String>) {
validate::collect_references(expr, out);
}
pub fn stdlib_sources() -> &'static [(&'static str, &'static str)] {
compile::stdlib_sources()
}