Expand description
Semantic analysis, symbol extraction, and type inference for Perl.
Walks a parsed AST to build scoped symbol tables, resolve declarations and references, and perform lightweight type inference. The resulting semantic model powers go-to-definition, find-references, and diagnostic providers in the LSP server.
Re-exports§
pub use analysis::class_model;pub use analysis::declaration;pub use analysis::index;pub use analysis::scope_analyzer;pub use analysis::semantic;pub use analysis::symbol;pub use analysis::type_inference;pub use perl_parser_core::pragma_tracker;
Modules§
- analysis
- Semantic analysis, symbol extraction, and type inference. Semantic analysis, symbol extraction, and type inference.
- ast
- Abstract Syntax Tree (AST) definitions for Perl parsing. AST facade for the core parser engine.
- edit
- Edit tracking for incremental parsing (previously
perl-edit). Edit tracking for incremental parsing - error
- Error types and recovery strategies for parser failures. Error types and recovery helpers for the parser engine.
- parser
- Core parser implementation for Perl source. Recursive descent Perl parser.
- parser_
context - Parser context with error recovery support. Parser context with error recovery support
- position
- Position tracking types and UTF-16 mapping utilities. Enhanced position tracking for incremental parsing
- quote_
parser - Quote operator parsing helpers (previously
perl-quote). Uniform quote operator parsing for the Perl parser. - util
- Tokenization utilities shared by parser-facing entry points.
- workspace_
index - Core workspace-wide symbol index and lookup/query API. Workspace-wide symbol index for fast cross-file lookups in Perl LSP.
Structs§
- Node
- Core AST node representing any Perl language construct within parsing workflows.
- Parser
- Parser state for a single Perl source input.
Enums§
- Node
Kind - Comprehensive enumeration of all Perl language constructs supported by the parser.
Type Aliases§
- Source
Location - Type alias for backward compatibility with
SourceLocation.