• Publications
  • Influence
Compilers: Principles, Techniques, and Tools
This book discusses the design of a Code Generator, the role of the Lexical Analyzer, and other topics related to code generation and optimization.
The Design and Analysis of Computer Algorithms
This text introduces the basic data structures and programming techniques often used in efficient algorithms, and covers use of lists, push-down stacks, queues, trees, and graphs.
Efficient string matching
A simple, efficient algorithm to locate all occurrences of any of a finite number of keywords in a string of text that has been used to improve the speed of a library bibliographic search program by a factor of 5 to 10.
The Theory of Parsing, Translation, and Compiling
It is the hope that the algorithms and concepts presented in this book will survive the next generation of computers and programming languages, and that at least some of them will be applicable to fields other than compiler writing.
Data Structures and Algorithms
The basis of this book is the material contained in the first six chapters of the earlier work, The Design and Analysis of Computer Algorithms, and has added material on algorithms for external storage and memory management.
Inferring a Tree from Lowest Common Ancestors with an Application to the Optimization of Relational Expressions
We present an algorithm for constructing a tree to satisfy a set of lineage constraints on common ancestors. We then apply this algorithm to synthesize a relational algebra expression from a simple
The Transitive Reduction of a Directed Graph
It is shown that the time complexity of the best algorithm for finding the transitive reduction of a graph is the same as the time to compute the transitives closure of agraph or to perform Boolean matrix multiplication.
Principles of Compiler Design
Algorithms for Finding Patterns in Strings
  • A. Aho
  • Computer Science
    Handbook of Theoretical Computer Science, Volume…
  • 2 January 1991