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::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::Type;
pub use ast::Unit;
pub use ast::Expr;
pub use ast::Stmt;
pub use error::CompileOptions;
pub use error::CompileResult;
pub use error::CompilerError;
pub use error::ParseError;
pub use lexer::Lexer;
pub use loader::ModuleLoader;
pub use parallel::ParallelCompiler;
pub use parallel::ParallelConfig;
pub use parallel::ProgressTracker;
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;
pub use interpreter::Interpreter;
pub use interpreter_value::Value;
pub use interpreter_scope::Scope;
pub use interpreter_scope::ScopeStack;
pub use interpreter_function::UserFunction;
pub use interpreter_function::FunctionRegistryImpl;
pub use interpreter_traits::*;

Modules§

advanced_optimizer
Advanced optimizations
advanced_types
Advanced type system features
ast
Unified AST definitions for Pascal - combining basic and enhanced features
enhanced_ast
enhanced_codegen
enhanced_tokens
error
Simple error types for the Pascal compiler
interpreter
Tree-walking interpreter for Pascal programs
interpreter_function
User-defined function and procedure support
interpreter_scope
Variable scope management for the interpreter
interpreter_traits
Trait definitions for interpreter components
interpreter_value
Runtime value type for the interpreter
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
ppu
PPU (Precompiled Pascal Unit) file format support
register_allocator
Register allocation using graph coloring
resolver
Symbol resolution across modules
simd
SIMD instruction support
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)