New Elegant release 7.1

"Augusteijn, A." <>
11 Mar 2000 13:39:34 -0500

          From comp.compilers

Related articles
New Elegant release 7.1 (Augusteijn, A.) (2000-03-11)
| List of all articles for this month |

From: "Augusteijn, A." <>
Newsgroups: comp.compilers
Date: 11 Mar 2000 13:39:34 -0500
Organization: Philips Research
Keywords: tools, available

New Elegant release 7.1 available

The Elegant compiler generator tool sets is now available from

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 LL(1) and LALR(1) grammars.
    - It can generate a back-tracking parser for other grammars.
    - Any non-cyclic attribute dependency is allowed (!).
    - Comes with
        - front-end generator
        - scanner generator
        - 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 tool Front is a front-end generator that comes with Elegant. It
accepts a mix of an EBNF context free grammar and a set of type
definitions that describe the abstract syntax graph of the language.
From this, Front generates an Elegant attribute grammar that maps an
input string onto this data structure, including all scoping and
symbol-table handling. Front allows the easy and fast construction of
compiler front-ends, which makes it particularly suited for language

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.
    - Overloading.
    - List comprehensions (they are overloaded, so they work for many other
          types as well, including your own).
    - 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 SunOS 5, HP_UX 11, Linux, IRIX.
    - 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: 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

Post a followup to this message

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