Syntactic Analysis and Operator Precedence
Journal of the ACM (JACM)
A Boolean matrix method for the computation of linear precedence functions
Communications of the ACM
Communications of the ACM
A new method for determining linear precedence functions for precedence grammars
Communications of the ACM
Programming Languages: Boolean matrix methods for the detection of simple precedence grammars
Communications of the ACM
EULER: a generalization of ALGOL and it formal definition: Part 1
Communications of the ACM
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
The theory of parsing, translation, and compiling
The theory of parsing, translation, and compiling
Compiler Construction for Digital Computers
Compiler Construction for Digital Computers
Efficient evaluation for a subset of recursive queries
PODS '87 Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Perspectives on database theory
ACM SIGACT News
Graph-theoretic methods in database theory
PODS '90 Proceedings of the ninth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Lower Bounds and Reductions Between Grammar Problems
Journal of the ACM (JACM)
On predictive parsing and extended context-free grammars
Computer Science in Perspective
A new method of generating LL(1) lookahead sets
ACM SIGPLAN Notices
Hi-index | 48.22 |
Various computations on relations, Boolean matrices, or directed graphs, such as the computation of precedence relations for a context-free grammar, can be done by a practical algorithm that is asymptotically faster than those in common use. For example, how to compute operator precedence or Wirth-Weber precedence relations in O(n2) steps is shown, as well as how to compute linear precedence functions in O(n) steps, where n is the size of a grammar. The heart of the algorithms is a general theorem giving sufficient conditions under which an expression whose operands are sparse relations and whose operators are composition, transitive closure, union, and inverse, can be computed efficiently.