Elegant compiler generator available

"Augusteijn, dr.ir. A." <lex@natlab.research.philips.com>
15 May 1998 22:36:03 -0400

          From comp.compilers

Related articles
Elegant compiler generator available lex@natlab.research.philips.com (Augusteijn, dr.ir. A.) (1998-05-15)
| List of all articles for this month |

From: "Augusteijn, dr.ir. A." <lex@natlab.research.philips.com>
Newsgroups: comp.compilers,comp.lang.misc,comp.compilers.tools.pccts
Date: 15 May 1998 22:36:03 -0400
Organization: Philips Research Laboratories
Keywords: tools, available

The Elegant compiler generator tool sets is now available from




http://www.research.philips.com/generalinfo/special/elegant/elegant.html


It is an industrial compiler generator, used for many years within
Philips. After development of Elegant was stopped, it was decided to
make it available in the public domain under the GNU license. This
includes all sources, so that you will be able to extend the system if
you feel inspired by it.


Elegant is a compiler generator based on attribute grammars with the
following features:


    - It accepts both LL(1) and LALR(1) grammars.
    - Any non-cyclic attrinute dependency is allowed (!).
    - Comes with
        - scanner generator
        - bnf -> attribute grammar transformer
        - postscript syntax diagram generator
        - Elegant programing language
    - Integrated automatic error recovery


Compilers written in Elegant are very fast (several thousand lines of
source text per second) and the attribute grammars offer a very
expressive formalism on a high level of abstraction, without
sacrificing performance.


The Elegant programming language is smoothlessly integrated with the
attribute grammar specification language (in fact, the latter is a
subset of the former). The language is strongly inspired by functional
programming languages, especially their type systems, yet, it is an
imperative language that does not discourage side-effects. The
language features:


    - Strong typing.
    - Subtyping (linear inheritance).
    - Polymorphic types.
    - Polymorphic functions.
    - Several different lazy types.
    - List comprehensions (but they work for many other types as well,
          including your own).
    - Overloading.
    - Automatic and user definable coercions.
    - Pattern matching (= sub-type analysis).
    - Function (lambda) expressions.
    - Module system.


The whole system offers:


    - Lots of compile time and run-type checks.
    - Garbage collection.
    - Compiles onto ANSI C.
    - Interface to C.
    - Available on SunOS4/5, HP_UX 10, Linux, IRIX, DOS/Windows.
    - Portable to anything with a decent ANSI C compiler.
    - Self generating, i.e. written in Elegant (of course!).


All in all a very professional and complete system, free for you to use!


Lex Augusteijn


----


Name: dr.ir. Lex Augusteijn
Address: WL 1.1.13
Philips Research Laboratories
Prof. Holstlaan 4
5656 AA Eindhoven
The Netherlands
Phone: (+31 40 27)43938
Fax: (+31 40 27)44004
E-Mail: lex@natlab.research.philips.com
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.