|
MXVM 1.8.1
Virtual Machine, Compiler, and Pascal Frontend
|
| include | |
| mxvm | |
| ast.hpp | AST node hierarchy for the MXVM parser using the Visitor pattern |
| function.hpp | Dynamic function loader using dlopen/dlsym for runtime symbol resolution |
| html_gen.hpp | HTML documentation generator from MXVM source code |
| icode.hpp | Intermediate code representation, execution engine, and native x64 code generation (SysV + Win64) |
| instruct.hpp | Instruction set enum, operand/instruction structs, variable types, and Variable/Variable_Value definitions |
| mxvm.hpp | Main MXVM header aggregating all subsystem includes |
| parser.hpp | Parser that tokenizes and parses MXVM source into programs, handles modules/objects, and dispatches code generation |
| valid.hpp | Validator for MXVM programs — checks variable/label usage and instruction operand specifications |
| version_info.hpp | |
| modules | |
| io | |
| io.c | I/O module C implementation — file operations, random numbers, and time functions |
| io.cpp | I/O module C++ runtime bindings for the MXVM interpreter |
| sdl | |
| mx_sdl.h | SDL2 module C API — function declarations for SDL2 bindings exported to MXVM programs |
| sdl.c | SDL2 module C implementation — window, renderer, texture, and event handling |
| sdl.cpp | SDL2 module C++ runtime bindings for the MXVM interpreter |
| std | |
| mx_std.h | Standard library module C API — function declarations exported to MXVM programs |
| std.c | Standard library module C implementation — math, string conversion, and utility functions |
| std.cpp | Standard library module C++ runtime bindings for the MXVM interpreter |
| string | |
| cstring.c | String module C implementation — string manipulation, comparison, and formatting |
| string.cpp | String module C++ runtime bindings for the MXVM interpreter |
| src | |
| frontend | |
| include | |
| ast.hpp | AST node hierarchy for the Pascal-to-MXVM frontend parser |
| expr.hpp | Placeholder for Pascal expression utilities (reserved) |
| icode.hpp | Pascal-to-MXVM code generator using the Visitor pattern over the Pascal AST |
| parser.hpp | Pascal recursive-descent parser producing a Pascal AST |
| types.hpp | Pascal keyword enumeration and string table |
| validator.hpp | Semantic validator for Pascal programs — scope, type, and declaration checking |
| ast.cpp | Pascal AST node accept(), toString(), and print() implementations |
| expr.cpp | Expression utility placeholder (reserved) |
| icode.cpp | Pascal-to-MXVM code generator — CodeGenVisitor visit methods and assembly output |
| icode_gen.cpp | |
| icode_imp.cpp | Pascal code generator helper methods and builtin function handler implementations |
| icode_visit.cpp | Pascal code generator AST visitor method implementations |
| main.cpp | Pascal-to-MXVM compiler command-line entry point |
| parser.cpp | Pascal recursive-descent parser implementation |
| validator.cpp | Pascal semantic validator — scope tracking, type checking, and declaration verification |
| html_gen | |
| html.cpp | Mxvm-html command-line tool — converts MXVM source to syntax-highlighted HTML |
| scanner | |
| include | |
| scanner | |
| exception.hpp | Exception class, hex formatting utilities, and terminal color definitions |
| expr.hpp | Expression parser and evaluator for constant integer expressions |
| scanner.hpp | Lexical scanner that tokenizes source text into typed tokens |
| string_buffer.hpp | Character-by-character string buffer with line/column tracking and Token/TokenMap types |
| types.hpp | Token, character, and operator type enumerations for the scanner |
| exception.cpp | Hex formatting utilities and exception helper implementations |
| scanner.cpp | Lexical scanner implementation — tokenizes source text into identifiers, numbers, symbols, and strings |
| string_buffer.cpp | StringBuffer line/column tracking and line-directive processing |
| types.cpp | Stream operators for TokenType and CharType enumerations |
| vm | |
| include | |
| argz.hpp | Generic command-line argument parser with concept-constrained string types |
| main.cpp | MXVM command-line entry point — argument parsing, interpretation, and compilation dispatch |
| ast.cpp | AST node accept() and toString() implementations for the MXVM Visitor pattern |
| function.cpp | RuntimeFunction implementation — dlopen/dlsym dynamic function loading |
| html_gen.cpp | Syntax-highlighted HTML generation from MXVM source code |
| icode.cpp | Base and Program class core methods — instruction storage, variable management, and standard library registration |
| icode_exec.cpp | MXVM interpreter — executes intermediate code instructions at runtime |
| icode_gen.cpp | X86-64 System V ABI native code generator for Linux/macOS |
| icode_gen_x64.cpp | X86-64 Win64 ABI native code generator for Windows |
| icode_opt.cpp | Peephole optimizer for generated x86-64 assembly (SysV and Win64) |
| instruct.cpp | Instruction toString(), keyword table, and opcode stream operator |
| mxvm.cpp | MXVM namespace placeholder (reserved for future top-level utilities) |
| parser.cpp | MXVM parser — tokenization, AST construction, and intermediate code generation |
| valid.cpp | MXVM instruction operand validator and variable/label checker |