[stack] Cat to C++ Translator written in C++
"Christopher Diggins" <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
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