[$name|DevStaticLang$]
[$title|Library Source and StaticLang$]
[$frame|HTMLPage.tmpl$]

<h3>
Q: I've looked at the source for Token, Language, Lexer and Parser,
and OMG, what the hell is that mess?! (Especially Token! Geez!)
</h3>
<p>
A: Heh :) Put simply, it's a kludge. The [$pageName|StaticLang$] tool
generates static-style languages directly from Goldie's dynamic-style
library source. That mess is all the directives used to help instruct
[$pageName|StaticLang$] in how to do the conversion.
</p>
<p>
To read the dynamic-style source, just ignore all the weird
[$code|inline|/+...+/$] directives
and anything inside [$code|inline|version(GoldieStaticLang)$]
(it will NOT be defined when you compile).
</p>
<p>
To read the static-style source, look at [$pageName|StaticLang$]'s output
and remember that [$code|inline|version(GoldieStaticLang)$] WILL be
defined when compiling.
</p>
<p>
To read the dynamic-style source, and see how [$pageName|StaticLang$] will
transform it, see the explanation of [$pageName|StaticLang$]'s preprocessing
below.
</p>

<h3>
Q: Goldie is already a language processing tool. Why don't you just use
Goldie and a D grammar to do the conversion?
</h3>
<p>
A: I intend to eventually. But there isn't a D grammar for GOLD just
yet (I intend to make one when I get a chance). Also, D is a fairly
complex language, and involves a lot of semantic processing (especially
if parsed with LR parsing, as GOLD/Goldie does). So
GOLD/Goldie will likely need more enhancements before Goldie can
support D in a nice clean way. I do intend for Goldie to eventually
reach that point, though.
</p>

<h2>
StaticLang's Preprocessing
</h2>
<p style="font-style: italic">
Documentation of StaticLang's preprocessing is currently delayed because I
may make use of template mixins to take over much of the work currently
done by StaticLang.
</p>
