yazandaba.hashnode.devInside Clang C++ Compile Time Evaluators : AST Evaluator & Bytecode InterpreterIntroduction C++ has been around for over 41 years. Over the years, many features have been added, and one of the most powerful is compile-time computation. C++ actually had this capability before its standardization in 1998, particularly after templ...Feb 16·22 min read
yazandaba.hashnode.devThe Chords The Colors The Registers The SSA OptimalityIntroduction In the compiler world, one of the hardest problems to solve is register allocation, and it's no coincidence! But what is register allocation? Register allocation is the problem of assigning ℕ variables, temporaries, etc... to a limited �...Jan 26·26 min read
yazandaba.hashnode.devSSA to Stack: Retargeting LLVM to Stack Machines—A Deep Dive Through the WebAssembly BackendIntroduction: When retargeting compiler backends, especially in LLVM, we are usually discussing native chips like CPUs or GPUs. While the underlying architecture of each vendor differs—cores and memory models vary wildly—they share a high-level abstr...Dec 13, 2025·28 min read
yazandaba.hashnode.devWideLips: A Multi GB/S LISP Parser And Parsing FrameworkIntroduction Parsers have been around since the dawn of computing. If you've worked with compiler frontends or semi-structured data processors like JSON or XML, you’ve likely implemented or maintained one. Traditional parsers scan text character-by-c...Nov 20, 2025·11 min read
yazandaba.hashnode.devDante: A Case Study in Compiler-Assisted Verification Using Model CheckingIntroduction If you're a developer today, chances are you've experienced the “magic” of LLMs in your workflow, whether you realize it or not. That auto-completion in your JetBrains IDE, Visual Studio, or Cursor? There's cases where an LLM working beh...Jun 8, 2025·8 min read