I don't know if you've seen this, but:
https://www.edg.com/
Edison Design Group has produced many compiler front ends, this part of
a compiler scans and parse the input language, and emits an intermediate
representation, the first representations in the chain of compiler
phases are usually a parse tree, then a cleaned-up version of the parse
tree that has removed all sorts of contingent data, tied to the the
original program, but not necessary for further processing - this is
usually called the 'abstract syntax tree'. I've never used EDG products
in my work, but I have talked with them a couple of times. I imagine if
you have an EDG front end, in addition to that output you describe, it
probably is meant to write some (possibly serialized) version of an
abstract syntax tree to some file somewhere (perhaps with the right
options on invocation).
You could call them and ask them, they seemed very friendly and helpful
a couple of years ago when I talked to them.
On 08/13/2024 12:41 PM, Henry Bent wrote:
Hi all,
I was working with my IRIX 4 machine recently and noticed a mysterious
file - /usr/lib/ecfe. It turns out that this is the Edison Design
Group C (not C++) Front End, included almost certainly by accident
with the last release of the Developer Toolkit for IRIX 4. No other
piece of the compiler toolchain references the EDG product in any way
and there is no documentation for it whatsoever.
The research that I did seems to indicate that this is a source to
source translator, akin to the contemporary Kuck & Associates product
- is that correct? I also found a reference to EDG's tool being used
in the Apogee C compiler. I have a copy of Apogee C for SunOS and it
does appear that "cfe" is the same EDG product. Unfortunately there
is no documentation specific to the C front end, and I don't have a
license for Apogee C so I can't run the compiler to see how it's
calling cfe. Just running a C file "blah.c" through the IRIX front
end with no switches results in a transformed file "blah.int.c".
Unfortunately running anything even moderately complex through the
front end results in code that either doesn't compile or doesn't run,
so I feel that I must be missing some flags or basic options.
Does anyone have any information about SGI's use of this software, or
any documentation/information in general about the EDG product? My
usual sources came up empty.
-Henry