Noncorrecting syntax error recovery
ACM Transactions on Programming Languages and Systems (TOPLAS)
Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Matrix multiplication via arithmetic progressions
STOC '87 Proceedings of the nineteenth annual ACM symposium on Theory of computing
An LR substring parser for noncorrecting syntax error recovery
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
ACM Computing Surveys (CSUR)
An efficient context-free parsing algorithm
Communications of the ACM
Communications of the ACM
A practical method for constructing LR (k) processors
Communications of the ACM
Efficient Parsing for Natural Language: A Fast Algorithm for Practical Systems
Efficient Parsing for Natural Language: A Fast Algorithm for Practical Systems
Introduction To Automata Theory, Languages, And Computation
Introduction To Automata Theory, Languages, And Computation
Compiler Design Theory
The Theory of Parsing, Translation, and Compiling
The Theory of Parsing, Translation, and Compiling
The design of parsers for incremental language processors
STOC '70 Proceedings of the second annual ACM symposium on Theory of computing
On Parsing Context Free Languages in Parallel Environments
On Parsing Context Free Languages in Parallel Environments
Methods for constructing parallel compilers for use in a multiprocessor environment.
Methods for constructing parallel compilers for use in a multiprocessor environment.
Principles of Compiler Design (Addison-Wesley series in computer science and information processing)
Principles of Compiler Design (Addison-Wesley series in computer science and information processing)
Linear-time suffix parsing for deterministic languages
Journal of the ACM (JACM)
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
On parsing and condensing substrings of LR languages in linear time
Theoretical Computer Science
On Parsing and Condensing Substrings of LR Languages in Linear Time
WIA '98 Revised Papers from the Third International Workshop on Automata Implementation
Fast parallel recognition of LR language suffixes
Information Processing Letters
Fast parallel recognition of LR language suffixes
Information Processing Letters
String analysis as an abstract interpretation
VMCAI'11 Proceedings of the 12th international conference on Verification, model checking, and abstract interpretation
Context-aware workflow language based on web services for ubiquitous computing
ICCSA'05 Proceedings of the 2005 international conference on Computational Science and Its Applications - Volume Part II
A uWDL handler for context-aware workflow services in ubiquitous computing environments
EUC'05 Proceedings of the 2005 international conference on Embedded and Ubiquitous Computing
A workflow language based on structural context model for ubiquitous computing
EUC'05 Proceedings of the 2005 international conference on Embedded and Ubiquitous Computing
Parallel parsing of operator precedence grammars
Information Processing Letters
Hi-index | 0.00 |
LR parsing techniques have long been studied as being efficient and powerful methods for processing context-free languages. A linear-time algorithm for recognizing languages representable by LR(k) grammars has long been known. Recognizing substrings of a context-free language is at least as hard as recognizing full strings of the language, since the latter problem easily reduces to the former. In this article we present a linear-time algorithm for recognizing substrings of LR(k) languages, thus showing that the substring recognition problem for these languages is no harder than the full string recognition problem. An interesting data structure, the Forest-Structured Stack, allows the algorithm to track all possible parses of a substring without loosing the efficiency of the original LR parser. We present the algorithm, prove its correctness, analyze its complexity, and mention several applications that have been constructed.