Re: [xsl] How are XSLT programs converted to machine code?

Subject: Re: [xsl] How are XSLT programs converted to machine code?
From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 29 Apr 2019 23:19:59 -0000
In general, the techniques used to write an XSLT processor are no different
from those used for any other high-level programming language; and among the
20 or so XSLT processors that have been developed over the last 20 years,
you'll probably find every possible approach represented somewhere. The open
source processors tend to be pure interpreters; some of the expensive
commercial processors like Datapower are very secretive about the technologies
they use (which might be because they're advanced trade secrets, or it might
be because they are embarrassingly crude).

Modern compilers (for any language) tend to use a blend of code generation and
interpretation techniques, often generating an intermediate interpretable
representation of the program statically (at compile time), and then using
hotspot code generation to compile and optimise the frequently-executed parts
to something faster at run-time.

Until XSLT 3.0 the design of the XSLT language made it very difficult to
compile modules independently of each other, so "linking" only really becomes
an identifiable task with 3.0; prior to that, all the source code making up an
executable had to be compiled monolithically.

Michael Kay
Saxonica

> On 29 Apr 2019, at 23:30, Costello, Roger L. costello@xxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> Hi Folks,
>
> How are XSLT programs converted to machine code?
>
> Is there such a thing as an XSLT compiler, linker, and loader?
>
> Or, is the XSLT converted to some other programming language and then that
programming language's compiler, linker, loader is utilized? For example,
perhaps the XSLT is converted to a Java program and then that Java is handed
off to whatever Java tools are used to generate machine code.
>
> /Roger

Current Thread