I built a custom DSL with my own Lexer, Parser, AST, and Interpreter