Path: csiph.com!1.us.feeder.erje.net!3.us.feeder.erje.net!feeder.erje.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: George Neuner Newsgroups: comp.compilers Subject: Re: Parser LL(*) Date: Sat, 19 Mar 2022 21:14:59 -0400 Organization: A noiseless patient Spider Lines: 38 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <22-03-043@comp.compilers> References: <22-03-039@comp.compilers> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="56475"; mail-complaints-to="abuse@iecc.com" Keywords: parse, LL(1) Posted-Date: 19 Mar 2022 22:30:19 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:2945 On Fri, 18 Mar 2022 11:38:48 -0700 (PDT), Andy wrote: >Many language construction needs lookahead depth known in runtime, for >example difference between function declarations and definitions. >LL(*) is described in > https://www.antlr.org/papers/allstar-techreport.pdf. >This is only one place about LL(*) info? Terence Parr both invented LL(*) and is the author of the ANTLR tool. AFAIK, Parr's own papers and books are the only sources of information about the method. >If is the simplest idea make LL(1) with several conflicts and first >speculative trying all paths, and backtrack? No, the simplest idea was LL(k) with a fixed value of 'k'. I don't believe Parr developed the method, but he was one of the pioneers of using it. Parr authored PCCTS which used LL(k), and early versions of ANTLR [prior to LL(*)] also used it. LL(*) eliminates the need for the developer to figure out what 'k' is optimal for the grammar: too low results in conflicts, too high may waste processing effort. >How do speedup it with cache? ??? Lookahead tokens already are cached. >How make speculative trying in function calls? Sorry, I'm not sure what you are asking. George