I am currently working on a paper based on the topic of creating a source-to-source compiler from an existing application to C#. The existing application is actually just based on XML files, which define certain logic and are interpreted by another program.

From my point of view I tend to say that I am working on a source-to-source compiler, since I have programming language ( even if it's based on XML) on the input and a programming language on the output of my translation.

Now since i have read about the basics of compiler design and knowing techniques like XSLT, i am unsure about the actual differences between transforming and compiling.

I assume that the XSLT processor will also parse the given XML and tries to analyze its content on a semantic basis. As a result the processor outputs another XML file. And that's actually what a theoretical compiler does: Reading a program of a certain input language and output it in another output language.

Now my question is, if XSL-Transformation is a type of compiling or maybe vice versa. Or is there another (theoretically proved) link between both of these processes?

Or even more specific: Is there a term for the "translation" I deal with (XML-Description of a program to a high level language)?

  • 1
    $\begingroup$ Closely related question. Community votes, please: duplicate? $\endgroup$ – Raphael May 24 '16 at 10:57
  • $\begingroup$ I think the other question answers this adequately. $\endgroup$ – adrianN May 24 '16 at 12:08