Welcome To Nyx Lang

Nyx Lang mascot, inspired by Quinn

NyxLang is a programming language compiler for a subset of C, with the caveat of modfiying some of the C grammar. This compiler is a class project for the CS 660 course at University of Nevada, Reno. We decided to write this compiler in Zig. To learn more about this language, our journey in Zig, the mascot, or the developers, please explore this website and its' pages.

Class Overview

In this Compiler Construction class, my team and I created a compiler for C. At least, this was our goal, the entire journey is documented, we had countless whiteboard sessions and had to use all of our programming knowledge to create a working prototype. The class started us off with the basics of compilers, such as the scanning and lexing phase. This progressed towards parsing, emitting our Augmented Syntax Tree to the semantic analyzer. Finally we finished off with our NYAC generator, or Three Address Code (commonly referred to as 3AC), which gave our register allocator everything it needs to generate assembly for RISCV-32 bit chips.

This has been great