• Where did "middle end" come from

    From Christopher F Clark@21:1/5 to All on Sun Jan 2 01:20:59 2022
    While I am certain we were not the first to use the term, I'm pretty
    certain that we were using "middle end" to describe parts of the TSI
    compilers (the same PL/I compiler DEC bought and a series of other
    ones written by various companies (including in house) that used many
    of the same components that were neither completely language nor
    completely target specific. This would have been around 1985 or so.

    The "front ends" consisted of the lexers and parsers for the languages.

    The "back end" was essentially just the code generator (and peephole
    optimizer once we implemented one).

    The "middle end" included the symbol table, the intermediate language,
    the storage allocation routines (i.e. how stack frames and static
    memory areas were laid out since we used the same layout for all the architectures), and the global optimizer. And the phases front,
    middle, and back were sequentially ordered in terms of how they were
    executed. I.e. The front end ran first, then the middle end, and
    finally the back end, although the symbol table and intermediate
    language both spanned the entire compilation process. The compiler
    option processing was also included in the middle end even though it
    preceded the front end.

    Now, we grouped the latter two into the "common envelope" (although we originally called it just the "common backend" and thought of the
    middle end as part of the back end). The common envelope team grew to
    be almost as many people as the sum of the front end teams put
    together and had a full-time manager running the team.

    Now, some parts of both the middle and back ends had language specific
    hooks in them (mostly for FORTRAN or COBOL, but a few for Pascal and
    C). The C compiler was short-lived though and a completely new one
    was written.

    -- ****************************************************************************** Chris Clark email: christopher.f.clark@compiler-resources.com Compiler Resources, Inc. Web Site: http://world.std.com/~compres
    23 Bailey Rd voice: (508) 435-5016
    Berlin, MA 01503 USA twitter: @intel_chris ------------------------------------------------------------------------------ [FWIW, the term first appeared in comp.compilers in 1993. -John]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Derek Jones@21:1/5 to All on Sun Jan 2 13:19:53 2022
    Chris,

    While I am certain we were not the first to use the term, I'm pretty
    certain that we were using "middle end" to describe parts of the TSI compilers (the same PL/I compiler DEC bought and a series of other
    ones written by various companies (including in house) that used many
    of the same components that were neither completely language nor
    completely target specific. This would have been around 1985 or so.

    The term middle-end was being used at Intermetrics when I was there
    in 1981.

    The people there were strongly influenced by the PQCC work, but the
    project I worked on had just three stages, not the umpteen stages used
    by PQCC. Perhaps it came from a project that an Intermetrics person
    worked on.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Christopher F Clark@21:1/5 to All on Mon Jan 3 15:51:08 2022
    Derek Jones recollection of its usage at Intermetrics with a possible connection to the PQCC work done at CMU sounds quite plausible. Many
    of us were influenced by that work. I would have been just leaving
    SofTech at that time and joining Pr1me Computer (where my reference to
    the term came from. By the way, I did not work at TSI, just to be
    clear, just maintained their compiler backends while at Pr1me.) I
    don't recall either way whether the term was used at SofTech. I was
    simply too junior at that time.

    -- ******************************************************************************. Chris Clark email: christopher.f.clark@compiler-resources.com Compiler Resources, Inc. Web Site: http://world.std.com/~compres
    23 Bailey Rd voice: (508) 435-5016
    Berlin, MA 01503 USA twitter: @intel_chris ------------------------------------------------------------------------------

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Derek Jones@21:1/5 to All on Mon Jan 3 20:07:33 2022
    Chris,

    Derek Jones recollection of its usage at Intermetrics with a possible connection to the PQCC work done at CMU sounds quite plausible. Many

    The CHILL compiler team was huge, by compiler standards.
    We actually had front-end, middle-end, and back-end teams.
    I have not since worked on a compiler project with this exact
    explicit breakdown (which was probably driven by the division
    of multi-company labor).

    I know there were earlier compilers at Intermetrics that had a
    middle-end concept. Tony Flanders knows a lot of history and might
    be able to say where the term originated: http://www.whysheep.com/i2/daf-history2.html

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)