Skip to main content

Crate perl_semantic_analyzer

Crate perl_semantic_analyzer 

Source
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§

NodeKind
Comprehensive enumeration of all Perl language constructs supported by the parser.

Type Aliases§

SourceLocation
Type alias for backward compatibility with SourceLocation.