Results 11 to 20 of about 279 (123)
Practical LR Parser Generation
Parsing is a fundamental building block in modern compilers, and for industrial programming languages, it is a surprisingly involved task. There are known approaches to generate parsers automatically, but the prevailing consensus is that automatic parser generation is not practical for real programming languages: LR/LALR parsers are considered to be ...
openaire +2 more sources
Certain techniques for modifying LR(k) parsing tables to decrease their size have been developed by Korenjak [2] and DeRemer [3, 4]. We show that the techniques of the latter can be characterized by two transformations on sets of tables. We then show that the “simple” LR(1) method of DeRemer [4] can be considered a special case of Korenjak's method [2].
Aho, A.V., Ullman, J.D.
openaire +1 more source
LR parsers for natural languages [PDF]
MLR, an extended LR parser, is introduced, and its application to natural language parsing is discussed. An LR parser is a shift-reduce parser which is deterministically guided by a parsing table. A parsing table can be obtained automatically from a context-free phrase structure grammar.
openaire +1 more source
Disambiguation Filters for Scannerless Generalized LR Parsers [PDF]
In this paper we present the fusion of generalized LR parsing and scannerless parsing. This combination supports syntax de.nitions in which all aspects (lexical and context-free) of the syntax of a language are de.ned explicitly in one formalism. Furthermore, there are no restrictions on the class of grammars, thus allowing a natural syntax tree ...
van den Brand, Mark G. J. +3 more
openaire +6 more sources
LR(1) parser generation system
The LR(1) Parser Generation System generates full LR(1) parsers that are comparable in speed and size to those generated by LALR(1) parser generators, such as yacc [5]. In addition to the inherent advantages of full LR(1) parsing, it contains a number of novel features.
Sorkin, Arthur, Donovan, Peter
openaire +2 more sources
Bottom-Up Parser: Look-Ahead LR Parser
Compiler is used for the purpose of converting high level code to machine code. For doing this procedure we have six steps. On these steps the syntax analyses is the second step of compiler. The lexical analyzer produce token in the output. The tokens are used as input to syntax analyzer. Syntax analyzer performs parsing operation.
openaire +1 more source
An alternative method of training probabilistic LR parsers [PDF]
We discuss existing approaches to train LR parsers, which have been used for statistical resolution of structural ambiguity. These approaches are nonoptimal, in the sense that a collection of probability distributions cannot be obtained. In particular, some probability distributions expressible in terms of a context-free grammar cannot be expressed in ...
M. J. NEDERHOF, SATTA, GIORGIO
openaire +2 more sources
Optimizing directly executable LR parsers [PDF]
Traditionally, LR parsers are implemented as table interpreters. A parser generator creates tables whose entries are interpreted by the parser driver. Recent research shows that much faster LR parsers can be obtained by converting the table entries into directly executed code.
openaire +1 more source
Extending lookahead for LR parsers
AbstractA practical method is presented for extending the lookahead of LR parsers, by the addition of “reduce-arcs.” Applied to an LR(0) parser, this gives a machine which is close in size to the corresponding LALR(1) machine, but is capable of making use of unbounded lookahead.
openaire +1 more source
Reachability and error diagnosis in LR(1) parsers [PDF]
Given an LR(1) automaton, what are the states in which an error can be detected? For each such " error state " , what is a minimal input sentence that causes an error in this state? We propose an algorithm that answers these questions. This allows building a collection of pairs of an erroneous input sentence and a (handwritten) diagnostic message ...
openaire +2 more sources

