Filters








617 Hits in 5.6 sec

LL (1) Parser versus GNF inducted LL (1) Parser on Arithmetic Expressions Grammar: A Comparative Study

Hassan Ali, Muhammad Shumail Naveed, Dilawar Naseem, Jawaid Shabbir
2020 Quaid-e-awam University research journal of engineering science & technology  
The study described that GNF based LL(1) parser for arithmetic take fewer steps than conventional LL(1) grammar.  ...  Conventional arithmetic expression grammar and its equivalent LL(1) is used in the study which is converted.  ...  [6] , LL (1) and strong LL (1) differ in error detection. Both have corrected prefix property, but LL (1) has an immediate error detection mechanism.  ... 
doi:10.52584/qrj.1802.14 fatcat:2gy57uthefakbgrstfncminxqm

A Verified LL(1) Parser Generator

Sam Lasser, Chris Casinghino, Kathleen Fisher, Cody Roux, Michael Wagner
2019 International Conference on Interactive Theorem Proving  
We present an LL(1) parser generator that, when applied to grammar G, produces an LL(1) parser for G if such a parser exists.  ...  An LL(1) parser is a recursive descent algorithm that uses a single token of lookahead to build a grammatical derivation for an input sequence.  ...  In our proof of error-free termination, we show that the parser never actually returns this "left recursion detected" value as long as it is applied to a correct LL(1) parse table for some grammar, because  ... 
doi:10.4230/lipics.itp.2019.24 dblp:conf/itp/LasserCFR19 fatcat:rbhfhssebbd6vkhaxczolveqnu

A language independent error recovery method for LL(1) parsers

Michael Spenke, Heinz Muhlenbein, Monika Mevenkamp, Friedemann Mattern, Christian Beilken
1984 Software, Practice & Experience  
An efficient and systematic LL(1) error recovery method is presented that has been implemented for an LL( 1) parser generator.  ...  The error recovery routine is invoked only when an error is detected. Thus, there is no additional time required for parsing correct programs.  ...  -l) from the stack, which leads to a valid configuration (see Figure 1 ). The strong LL(1)-parser detects an error as soon as the current input symbol T , is not contained in FIRST(A,.FOLLOW(A,)).  ... 
doi:10.1002/spe.4380141107 fatcat:qewume5qnvfs5crklztnk7dti4

On LLP(k) parsers

Jan Pittl
1982 Journal of computer and system sciences (Print)  
Again, an example may be helpful in explaining the way the parser works. Although no word with prefix aaa is in L(G), the parser must read the entire input to detect an error.  ...  Similarly, partitioned LL(k) grammars [4] have been renamed as strong SD(k) ones.  ... 
doi:10.1016/0022-0000(82)90054-x fatcat:gcq7cmqa3zh6pjdgxbxeslfjwu

ANTLR: A predicated-LL(k) parser generator

T. J. Parr, R. W. Quong
1995 Software, Practice & Experience  
YACC, programmers often choose to write recursive-descent parsers by hand to obtain increased flexibility, better error handling, and ease of debugging.  ...  ANTLR also integrates the description of lexical and syntactic analysis, accepts LL(k) grammars for k > 1 with extended BNF notation, and can automatically generate abstract syntax trees.  ...  In addition to a strong parsing strategy, ANTLR has many features that make it more programmer-friendly than the majority of LR/LALR and LL parser generators. 1.  ... 
doi:10.1002/spe.4380250705 fatcat:up5wjeu7incaff2vs4u5tsstaa

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

Joel E. Denny, Brian A. Malloy
2010 Science of Computer Programming  
In response, many researchers have attempted to develop minimal LR parser table generation algorithms.  ...  As part of that effort, we examine a deficiency in the state of the art of practical LR parser table generation.  ...  Whereas the canonical LR(1) parser successfully completes the parse of baa · a, this change in parser actions leads the LALR(1) parser to a syntax error.  ... 
doi:10.1016/j.scico.2009.08.001 fatcat:ckjgfg3dq5fv5p4epagkkt5jce

Recursion Engineering for Reduction Incorporated Parsers

Adrian Johnstone, Elizabeth Scott
2005 Electronical Notes in Theoretical Computer Science  
of RI automata using profiling information gathered from running parsers: in this way we propose to optimise our parsers' table size against performance on actual parsing tasks.  ...  Reduction Incorporated (RI) recognisers and parsers deliver high performance by suppressing the stack activity except for those rules that generate fully embedded recursion.  ...  (Consider, for instance an LL(1) parser for Pascal which was attempting to work with individual characters: the keywords do and downto would generate a left-factoring conflict.)  ... 
doi:10.1016/j.entcs.2005.02.060 fatcat:ho7kobk35ve4vax4thgspjpquq

Automatic recursion engineering of reduction incorporated parsers

