Expand description
Pascal Compiler - A production-ready optimizing Pascal compiler
Re-exports§
pub use ast::Block;pub use ast::Expr;pub use ast::Expression;pub use ast::ForDirection;pub use ast::FunctionDecl;pub use ast::Literal;pub use ast::Module;pub use ast::ModuleError;pub use ast::ModuleResult;pub use ast::Parameter;pub use ast::ProcedureDecl;pub use ast::Program;pub use ast::SimpleType;pub use ast::Statement;pub use ast::Stmt;pub use ast::Type;pub use ast::Unit;pub use error::CompileOptions;pub use error::CompileResult;pub use error::CompilerError;pub use error::ParseError;pub use error_suggestions::did_you_mean;pub use error_suggestions::suggest_identifier;pub use error_suggestions::suggest_similar;pub use source_map::SourceMap;pub use source_map::SourceMapping;pub use interpreter::Interpreter;pub use lexer::Lexer;pub use loader::ModuleLoader;pub use parallel::ParallelCompiler;pub use parallel::ParallelConfig;pub use parallel::ProgressTracker;pub use compilation_events::CompilationEvent;pub use compilation_events::EventEmitter;pub use compilation_events::EventHandler;pub use formatter::format_file;pub use formatter::format_string;pub use formatter::format_unit_file;pub use formatter::needs_formatting;pub use constant_eval::eval_constant;pub use constant_eval::is_constant;pub use docgen::generate_docs_from_source;pub use docgen::DocFormat;pub use conditional_compile::defines_from_args;pub use conditional_compile::preprocess;pub use advanced_types::infer_block_variable_types;pub use plugin::CompilerPlugin;pub use plugin::CompilationPhase;pub use plugin::PluginRegistry;pub use plugin::PluginResult;pub use resolver::ModuleResolver;pub use resolver::SymbolInfo;pub use resolver::SymbolKind;pub use resolver::SymbolTable;pub use tokens::Token;pub use unit_codegen::UnitCodeGenerator;
Modules§
- advanced_
optimizer - Advanced optimizations
- advanced_
types - Advanced type system features
- ast
- Unified AST definitions for Pascal - combining basic and enhanced features
- build_
system - Build system and package manager for Pascal projects.
- compilation_
events - Event-driven compilation phases
- conditional_
compile - Conditional compilation preprocessor
- constant_
eval - Compile-time constant evaluation
- debugger
- Interactive debugger with breakpoints and watch expressions
- docgen
- Documentation generator for Pascal sources
- error
- Simple error types for the Pascal compiler
- error_
suggestions - Error message suggestions using Levenshtein distance (“did you mean X?”)
- formatter
- Public API for the Pascal code formatter
- interpreter
- Tree-walking interpreter for Pascal programs
- lexer
- loader
- Module loader for loading and caching Pascal units
- optimizer
- Code optimization
- parallel
- Parallel compilation support using rayon
- parser
- Robust recursive descent Pascal parser Supports full Pascal language with error recovery
- plugin
- Plugin architecture for extending compiler functionality
- ppu
- PPU (Precompiled Pascal Unit) file format support
- register_
allocator - Register allocation using graph coloring
- resolver
- Symbol resolution across modules
- simd
- SIMD instruction support
- source_
map - Source maps for debugging generated code
- symbol_
table - Symbol table for code generation
- tokens
- traits
- Compiler trait definitions
- type_
checker - Type checking for code generation
- unit_
codegen - Unit-aware code generation
- utils
- Utility modules for common patterns (DRY principle)