Skip to main content

Crate pascal

Crate pascal 

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