On 2013-01-22 12:00, Daniel Murphy wrote:
It depends how much information is in the AST you give the user. Just
syntax? Types? Full semantic information?
Of course you can transform the internal AST to the user AST, but the more
information the closer this gets to forcing the compiler to use the user
AST, or support two ASTs internally.
I watched a talk about AST macros in Scala. He said it was a fairly
small change to the compiler to implement. Around 1k lines of code. The
AST introspection was already there in the form of runtime reflection.
I don't expect it to be as easy to do in DMD. Although Don has said it
would be pretty easy to expose the internal AST to the user.
--
/Jacob Carlborg