Finally, generator generators introduce new issues of version control. Unless the
generated generators are created anew for each run, they should be versioned and
TYPES OF GENERATOR FACILITIES 275
mechanisms put in place to make sure all users use the correct version, and all
generated code mentions the version used. If the generated generators are processed
by a different facility from the normal facility??”an external compiler or interpreter,
say??”the version of that tool must also be recorded.
These drawbacks are unlikely to deter the kind of person who is attracted by meta
solutions, compilers that compile themselves, modeling languages that can be used to
model themselves, and tools that were built in themselves. While the particular
gene or brain chemical responsible for this attraction is yet to be identi?¬?ed, two things
are certain. First, the effects of it are very strong and second, there is at least some
correlation between its level and how smart a person is. Maybe the smartest ones are
those who are pragmatic enough to recognize when not to try this approach, but few
would claim they feel no attraction.
While the purest form of this pursuit is generators that produce generators in the
same language, it has also been used to good effect in integrating external generation
tools. The ?¬?rst generator exports the models in some easily digested format, along
with commands to an existing external generator.
Pages:
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509