Technology and Programming.
Stuff for nerds.
A couple of weeks ago, I worked through "Learn Assembly by Writing Entirely Too Many Brainfuck Compilers". That article covers the basics of compiling Brainfuck to target x86, ARM, wasm, and LLVM IR. Here, I will cover some of the same information, but with a focus on targeting RISC-V assembly.
Lox is a programming language designed by Bob Nystrom for use in his excellent book, "Crafting Interpreters." Nystrom walks readers through building two Lox interpreters - a Tree-Walk interpreter written in Java and a Single Pass Bytecode Compiler + Stack-based VM written in C. After working my way through the book, I decided to implement a third version of the interpreter in Rust.
Advent of Code is an annual competition consisting of 25 Christmas-themed programming challenges. This year, I was able to complete most of the puzzles. I chose to work in Kotlin as a learning exercise.