Results 11 to 20 of about 116,770 (215)

Practical LR Parser Generation [PDF]

open access: greenCoRR, 2022
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 ...
Joe Zimmerman
core   +6 more sources

A Drop-in Replacement for LR(1) Table-Driven Parsing [PDF]

open access: diamondAdvances in Computing and Engineering, 2021
This paper presents a construction method for a deterministic one-symbol look-ahead LR parser which allows non-terminals in the parser look-ahead. This effectively relaxes the requirement of parsing the reverse of the right-most derivation of a string ...
Michael Oudshoorn
doaj   +2 more sources

Tolerant parsing using modified LR(1) and LL(1) algorithms with embedded “Any” symbol

open access: diamondТруды Института системного программирования РАН, 2019
Tolerant parsing is a form of syntax analysis aimed at capturing the structure of certain points of interest presented in a source code. While these points should be well-described in a tolerant grammar of the language, other parts of the program are ...
Alexey Valerievitch Goloveshkin
doaj   +3 more sources

On LR(k)-parsers of polynomial size [PDF]

open access: greenCoRR, 2015
Usually, a parser for an $LR(k)$-grammar $G$ is a deterministic pushdown transducer which produces backwards the unique rightmost derivation for a given input string $x \in L(G)$. The best known upper bound for the size of such a parser is $O(2^{|G||Σ|^k+k\log |Σ| + \log |G|})$ where $|G|$ and $|Σ|$ are the sizes of the grammar $G$ and the terminal ...
Norbert Blüm
openalex   +4 more sources

Validating LR(1) Parsers [PDF]

open access: bronze, 2012
An LR(1) parser is a finite-state automaton, equipped with a stack, which uses a combination of its current state and one lookahead symbol in order to determine which action to perform next. We present a validator which, when applied to a context-free grammar G and an automaton A, checks that A and G agree.
Jacques-Henri Jourdan   +2 more
openalex   +2 more sources

Reachability and error diagnosis in LR(1) parsers [PDF]

open access: greenProceedings of the 25th International Conference on Compiler Construction, 2016
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 ...
François Pottier
openalex   +4 more sources

Towards Efficient, Typed LR Parsers [PDF]

open access: diamondElectronic Notes in Theoretical Computer Science, 2006
AbstractThe LR parser generators that are bundled with many functional programming language implementations produce code that is untyped, needlessly inefficient, or both. We show that, using generalized algebraic data types, it is possible to produce parsers that are well-typed (so they cannot unexpectedly crash or fail) and nevertheless efficient ...
François Pottier, Yann Régis-Gianas
openalex   +3 more sources

Bottom-Up Parser: Look-Ahead LR Parser

open access: diamondInternational Journal of Recent Technology and Engineering (IJRTE), 2019
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.
Pooja Rani
openalex   +2 more sources

The IELR(1) algorithm for generating minimal LR(1) parser tables for non-LR(1) grammars with conflict resolution [PDF]

open access: bronze, 2009
There has been a recent effort in the literature to reconsider grammar-dependent software development from an engineering point of view. As part of that effort, we examine a deficiency in the state of the art of practical LR parser table generation ...
Joel Denny, Brian A. Malloy
openalex   +3 more sources

On Parsing Programming Languages with Turing-Complete Parser

open access: yesMathematics, 2023
A new parsing method based on the semi-Thue system is described. Similar to, but with more efficient implementation than Markov normal algorithms, it can be used for parsing any recursively enumerable language.
Boštjan Slivnik, Marjan Mernik
doaj   +1 more source

Home - About - Disclaimer - Privacy