Opening Date not yet set
The files available for download from this page are covered
by The Udanax Open-Source License, which
you may want to read before proceeding.
The two download files, udanax-top.st
and udanax-spaces.st, are not yet usable
without heroic effort. They are in the form of Smalltalk fileouts from
a ParcPlace 2.5a Smalltalk system heavily modified by us. In particular,
we enhanced the system to automatically translate from a modified subset
of Smalltalk, which we called XTalk, to a corresponding heavily macro-ized
subset of C++ we called X++. This Smalltalk fileout came from this modified
system, and will not filein to a normal Smalltalk system without a lot
udanax-top.st contains all the Smalltalk
code for the backend which was shared by translation between the Smalltalk/XTalk
environment and C++/X++ environment. In particular, all the Ent data
structures and algorithms are here.
udanax-spaces.st contains the most
interesting self-contained subset of udanax-top.st -- the coordinate
space system. This set of abstractions should have wide applicability
outside of hypertext. Indeed, the IntegerSpaces from Udanax Gold have
already been incorporated into the E
xugold.tar (33MB) contains the C++ backend
as a whole. This can be read and run without intellectual
property problems, or major technical problems. However, since
major portions of it are the result of automatic translation
from Smalltalk, this code is not maintainable. Think of
these portions as compiler output (though it's not quite
Remaining pieces that will be posted soon:
The C++ macros, tools, and libraries for turning C++ into X++. This
Corresponding Smalltalk tools and libraries for turning Smalltalk
into the semantically matching XTalk, including
- A similar persistent object system
- A similar stub generator.
More difficult to extract and post, because of the intellectual property
entanglements explained here, is
The "Browser Hacks", an extensive set of enhancements
to the Smalltalk browsing environment, enabling one to manipulate
a large body of code with an ease none of us have experienced since.
Fortunately, none of the rest of the system depends on these browser
- The Smalltalk-to-C++ (or XTalk-to-X++) translator itself. Most of
this is un-entangled new code, but some crucial pieces are entangled.