Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED!nerds-end From: "SLK Mail" Newsgroups: comp.compilers Subject: First vs Predict and LL(*) Date: Wed, 07 Jan 2015 20:40:35 -0800 Organization: SLK Systems Lines: 15 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <15-01-006@comp.compilers> References: <15-01-003@comp.compilers> NNTP-Posting-Host: news.iecc.com Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15; format=flowed; delsp=yes Content-Transfer-Encoding: 8bit X-Trace: miucha.iecc.com 1420681365 26048 2001:470:1f07:1126:0:676f:7373:6970 (8 Jan 2015 01:42:45 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Thu, 8 Jan 2015 01:42:45 +0000 (UTC) Keywords: LL(1), parse Posted-Date: 07 Jan 2015 20:42:45 EST 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:1463 The main question: what's the functional intent behind the First vs. Follow sets, and the goal of the project I'm writing is a recursive descent parser, from what's described above, is my classification of LL(*) accurate? FIRST is the set of starting terminals derivable from a nonterminal. FOLLOW is the same iff the nonterminal goes to null, so the FIRST that follows the nonterminal. PREDICT is the combination of FIRST and FOLLOW. PREDICT is used to predict which production to use based on the lookahead terminal. See http://slkpg.t15.org/llkparse.html for way more detail than you probably want.