Re: [Tecomp-user] Interested in tecomp
Status: Beta
Brought to you by:
helmut_brandl
From: Helmut B. <hel...@gm...> - 2008-09-16 19:21:40
|
Hello Greg, I discovered today that there exists the "mono" project which makes .NET available on the Unix world. That changes the picture a lot. So I am considering now of having a .NET backend for tecomp in the future. On the mono site I have found that a version of gcc is available which generates .NET il-code. Since I am considering making a variant of tecomp which can act as language frontend for gcc, the .NET il-code generation might come for free. I will publish a roadmap paper for tecomp soon on the tecomp website. Regards Helmut The Eiffel Compiler: http://tecomp.sourceforge.net Download: http://www.sourceforge.net/projects/tecomp Helmut Brandl wrote: > Hello Greg, > > thank you for your interest in tecomp. I was interesting for me to > read that I am not the only one, who is unhappy with the available > Eiffel compilers. I don't know if we are unhappy for the same reasons. > I am happy to tell you my basic thoughts which drove me towards the > development of tecomp. > > First of all I am convinced that Eiffel is one of the best programming > languages of the imperative kind around. Allthough existing for more > than 20 years now I was wondering whether it has not yet had the > success it deserves. > > I have tried different compilers for Eiffel. The first one was > SmartEiffel. SmartEiffel is a pretty good Eiffel compiler which > generates high performance code. It has the classical architecture of > compiling first to C and then to native. The thing which did not > convince me was the mindset of the SmartEiffel team of trying to > establish their own dialect of Eiffel and the fact that being a > research project might not attract any professional software > developing companies (they are looking for standards and a reliable > toolsets). > > The next thing I tried was EiffelStudio. But after the installation I > was horrified by the 500 MBytes installed size and by the huge files > needed even to compile miniprojects like e.g. a simple "Hello, > world!"-program. > > The good thing is that the Eiffel language is now standardized, so a > stable base for developing an Eiffel compiler and using Eiffel in a > professional context is given. > > I decided to write my own Eiffel compiler which compiles standard > Eiffel. But I didn't want to just copy the compiling strategy of the > other available compilers. Since in the classical Eiffel compilers > (which compile to native via C) the bottleneck is the C compiler. So I > decided to compile to an internal representation and as a first step > interpret the internal representation in a virtual machine. The result > is amazing. Compilation to internal represetation is pretty fast and > running the code tecomp's virtual machine has reasonable runtime > performance (clearly not comparable to native code, but comparable to > other virtual execution engines without a JIT). > > The internal representation can be used as a base for other backends. > Clearly tecomp will be able to compile to C, so that any valid C > compiler can convert the code into high performance native code. I am > also thinking about integrating tecomp into gcc or combine it with the > "low level virtual machine" (llvm). But that has not yet been decided > because the first goal is to reach compliance with the Eiffel standard > by the end of the year. And there is still a lot to be done (garbage > collection, exception handling, void safety, etc.). > > As parser I use bison/flex which are the gnu versions of yacc/lex. I > used bison/flex because I know them well. But anyhow, the parser/lexer > are just a minor part of an Eiffel compiler and bison/flex do a good > job and have a suberb performance. > > I want tecomp to be able to run on all unices and on windows so I > don't want to concentrate on anything that is just available on one of > the operating systems (e.g. I don't know of any versions of .NET on > unix). > > If you want to discuss tecomp or Eiffel issues further I would like to > invite you to the tecomp maling list > (http://sourceforge.net/mail/?group_id=208120), so that the other > tecomp users can benefit from the discussion. Any > thoughts/remarks/suggestions/critique are welcome. > > Regards > Helmut > > > Greg Compestine wrote: >> Message body follows: >> >> Hello Mr. Brandl, >> >> I was pleasantly surprised to see a recent post in >> comp.lang.eiffel about the tecomp project. I'd been thinking >> for a while of taking a stab at writing my own compiler, >> since I've been pretty unhappy with the implementations I've >> encountered to date. >> >> I'm interested in finding out about your reasons for >> undertaking this project, and what sets tecomp apart from >> the other Eiffel compilers. >> >> My own notion for a compiler was to use Antlr to create the >> parser, and .Net for the virtual machine. Antler, because >> I've done a bunch of bottom up parsers in the past, and this >> looks different. And .Net to eliminate the problems with >> integrating Eiffel to third party libraries. (I've recently >> gone through a nightmare experience of wrapping a C++ >> library in Eiffel. The available facilities are terribly >> inadequate, and I could have accomplished the same thing in >> .Net in a few minutes, instead of a few months.) >> >> Thanks, >> >> Greg C >> >> > |