The Viz-Compiler is a custom language toolchain designed to visually demonstrate how high-level code transforms into raw hardware instructions. It targets the x86-64 System V ABI using a strict stack-based "Memory-to-Memory" model.
Our philosophy prioritizes correctness, stability, and observability over micro-optimizations like aggressive register allocation. Every phase of this compiler outputs observable artifacts.
Explore each phase of the compiler. Each page contains deep architectural explanations and interactive simulators demonstrating the algorithms at work.
Tokenizing raw text streams. Watch how the lexer discards whitespace and groups characters into meaningful compiler tokens.
Validating grammar and building the AST. Explore how operator precedence inherently shapes the execution tree.
Scope resolution and Symbol Table generation. Discover how a compiler tracks types and validates return statements using a LIFO stack.
Flattening the AST into 3-Address Code (Quads). Learn how compiler temporaries bridge the gap between trees and assembly.
Constant folding, propagation, and strength reduction. See how mathematical intelligence makes the generated code faster.
Translating Quads to Assembly and managing the RAM Stack to output valid x86-64 executable hardware instructions.
Comprehensive documentation for the VizLang syntax, semantics, and built-in functions.