Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
An improvement to bottom-up tree pattern matching
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Optimal code generation for expression trees: an application BURS theory
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
BEG: a generator for efficient back ends
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
A language for writing code generators
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Code generation using tree matching and dynamic programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficient retargetable code generation using bottom-up tree pattern matching
Computer Languages
Hard-coding bottom-up code generation tables to save time and space
Software—Practice & Experience
A code generation interface for ANSI C
Software—Practice & Experience
A retargetable compiler for ANSI C
ACM SIGPLAN Notices
BURG: fast optimal instruction selection and tree parsing
ACM SIGPLAN Notices
Simple and efficient BURS table generation
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Optimal Code Generation for Expression Trees
Journal of the ACM (JACM)
Journal of the ACM (JACM)
Efficient string matching: an aid to bibliographic search
Communications of the ACM
The ICON Programming Language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Simple and effective link-time optimization of Modula-3 programs
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
An evaluation of an automatically generated compiler
ACM Transactions on Programming Languages and Systems (TOPLAS)
Bottom-up tree rewriting tool MBURG
ACM SIGPLAN Notices
Optimal code selection in DAGs
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Development of an optimizing compiler for a Fujitsu fixed-point digital signal processor
CODES '99 Proceedings of the seventh international workshop on Hardware/software codesign
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Constraint driven code selection for fixed-point DSPs
Proceedings of the 36th annual ACM/IEEE Design Automation Conference
Simultaneous reference allocation in code generation for dual data memory bank ASIPs
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Interactive multi-pass programmable shading
Proceedings of the 27th annual conference on Computer graphics and interactive techniques
Graph-based code selection techniques for embedded processors
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Extending Graham-Glanville techniques for optimal code generation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Processor modeling and code selection for retargetable compilation
ACM Transactions on Design Automation of Electronic Systems (TODAES)
C Compiler Design for an Industrial Network Processor
OM '01 Proceedings of the 2001 ACM SIGPLAN workshop on Optimization of middleware and distributed systems
Code generation for embedded processors
ISSS '00 Proceedings of the 13th international symposium on System synthesis
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Embedded software in real-time signal processing systems: design technologies
Readings in hardware/software co-design
Readings in hardware/software co-design
A study of compiler techniques for multiple targets in compiler infrastructures
ACM SIGPLAN Notices
The Garp Architecture and C Compiler
Computer
Static resource models for code-size efficient embedded processors
ACM Transactions on Embedded Computing Systems (TECS)
Universal Regular Path Queries
Higher-Order and Symbolic Computation
Program Synthesis from Formal Requirements Specifications Using APTS
Higher-Order and Symbolic Computation
An Empirical Study of Retargetable Compilers
PSI '02 Revised Papers from the 4th International Andrei Ershov Memorial Conference on Perspectives of System Informatics: Akademgorodok, Novosibirsk, Russia
User-Extensible SimplificationType-Based Optimizer Generators
CC '01 Proceedings of the 10th International Conference on Compiler Construction
Experiences Porting the Jikes RVM to Linux/IA32
Proceedings of the 2nd Java Virtual Machine Research and Technology Symposium
An abstract intermediate representation in compilation systems
ACM SIGPLAN Notices
Retargetable Generation of Code Selectors from HDL Processor Models
EDTC '97 Proceedings of the 1997 European conference on Design and Test
Feedback driven instruction-set extension
Proceedings of the 2004 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
C Compiler Retargeting Based on Instruction Semantics Models
Proceedings of the conference on Design, Automation and Test in Europe - Volume 2
A Compiler and Runtime Infrastructure for Automatic Program Distribution
IPDPS '05 Proceedings of the 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS'05) - Papers - Volume 01
Toward an engineering discipline for grammarware
ACM Transactions on Software Engineering and Methodology (TOSEM)
Software—Practice & Experience
Portable, mostly-concurrent, mostly-copying garbage collection for multi-processors
Proceedings of the 5th international symposium on Memory management
Fast and flexible instruction selection with on-demand tree-parsing automata
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Effective compiler generation by architecture description
Proceedings of the 2006 ACM SIGPLAN/SIGBED conference on Language, compilers, and tool support for embedded systems
Compilation reuse and hybrid compilation: an experiment
ACM SIGPLAN Notices
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
Code generation for just-in-time compiled mobile collector agents
VIP '02 Selected papers from the 2002 Pan-Sydney workshop on Visualisation - Volume 22
The Project Maxwell assembler system
PPPJ '06 Proceedings of the 4th international symposium on Principles and practice of programming in Java
Assimilating MetaBorg:: embedding language tools in languages
Proceedings of the 5th international conference on Generative programming and component engineering
Retargetable code optimization with SIMD instructions
CODES+ISSS '06 Proceedings of the 4th international conference on Hardware/software codesign and system synthesis
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Proceedings of the conference on Design, automation and test in Europe
Compiler generation from structural architecture descriptions
CASES '07 Proceedings of the 2007 international conference on Compilers, architecture, and synthesis for embedded systems
Near-optimal instruction selection on dags
Proceedings of the 6th annual IEEE/ACM international symposium on Code generation and optimization
Generalized instruction selection using SSA-graphs
Proceedings of the 2008 ACM SIGPLAN-SIGBED conference on Languages, compilers, and tools for embedded systems
ANTLRWorks: an ANTLR grammar development environment
Software—Practice & Experience
Comprehensive isomorphic subtree enumeration
CASES '08 Proceedings of the 2008 international conference on Compilers, architectures and synthesis for embedded systems
Processor Description Languages
Processor Description Languages
A SIMD optimization framework for retargetable compilers
ACM Transactions on Architecture and Code Optimization (TACO)
Recurrence-aware instruction set selection for extensible embedded processors
IEEE Transactions on Very Large Scale Integration (VLSI) Systems
Automatic vectorization using dynamic compilation and tree pattern matching technique in Jikes RVM
Proceedings of the 4th workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages and Programming Systems
Power profile estimation and compiler-based software optimization for mobile devices
Journal of Embedded Computing - PATMOS 2007 selected papers on low power electronics
Automatically generating instruction selectors using declarative machine descriptions
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A survey of strategies in rule-based program transformation systems
Journal of Symbolic Computation
BURS-based instruction set selection
PSI'06 Proceedings of the 6th international Andrei Ershov memorial conference on Perspectives of systems informatics
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A fast general parser for automatic code generation
MTPP'10 Proceedings of the Second Russia-Taiwan conference on Methods and tools of parallel programming multicomputers
MTPP'10 Proceedings of the Second Russia-Taiwan conference on Methods and tools of parallel programming multicomputers
PEG-based transformer provides front-, middle-and back-end stages in a simple compiler
Workshop on Self-Sustaining Systems
Converting intermediate code to assembly code using declarative machine descriptions
CC'06 Proceedings of the 15th international conference on Compiler Construction
Compiler backend generation for application specific instruction set processors
APLAS'11 Proceedings of the 9th Asian conference on Programming Languages and Systems
ISAMAP: instruction mapping driven by dynamic binary translation
ISCA'10 Proceedings of the 2010 international conference on Computer Architecture
PATMOS'07 Proceedings of the 17th international conference on Integrated Circuit and System Design: power and timing modeling, optimization and simulation
Hi-index | 0.00 |
Many code-generator generators use tree pattern matching and dynamic programming. This paper describes a simple program that generates matchers that are fast, compact, and easy to understand. It is simpler than common alternatives: 200–700 lines of Icon or 950 lines of C versus 3000 lines of C for Twig and 5000 for burg. Its matchers run up to 25 times faster than Twig's. They are necessarily slower than burg's BURS (bottom-up rewrite system) matchers, but they are more flexible and still practical.