xsl-list
[Top] [All Lists]

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

2019-04-29 18:20:03
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(_at_)mitre(_dot_)org 
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> 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

--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--

<Prev in Thread] Current Thread [Next in Thread>