1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// Copyright 2024-2026 Jonathan Shook
// SPDX-License-Identifier: Apache-2.0
//! Polydat DSL: lexer, parser, and AST for `.polydat` kernel definition files.
/// 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.
pub
/// Grammar-based free-name extraction — the canonical way for
/// validators and the YAML-fusion layer to learn which names an
/// expression references (no byte-scanning). See [`refs`].
/// Re-exported for external crates that register Polydat nodes via `register_nodes!`.
pub use ConstArg;
pub use ;
/// Collect identifier references from an `Expr` tree into `out`.
///
/// Walks every `Ident`, function call argument, binary/unary
/// operand, array element, and field-access source. String-
/// literal placeholders (`{name}` form) contribute their
/// identifier-shaped placeholder bodies.
///
/// Cross-crate consumers (e.g. the host's SRD-13f
/// synthesizer) use this to discover transitive wire refs from
/// a binding's RHS without depending on the private `validate`
/// module.
/// Return the embedded standard library module sources.
///
/// Each entry is `(filename, source_text)` — the same data used by the
/// compiler's module resolver at build time.