Code generation from DSL