DSL DSLraw code -> tokens -> AST -> string-ify codeLexical Analysis(raw code): tokensSyntactic Analysis(tokens): AST