Communications of the ACM
A portable compiler: theory and practice
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A new method for compiler code generation
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The Design of an Optimizing Compiler
The Design of an Optimizing Compiler
Code generation in a machine-independent compiler
SIGPLAN '79 Proceedings of the 1979 SIGPLAN symposium on Compiler construction
AUTOMATIC CREATION OF A CODE GENERATOR FROM A MACHINE DESCRIPTION
AUTOMATIC CREATION OF A CODE GENERATOR FROM A MACHINE DESCRIPTION
A PORTABLE COMPILER FOR THE LANGUAGE C
A PORTABLE COMPILER FOR THE LANGUAGE C
An efficient and systematic method of compiler code-generation.
An efficient and systematic method of compiler code-generation.
An approach to the automatic generation of code-generators.
An approach to the automatic generation of code-generators.
Automatically proving the correctness of translations involving optimized code.
Automatically proving the correctness of translations involving optimized code.
Machine-independent generation of optimal local code.
Machine-independent generation of optimal local code.
Automatic generation of assemblers.
Automatic generation of assemblers.
Automatic generation of code generators.
Automatic generation of code generators.
Formalization and automatic derivation of code generators.
Formalization and automatic derivation of code generators.
A machine independent algorithm for code generation and its use in retargetable compilers.
A machine independent algorithm for code generation and its use in retargetable compilers.
Symbolic execution of formal machine descriptions
Symbolic execution of formal machine descriptions
Computer structures: Readings and examples (McGraw-Hill computer science series)
Computer structures: Readings and examples (McGraw-Hill computer science series)
Code selection through object code optimization
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
Affix grammar driven code generation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Integrating code generation and optimization
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
Parsing and compiling using Prolog
ACM Transactions on Programming Languages and Systems (TOPLAS)
Retargetable microcode synthesis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Automatic design and implementation of language data types
SIGPLAN '87 Papers of the Symposium on Interpreters and interpretive techniques
Graph translation schemes to generate compiler parts
ACM Transactions on Programming Languages and Systems (TOPLAS)
An Efficient Implementation of Static String Pattern Matching Machines
IEEE Transactions on Software Engineering
Code generation using tree matching and dynamic programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Language for Specifying Program Transformations
IEEE Transactions on Software Engineering
High level synthesis of pipelined instruction set processors and back-end compilers
DAC '92 Proceedings of the 29th ACM/IEEE Design Automation Conference
Specifying representations of machine instructions
ACM Transactions on Programming Languages and Systems (TOPLAS)
Automatic code generation for microprocessor based systems
Proceedings of the 1985 ACM SIGSMALL symposium on Small systems
Technological advances in software engineering
CSC '86 Proceedings of the 1986 ACM fourteenth annual conference on Computer science
Retargetable Compiler Code Generation
ACM Computing Surveys (CSUR)
Surveyor's Forum: Retargetable Code Generators
ACM Computing Surveys (CSUR)
Control Flow Aspects of Semantics-Directed Compiling
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Using dynamic programming to generate optimized code in a Graham-Glanville style code generator
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
High-quality code generation via bottom-up tree pattern matching
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Vector pascal reference manual
ACM SIGPLAN Notices
Description-driven code generation using attribute grammars
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Eliminating redundant object code
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Vector Pascal an array language for multimedia code
APL '02 Proceedings of the 2002 conference on APL: array processing languages: lore, problems, and applications
Contrasting translation, verification and synthesis in software and firmware engineering
MICRO 14 Proceedings of the 14th annual workshop on Microprogramming
MIDL - a microinstruction description language
MICRO 14 Proceedings of the 14th annual workshop on Microprogramming
An experiment in table driven code generation
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
A practical method for code generation based on exhaustive search
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
Analyzing exotic instructions for a retargetable code generator
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
Control flow aspects of semantics directed compiling (Summary)
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
Current status of a portable LISP compiler
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
The design of an integrated support software system
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
CISL: a class-based machine description language for co-generation of compilers and simulators
International Journal of Parallel Programming - Special issue: The next generation software program
Near-optimal instruction selection on dags
Proceedings of the 6th annual IEEE/ACM international symposium on Code generation and optimization
Orthogonal parallel processing in vector Pascal
Computer Languages, Systems and Structures
Towards an integrated development environment
IBM Systems Journal
Automatically generating instruction selectors using declarative machine descriptions
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Translation for intermediate code
MMACTEE'06 Proceedings of the 8th WSEAS international conference on Mathematical methods and computational techniques in electrical engineering
Targeting FPGA-based processors for an implementation-driven compiler construction course
Proceedings of the 49th Annual Southeast Regional Conference
Target code generation sing the code expansion technique for java bytecode
PDCAT'04 Proceedings of the 5th international conference on Parallel and Distributed Computing: applications and Technologies
Hi-index | 0.00 |
Work with compiler compilers has dealt principally with automatic generation of parsers and lexical analyzers. Until recently, little work has been done on formalizing and generating the back end of a compiler, particularly an optimizing compiler. This paper describes formalizations of machines and code generators and describes a scheme for the automatic derivation of code generators from machine descriptions. It was possible to separate all machine dependence from the code generation algorithms for a wide range of typical architectures (IBM-360, PDP-11, PDP-10, Intel 8080) while retaining good code quality. Heuristic search methods from work in artificial intelligence were found to be both fast and general enough for use in generation of code generators with the machine representation proposed. A scheme is proposed to perform as much analysis as possible at code generator generation time, resulting in a fast pattern-matching code generator. The algorithms and representations were implemented to test their practicality in use.