Path: utzoo!utgpu!watserv1!watmath!att!pacbell.com!ucsd!swrinde!zaphod.mps.ohio-state.edu!rpi!uwm.edu!uwvax!sevenlayer.cs.wisc.edu!bothner From: bothner@sevenlayer.cs.wisc.edu (Per Bothner) Newsgroups: comp.lang.smalltalk Subject: Re: translator from smalltalk to c++ Message-ID: <1991Jan25.215845.26867@spool.cs.wisc.edu> Date: 25 Jan 91 21:58:45 GMT References: <859@argosy.UUCP> Sender: news@spool.cs.wisc.edu (The News) Reply-To: bothner@sevenlayer.cs.wisc.edu (Per Bothner) Organization: University of Wisconsin--Madison Lines: 38 In article <859@argosy.UUCP>, zliu@argosy.UUCP (Zaide (Edward) Liu) writes: >Is there any translator which converts smalltalk to c++? If so, Would >somebody give me information on where I could get them? This doesn't quite answer the question, but: I'm working on a high-level programming language (with closures, backtracking, objects, run-time typing, abstract sequence types). It is implemented in C++. A major part of the work is a multi-language run-time system using C++ classes in a Smalltalk-like way, i.e. everything is descended from a root class. I haven't paid any attention to mimicing the specifics of Smalltalk classes, since I prefer a more abstract/functional way of doing things, but the necessary modifications shouldn't be too hard. I do have a Scheme/Lisp parser, and implement many of the types and operations needed for Scheme and Common Lisp. Ultimately, I'd like to have a common run-time system for C++, my language (which includes shell-like functionality), Scheme, Common Lisp, and perhaps Smalltalk and some APL dialect. Also part of my project is a compiler from a parse tree to C++. Thus I can compile either my own language or Scheme/Lisp into C++. Adding a Smalltalk parser should be easy. The compiler isn't really usable right now, and I'm waiting for some g++ extensions (meta-classes) before I spend too much time working on it. Please write me if you're interested. The code is/will be available under GNU Copyleft. I'm hoping for a general release this summer of the first public version. It will include almost all of Scheme, some Common Lisp stuff, and a functional shell which should subsume bash or ksh (using a slightly non-standard syntax). Brave people are certainly welcome to look at the code before the release. This work is done on my own time, not the University's. -- --Per Bothner bothner@cs.wisc.edu Computer Sciences Dept, U. of Wisconsin-Madison