[comp.newprod] Fortran and C compiler front ends

jsa@edg1.UU.NET (J. Stephen Adamczyk) (01/15/91)

Edison Design Group is pleased to announce the release of its
Fortran compiler front end product.  It joins our C front end
product announced last year.  Information on both products follows.

--------------------------------------------------------------------

Edison Design Group is a New Jersey corporation founded in May of
1988.  It develops and licenses compiler front ends and does related
custom development and consulting.  Currently, it offers two
products:

o  A C Front End, which accepts the ANSI C language; it also has a
   compilation option that provides compatibility with traditional
   K&R/pcc C, including obscure features and exploitable bugs.

o  A Fortran Front End, which accepts the ANSI FORTRAN 77 language,
   the MIL-STD-1753 extensions to that standard, and some other
   common extensions.

These products are aimed at developers of new compilers.  Current
licensees are chip manufacturers and startups.

The two front ends have a similar user interface and a similar
internal structure.  They do their processing in a single pass over
the source program, including integrated preprocessing in the C
Front End.  (Preprocessing alone -- to a textual output file -- can
also be done, as in traditional compilers with a separate
preprocessor.)  The syntax-analysis technique is recursive descent,
modified using operator precedence to speed up the scanning of
expressions.  The front ends generate a high-level tree-structured
in-memory intermediate language.  This intermediate language
contains full information on declarations, statements, and
expressions, all in tree form and all with source-correspondence
information that simplifies the generation of symbolic debugging
information.

The front ends do complete error checking, produce clear error
messages (including the position of the error within the source
line), and avoid cascading of errors.  On the other hand, they try
to avoid seeming overly finicky to a knowledgeable programmer.

The source code is written in a portable dialect of C.  Host and
target computer characteristics (e.g., command-line interface,
integer sizes, floating-point representation) are carefully
separated from the main body of the code so that they can be easily
changed for rehosting or retargeting.  The front ends can be used as
part of a cross-compiler.  There is extensive internal debugging and
assertion-checking code, which can be included or excluded through
conditional compilation options.

Licensing is in source form with complete internal documentation.

If you are interested in one of our products, we can provide a
demonstration copy on your system, presentations on the internal
structure of the front end, and the opportunity to examine the
source code and documentation.

For more information, please contact Steve Adamczyk at
(201) 744-2620, by mail at 4 Norman Road, Upper Montclair, NJ 07043,
or by electronic mail at jsa@edg.com or uunet!edg1!jsa.