Previous section   Next section

Imperfect C++ Practical Solutions for Real-Life Programming
By Matthew Wilson
Table of Contents


Appendix C. Arturius

A few years ago, when I started to focus more on code portability, I conceived of a tool that would act as a compiler, but which would actually dispatch a requested compilation among a group of real compilers, to provide the best overall coverage of warnings and errors.

Thus was Arturius born. The name is an Old English form of Arthur, of Round Table fame. The idea is that the suite of one's installed compilers would represent a round table of wise knights, who would collectively proclaim wisdoms to which any single compiler could only hope to aspire.[1]

[1] I admit it's a bit twee, but Hey! the domain name was available.

The Arturius project has had a number of partially completed forms in that time. Since the inception of the Imperfect C++ idea, I have intended to make the Arturius project available along with the book, and once it was decided that the book would include a CD, Arturius was the first thing I thought to put on it.

It's ironic that in the writing of the book, I've had chance to review a great many of my own works, and Arturius itself was left looking more than a little shabby. Since the writing of the book will be completed two to three months before the completion of the CD, I plan to spend a good deal of this time rewriting Arturius such that it will be a fitting exemplar of the practices and techniques I have been banging on about. As such, therefore, the form that you will get on the CD will not reflect its current form, so I'm not going to set us both up for confusion by describing features now that will not reflect what you will find on the CD.

What I can do now, though, is describe my broad plans for the project. My current plans include the following:

  • A command-line form that acts as a compiler-multiplexer for a configurable set of compilers

  • A customizable input filter that will be able to translate a standard command-line option format to the compiler-specific equivalents

  • A customizable output filter that will be able to translate the compiler-specific error and warning message formats into a standard format

  • An output filter that will be able to coalesce semantically equivalent messages to ensure that redundant information is not passed to the end user

  • A plug in for popular IDDEs that will enable use of the command-line version and/or compilers from other vendors

If the CD does not contain the realization of all these plans, you will be able to obtain them online—at http://arturius.org/ or via http://www.imperfectcplusplus.com/—sometime soon, probably before the book is actually published.


      Previous section   Next section