Machine description in compilers
This page contains a collection of overviews and links to further information about different methods for describing machines mostly relating to writing compilers and simulating machines. It is not sorted in any particular order.
K framework
Automatically Generating the Back End of a Compiler Using Declarative Machine Descriptions
Published January 2008, authors João Dias
Although I have proven that the general problem is undecidable, I show how, for machines of practical interest, to generate the back end of a compiler. Unlike previous work on generating back ends, I generate the machinedependent components of the back end using only information that is independent of the compiler’s internal data structures and intermediate form. My techniques substantially reduce the burden of retargeting the compiler: although it is still necessary to master the target machine’s instruction set, it is not necessary to master the data structures and algorithms in the compiler’s back end. Instead, the machine-dependent knowledge is isolated in the declarative machine descriptions. The largest machine-dependent component in a back end is the instruction selector. Previous work has shown that it is difficult to generate a highquality instruction selector. But by adopting the compiler architecture developed by Davidson and Fraser (1984), I can generate a naïve instruction ...
Automatically generating instruction selectors using declarative machine descriptions
Authors: João Dias, Norman Ramsey
Automatically generating back ends using declarative machine descriptions
Authors: João DiasNorman Ramsey
Automatically Generating Instruction Selectors Using Declarative Machine Descriptions
Date: Jan 2010
Authors: João Dias, Norman Ramsey
Description-Driven Code Generation using Attribute Grammars
Date: January 1982
Authors: Mahadevan Ganapathi
Survey on Instruction Selection: An Extensive and Modern Literature Review
Date: Jun 2013
Author: Gabriel Hjort Blindell
BURS ?
Generalized Instruction Selector Generation: The Automatic Construction of Instruction Selectors from Descriptions of Compiler Internal Forms and Target Machines
Date: January 2010
Authors: Timothy Richards
Comment: Maybe read.
Filename: Generalized_Instruction_Selector_Generation_The_Au.pdf
Towards universal code generator generation
Date: May 2008
Authors: Timothy Richards, Edward K. Walters, Eliot B. Moss, Trek S. Palmer
Reference: DOI:10.1109/IPDPS.2008.4536404
Automatic Retargetable Code Generation: A New Technique.
Date: December 1986
Reference: DOI:10.1007/3-540-17179-7_4
Authors: Vishv Mohan Malhotra, Sanjeev Kumar
An Implementation of Retargetable Code Generators in Prolog.
Date: May 1988
Reference: DOI:10.1007/3-540-50820-1_42
Authors: Annie Despland, Monique Mazaud, Raymond Rakotozafy
Compiler Prototyping Using Formal Semantics
Date: June 1984 Publication: ACM SIGPLAN Notices 19(6):94-105
Reference: DOI:10.1145/502949.502883
Authors: Uwe F. Pleban
New Jersey Machine-Code Toolkit
NJ The New Jersey Machine-Code Toolkit PageThe New Jersey Machine-Code Toolkit helps programmers write applications that process machine code. Applications that use the toolkit are written at an assembly-language level of abstraction, but they recognize and emit binary. Guided by a short instruction-set specification, the toolkit generates all the bit-manipulating code. ...
Comment: This seems to focus on deriving encoders and decoders by describing instruction representations but no information suitable for simulation is included.
Lambda-RTL
The \-RTL Translator Source DistributionComment: Can not find a description of what this is due to broken links.
Specifying Instructions' Semantics Using lambda-RTL (Interim Report). July 1999 (with Jack W. Davidson).
The Zephyr Compiler Infrastructure
Authors: Andrew Appel, Jack Davidson, Normal Ramsey, Bill Wulf
Keywords: SUIF ZIF ASDL CSDL