[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::languages

Title:Languages
Notice:Speaking In Tongues
Moderator:TLE::TOKLAS::FELDMAN
Created:Sat Jan 25 1986
Last Modified:Thu May 22 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:394
Total number of notes:2683

257.0. "Machine Descriptions for Transportable Code Generation" by KYOA::MIANO (I'm outta that place!!!!) Fri Nov 24 1989 16:34

How widespread is the use of some sort of machine description
to produce compilers that are "transportable" across different
CPU types?  I have seen a lot of references on the subject in 
text books but the only production compiler that I have seen 
that uses these techniques is GCC.

John
T.RTitleUserPersonal
Name
DateLines
257.1there are some.JRDV04::SATOMon Nov 27 1989 01:3432
GCC is not the only production-level compiler which uses CGG(code generator
generator)/MD(machine description) approach.
The famous pcc could also be a kind of CGG. Its target machine information 
are specified by a template set and procedures.
There are several other (production-level???) MD/CGG systems.

One which authors claim they use them in their compiler products is:
o Apollo's ISCSL(Instruction Selection Component Specification Language)
  Please see "Dynamic programming and industrial-strength instruction 
  selection: Code generation by tiring, but not exhaustive search", J.Yates 
  et al, SIGPLAN Notices, V23, #10, Oct'89.

Another (famous?) systems I know are: 
o Prime's Up-Down-Parser
  Please see "Up-Down Parsing with Prefix Grammars", P.K.Turner,
  SIGPLAN Notices, V21, #12, Dec'86, and 
  "Limitations of Graham-Glanville Style Code Generation", D.Spector,
  SIGPLAN Notices, V22 #2, Feb'87
I do not know if this system is used by Prime's product or not.
o EPIC LISP
  Please see "EPIC - A Retargetable, Highly Optimising Lisp Compiler",
  R.R.Kessler et al, ACM SIGPLAN Notices V21, #7, Jul'86.
This is an experimentation system.


Yet another system I and my colleagues are currently developing is a 
Common ESP(CESP) Machine Code Generator system. CESP is an object-oriented 
Prolog language. Its CG is generated from a MD by a CGG. A prototype system 
achieved more than 100 KLIPS/sun3-60 of append/reverse benchmark programs. 
Our system will be available over MC68020(SUN3...), SPARC, MC88000, R2000, 
and VAX architectures next year. It may possibly ported to Intel machines 
and IBM main-frame crones in future. Papers will be available next year.
257.2TOKLAS::FELDMANDigital Designs with PDFMon Nov 27 1989 13:304
    I believe Tartan Laboratories uses this sort of technology in their
    compilers.
    
       Gary
257.3TLE::JONANBe a Realist - Demand the ImpossibleSat Dec 02 1989 21:454
    So do System Designers.  In particular, it is used in the XD Ada
    cross compilers.
    
    /Jon
257.4TLE::REAGANPascal, A kinder and gentler languageWed Jan 24 1990 19:436
    By the way, the J. Yates mentioned in .1 from Apollo was one
    of the original designers of VAX Pascal V2.0.  Most of the
    techniques and mechansism John mentions in the code generation
    paper are present in the VAX Pascal compiler.
    
    				-John