| Cmx::ArgException< String > | Exception type thrown for argument parsing errors |
| CArgs | |
| Cmx::Argument< String > | A parsed or registered command-line argument definition |
| Cmx::ArgumentData< String > | Raw argument data collected from argc/argv |
| Cmx::Arguments | Parsed SDL program arguments (resolution, path, fullscreen) |
| Cmx::Argz< String > | Generic command-line argument parser supporting single/double-dash options |
| Cpascal::ArrayInfo | Metadata describing a Pascal array's bounds, element type, and sizing |
| Cmxvm::ASTNode | Abstract base class for all AST nodes |
| Cmxvm::CommentNode | AST node for a source-level comment |
| Cmxvm::ExpressionNode | AST node for a literal expression value |
| Cmxvm::InstructionNode | AST node representing a single MXVM instruction with its operands |
| Cmxvm::LabelNode | AST node for a label (or function entry point) in the code section |
| Cmxvm::ModuleNode | AST node for a module import declaration |
| Cmxvm::ObjectNode | AST node for an object import declaration |
| Cmxvm::ProgramNode | Root AST node representing an entire program or object |
| Cmxvm::SectionNode | Represents a program section (.data, .code, .module, .object) |
| Cmxvm::VariableNode | AST node for a variable declaration in a .data section |
| Cpascal::ASTNode | Abstract base class for all AST nodes |
| Cpascal::AddressOfNode | AST node for an address-of expression (@operand) |
| Cpascal::ArrayAccessNode | AST node for an array element access (arr[index]) |
| Cpascal::ArrayAssignmentNode | AST node for assigning to an array element (arr[index] := value) |
| Cpascal::ArrayDeclarationNode | AST node for a named array variable declaration |
| Cpascal::ArrayTypeDeclarationNode | AST node for a named array type declaration (type Name = array[...]) |
| Cpascal::ArrayTypeNode | AST node for an array type (array[lower..upper] of elementType) |
| Cpascal::AssignmentNode | AST node for an assignment statement (variable := expression) |
| Cpascal::BinaryOpNode | AST node for a binary operator expression |
| Cpascal::BlockNode | AST node representing a block (declarations + compound statement) |
| Cpascal::BooleanNode | AST node for a boolean literal (true / false) |
| Cpascal::BreakNode | AST node for a break statement |
| Cpascal::CaseStmtNode | AST node for a case statement |
| Cpascal::CompoundStmtNode | AST node for a compound statement (begin ... end) |
| Cpascal::ConstDeclNode | AST node for constant declarations (const id = value) |
| Cpascal::ContinueNode | AST node for a continue statement |
| Cpascal::EmptyStmtNode | AST node for an empty statement (no-op) |
| Cpascal::EnumTypeDeclNode | AST node for an enumerated type declaration (type Color = (Red, Green, Blue)) |
| Cpascal::ExitNode | AST node for an exit / halt statement |
| Cpascal::FieldAccessNode | AST node for accessing a record field (record.field) |
| Cpascal::ForStmtNode | AST node for a for loop (for var := start to/downto end do stmt) |
| Cpascal::FuncCallNode | AST node for a function call expression |
| Cpascal::FuncDeclNode | AST node for a function declaration |
| Cpascal::GotoStmtNode | AST node for a goto statement |
| Cpascal::IfStmtNode | AST node for an if-then-else statement |
| Cpascal::LabelStmtNode | AST node for a label definition (label: statement) |
| Cpascal::NilNode | AST node for the nil literal |
| Cpascal::NumberNode | AST node for an integer or real numeric literal |
| Cpascal::ParameterNode | AST node for a formal parameter list entry |
| Cpascal::PointerDerefNode | AST node for a pointer dereference (ptr^) |
| Cpascal::PointerTypeNode | AST node for a pointer type declaration (^BaseType) |
| Cpascal::ProcCallNode | AST node for a procedure call statement |
| Cpascal::ProcDeclNode | AST node for a procedure declaration |
| Cpascal::ProgramNode | AST node for a complete program (program name + block) |
| Cpascal::RecordDeclarationNode | AST node for a named record declaration |
| Cpascal::RecordTypeNode | AST node for a record type (record ... end) |
| Cpascal::RepeatStmtNode | AST node for a repeat..until loop |
| Cpascal::SetLiteralNode | AST node for a set literal [val1, val2, ...] |
| Cpascal::SetTypeNode | AST node for a set type declaration (set of <base type>) |
| Cpascal::SimpleTypeNode | AST node for a simple (named) type reference |
| Cpascal::StringNode | AST node for a string literal |
| Cpascal::TypeAliasNode | AST node for a type alias (type NewName = ExistingType) |
| Cpascal::TypeDeclNode | AST node for a type declaration section |
| Cpascal::UnaryOpNode | AST node for a unary operator expression |
| Cpascal::UnitNode | AST node for a Pascal unit (separately compiled module) |
| Cpascal::VarDeclNode | AST node for variable declarations (var id1, id2 : type) |
| Cpascal::VariableNode | AST node for a variable reference |
| Cpascal::WhileStmtNode | AST node for a while loop (while cond do stmt) |
| Cpascal::WithStmtNode | AST node for a with statement (with record do statement) |
| Cmxvm::ASTVisitor | Visitor interface for traversing the AST node hierarchy |
| Cpascal::ASTVisitor | Abstract visitor interface for the AST (double-dispatch) |
| Cpascal::CodeGenVisitor | AST visitor that generates MXVM intermediate code |
| Cmxvm::Base | Base class for instruction storage, variables, labels, and external function registrations |
| Cmxvm::Program | Complete MXVM program: instruction interpreter and native x64 code generator |
| Cpascal::BuiltinFunctionHandler | Abstract handler for a group of built-in functions/procedures |
| Cpascal::FileFunctionHandler | Built-in handler for Pascal file I/O procedures (assign, reset, rewrite, append, close, eof, eoln) |
| Cpascal::IOFunctionHandler | Built-in handler for I/O procedures (write, writeln, read, readln) |
| Cpascal::SDLFunctionHandler | Built-in handler for SDL2 bindings |
| Cpascal::StdFunctionHandler | Built-in handler for standard library functions (chr, ord, inc, dec, etc.) |
| Cpascal::StringFunctionHandler | Built-in handler for string library functions (length, copy, concat, etc.) |
| Cpascal::BuiltinFunctionRegistry | Registry of BuiltinFunctionHandler instances |
| Cpascal::CaseStmtNode::CaseBranch | A single case branch (one or more values mapping to a statement) |
| Cpascal::ConstDeclNode::ConstAssignment | A single constant name = value pair |
| Cexpr_parser::ExprLexer | Lexer for constant integer expressions |
| Cexpr_parser::ExprParser | Recursive-descent parser and evaluator for constant integer expressions |
| Cexpr_parser::ExprToken | A single expression token holding its type and optional numeric value |
| Cmxvm::ExternalFunction | Describes an external function imported from a module or object |
| Cpascal::CodeGenVisitor::FuncInfo | Describes a user-declared function's parameter and return types |
| Cmxvm::Function< Sig > | |
| Cmxvm::Function< R(Args...)> | RAII wrapper for dynamically loaded functions via dlopen/dlsym |
| Cmxvm::HTMLGen | Generates syntax-highlighted HTML output from MXVM source code |
| Cmxvm::Instruction | A complete MXVM instruction with opcode, operands, and optional label |
| Cmxvm::ModuleParser | Parser for MXVM module definition files (.mxvm) |
| Cmxvm::Operand | A single instruction operand (constant value or variable reference) |
| Cmxvm::OpSpec | Specification of valid operand patterns for an instruction |
| Cmxvm::ParsedOp | A parsed operand with its kind, text, and source location |
| Cmxvm::Parser | Main MXVM parser — tokenizes source, builds AST, and generates intermediate code |
| Cmxvm::PasHTMLGen | Generates syntax-highlighted HTML output from Pascal (.pas) source code |
| Cpascal::CodeGenVisitor::RecordField | A field within a record type definition |
| Cpascal::CodeGenVisitor::RecordTypeInfo | Complete description of a record type |
| Cstd::runtime_error | |
| Cmx::Exception | General-purpose exception with errno-aware factory method |
| Cpascal::ParseException | Exception thrown on parse errors |
| Cmxvm::RuntimeFunction | Wraps a dynamically loaded native function from a shared library module |
| Cscan::ScanExcept | Exception thrown during scanning errors |
| Cscan::Scanner | Lexical scanner that tokenizes source text |
| Cmxx::Scope | A single scope level, tracking declared identifiers by category |
| Cpascal::CodeGenVisitor::Scope | |
| Cmxvm::Stack | Runtime operand stack for the MXVM interpreter |
| Cscan::buffer::StringBuffer< Ch, String > | Character-by-character string buffer with line/column tracking |
| Cscan::token::Token< Ch, String > | A scanned token with type, value, and source position |
| Cscan::token::TokenMap< Ch, MAX_SIZE > | Maps characters to their lexical category (letter, digit, symbol, etc.) |
| Cmxx::TPValidator | Semantic validator for Pascal programs |
| Cmxvm::UseLabel | Records a label usage site for validation |
| Cmxvm::UseVar | Records a variable usage site for validation |
| Cmxvm::Validator | Validates MXVM source for correct variable/label usage and instruction operands |
| Cpascal::CodeGenVisitor::ValueLocation | Describes where a value currently resides (register, memory, or immediate) |
| Cmxvm::Variable | A named variable with type, value, and optional object association |
| Cmxvm::Variable_Value | Runtime value storage for a variable |
| Cpascal::VariantArm | A single variant arm inside a variant record |
| Cmxvm::Validator::VarNamePair | A variable name paired with its declaration token |
| Cmxx::XParser | Base parser providing token-stream navigation |
| Cpascal::PascalParser | Recursive-descent parser for the Pascal language |