perl_parser_core/syntax/mod.rs
1//! Syntax-level types and utilities absorbed from Wave D satellite crates.
2//!
3//! This module contains the internal implementations of AST-adjacent utilities
4//! that were previously published as separate satellite crates. They are now
5//! internal modules of `perl-parser-core`.
6//!
7//! # Visibility pattern
8//!
9//! - `error` is an internal submodule exposed via `engine::error` (and
10//! root-level re-exports like `ParseError`, `ParseOutput`, `error_classifier`).
11//! - `edit` and `heredoc` are re-exported at crate root under their own names
12//! (`syntax::edit`, `heredoc_collector`).
13//! - `path_normalize`, `path_security`, `percentile`, `qualified_name`,
14//! `source_file`, and `text_line` are re-exported directly at crate root
15//! so consumers use `perl_parser_core::path_normalize` etc.
16//! - `quote` is only accessed via `engine::quote_parser` to keep quote-parsing
17//! concerns encapsulated behind the engine boundary.
18
19/// Edit tracking for incremental parsing (previously `perl-edit`).
20pub mod edit;
21/// Error types, classification, and recovery strategies (previously `perl-error`).
22pub mod error;
23/// Heredoc collector and processor (previously `perl-heredoc`).
24pub mod heredoc;
25/// Secure workspace-relative path normalization (previously `perl-path-normalize`).
26pub mod path_normalize;
27/// Workspace-bound path validation and traversal prevention (previously `perl-path-security`).
28pub mod path_security;
29/// Percentile helpers for integer metric samples (previously `perl-percentile`).
30pub mod percentile;
31/// Perl qualified-name parsing, splitting, and validation helpers (previously `perl-qualified-name`).
32pub mod qualified_name;
33/// Quote operator parsing helpers (previously `perl-quote`).
34pub mod quote;
35/// Perl source-file classification helpers (previously `perl-source-file`).
36pub mod source_file;
37/// Text-line cursor and boundary helpers (previously `perl-text-line`).
38pub mod text_line;