[stack] Cat to C++ Translator written in C++
2007-06-03 22:53:48 GMT
I've just released version 0.1 of a public domain Level-1 Cat to C++
compiler (written in C++) at
http://code.google.com/p/cat-language/downloads/list. This
implementation bootstraps a Level-1 implementation of Cat from a
Level-0 implementation. There are a hundred unit tests and only a
handful of predefined functions so this is a very stable release.
The translation is done without static type-checking instead the
resulting code is implemented using optimized polymorphic variant
types (see http://www.ddj.com/dept/cpp/184402027 and
http://www.codeproject.com/cpp/dynamic_typing.asp ) and stable
fast-growing stacks (see http://www.codeproject.com/cpp/fast-stack.asp
).
For an updated list of primitives that now contains unit tests for all
of the level-0 and level-1 primitives and better definitions see
http://www.cat-language.com/primitives.html.
This release is primarily intended to help people who are interested
in possibly using Cat as a back-end for other programming languages
but who prefer to work with C++ than C#. However, the code base is
should be useful to any language implementer. Using Cat as a back-end
now gets you the following for free:
- an interactive interpreter (written in C#)
- a Cat to MSIL compiler (this is built in to the interpreter)
- a Cat to C++ translator (written in C++)
These are all projects which I have been developing single-handedly.
As more people get involved, you can expect to see the number of
compilers and translators to and from Cat increase quickly.
Other Cat projects by other people that I am aware of are:
- a statically typed Cat to C++ translator
- a Cat to assembly translator
- a Cat to Omega (a dialect of Haskell) translator
Cheers,
Christopher Diggins
http://www.cdiggins.com
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch format to Traditional
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe
__,_._,___
RSS Feed