A custom programming language and compiler implemented in C#, featuring a Gen Z–inspired syntax and a WPF-based interactive compiler UI.
GenZ# is an educational programming language designed to make learning compiler construction more engaging by replacing traditional syntax with modern slang-inspired keywords — while preserving strict typing and structure.
The project includes:
- Lexical analysis (Scanner)
- Recursive-descent parsing (AST generation)
- Semantic analysis with scope & type checking
- Interactive WPF compiler interface
- Custom keywords (e.g.
lwk,grind,fumble) - FAT-style block delimiters (
<letscook/cooked>) - Strong typing with type inference (
sus) - Relatable error messages
- Scanner — Tokenizes source code using prioritized regex rules
- Parser — Builds an AST using LL-style recursive descent
- Semantic Analyzer — Performs scope management, type checking, and validation
- WPF UI — Visualizes tokens, AST, and semantic analysis results
- Open
GenZ_WPF.slnin Visual Studio - Build and run the project
- Write GenZ# code in the editor and compile
Full language specification and design details are available in:
docs/GenZ#-Language.pptx
This project is for educational purposes and is not intended for production use.
- KhaledHima
- ihateskil