The source tree for happy
contains AttrGrammarParser.ly
and Parser.ly
and the source tree for alex
contains Scan.x
. Yet, as far as I can tell in order to compile happy
, we need to transform the .ly
files into .lhs
files using... happy
, and in order to compile alex
we need to transform the .x
files into .hs
files using... alex
.
So it seems like there must be some bootstrapping going on here in order to compile either tool.
The Setup.lhs
files for each project contain some template expansion, but, as far as I can tell, don't do anything in particular to do the bootstrapping.
How and where is the bootstrapping done?