Adrian Johnstone, Elizabeth Scott
2007 Science of Computer Programming  
automaton; we investigate the use of RI parsers for scannerless parsing; and we explain some of the phenomena that influence the time/space trade-off for RI parsers.  ...  Reduction Incorporated (RI) parsers deliver high performance by suppressing the stack activity except for those rules that generate embedded recursion.  ...  (Consider, for instance an LL(1) parser for Pascal which was attempting to work with individual characters: the keywords do and downto would generate a left-factoring conflict.)  ... 
doi:10.1016/j.scico.2006.04.011 fatcat:4sz6b2k66bcydblea4g5pjckca

Page 2375 of Mathematical Reviews Vol. , Issue 80F [page]

1980 Mathematical Reviews  
R. 80f :68097 Immediate error detection in strong LL(1) parsers. Inform. Process. Lett. 8 (1979), no. 5, 261-266. From the text: “LL-parsing techniques are very commonly used in practice.  ...  Via this transformation, immediate error detection can be provided for any strong LL(1) grammar.  ... 

Global context recovery

Ajit B. Pai, Richard B. Kieburtz
1979 SIGPLAN notices  
Methods for error recovery in parsing a deterministic, context-free language need not be derived by ad hoc means.  ...  When fixed, table-driven parsing algorithms are used the error recovery procedures can also make use of knowledge about the grammar for the language, derived from the parsing tables.  ...  It has been implemented in conjunction with an LL(1) parser.  ... 
doi:10.1145/872732.806966 fatcat:salfdtos7vaeznidrerjxqefm4

On LL(k) parsing

Seppo Sippu, Eljas Soisalon-Soininen
1982 Information and Control  
This is also of practical importance because canonical LL(k) parsers for k= 1 have gained new attention in error handling, thanks to their capability for early error deteqtion.  ...  In particular, the equivalence relation that yields the canonical LL(k) parser is considered, and a new method for constructing the canonical parser is given.  ...  However, even though the strong LL(k) parser of an LL(k) grammar worked correctly, it may detect errors later than the true LL(k) parser.  ... 
doi:10.1016/s0019-9958(82)91016-6 fatcat:hcsqj6j3o5fbddvbqqtwgn6mi4

LL(*)

Terence Parr, Kathleen Fisher
2011 Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation - PLDI '11  
Adding nondeterminism (parser speculation) to traditional LL and LR parsers can lead to unexpected parse-time behavior and introduces practical issues with error handling, single-step debugging, and side-effecting  ...  LL(*) parsing strength reaches into the context-sensitive languages, in some cases beyond what GLR and PEGs can express.  ...  Packrat parsers have the same issue since they are always speculating. In fact, they cannot recover from syntax errors because they cannot detect errors until they have seen the entire input.  ... 
doi:10.1145/1993498.1993548 dblp:conf/pldi/ParrF11 fatcat:uqitvlxdfrhs3j2sd4grb4p47u

Adaptive LL(*) parsing

Terence Parr, Sam Harwell, Kathleen Fisher
2014 Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications - OOPSLA '14  
This paper introduces the ALL(*) parsing strategy that combines the simplicity, efficiency, and predictability of conventional top-down LL(k) parsers with the power of a GLR-like mechanism to make parsing  ...  ANTLR 4 generates ALL(*) parsers and supports direct left-recursion through grammar rewriting.  ...  Eelco Visser and Jurgen Vinju provided code to test isolated parsers from JS-GLR and Rascal. Etienne Gagnon generated SableCC parsers.  ... 
doi:10.1145/2660193.2660202 dblp:conf/oopsla/ParrHF14 fatcat:qst6nncejvbcjbk7bjopzltfx4

Adaptive LL(*) parsing

Terence Parr, Sam Harwell, Kathleen Fisher
2014 SIGPLAN notices  
This paper introduces the ALL(*) parsing strategy that combines the simplicity, efficiency, and predictability of conventional top-down LL(k) parsers with the power of a GLR-like mechanism to make parsing  ...  ANTLR 4 generates ALL(*) parsers and supports direct left-recursion through grammar rewriting.  ...  Eelco Visser and Jurgen Vinju provided code to test isolated parsers from JS-GLR and Rascal. Etienne Gagnon generated SableCC parsers.  ... 
doi:10.1145/2714064.2660202 fatcat:vgnx37nbtnejzbvqeit55daiaq

ANTLRWorks: an ANTLR grammar development environment

Jean Bovet, Terence Parr
2008 Software, Practice & Experience  
In the ANTLRWorks debugger, programmers can set breakpoints in the input tree and single step through tree grammars to detect errors just like when debugging a token stream parser.  ...  warnings from YACC [2] or LL warnings from other parser generators.  ...  LL( * ) is strong enough to prevent backtracking in most decisions for common languages.  ... 
doi:10.1002/spe.872 fatcat:uxibu66p6vhadoow7git3oy26y
« Previous Showing results 1 — 15 out of 617 results