DSL

raw code -> tokens -> AST -> string-ify code
Lexical Analysis(raw code): tokens
Syntactic Analysis(tokens): AST