Expand description
Semantic analysis passes.
Provides analysis passes that transform parsed AST into analyzed form:
- Name resolution (symbol_table)
- Dependency analysis and recursion detection (dependencies)
- Type inference (type_check)
- Grammar linking (link)
- Semantic validation (validation)
Re-exports§
pub use dependencies::DependencyAnalysis;pub use link::LinkOutput;pub use symbol_table::SymbolTable;pub use symbol_table::UNNAMED_DEF;pub use type_check::TypeContext;pub use type_check::infer_types;pub use type_check::primary_def_name;pub use validation::validate_alt_kinds;pub use validation::validate_anchors;pub use validation::validate_empty_constructs;pub use validation::validate_predicates;pub use visitor::Visitor;pub use visitor::walk_expr;
Modules§
- dependencies
- Dependency analysis for definitions.
- link
- Link pass: resolve node types and fields against tree-sitter grammar.
- refs
- Utilities for working with definition references in expressions.
- symbol_
table - Symbol table: name resolution and reference checking.
- type_
check - Unified type checking pass.
- validation
- Semantic validation passes.
- visitor
- AST Visitor pattern.
Functions§
- validate_
recursion - Validate recursion using the pre-computed dependency analysis.