Path: csiph.com!xmission!news.alt.net!feeder.usenetexpress.com!tr3.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: luser droog Newsgroups: comp.compilers Subject: Re: Supporting multiple input syntaxes Date: Sun, 23 Aug 2020 22:16:33 -0700 (PDT) Organization: Compilers Central Lines: 22 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <20-08-016@comp.compilers> References: <20-08-002@comp.compilers> <20-08-004@comp.compilers> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="85732"; mail-complaints-to="abuse@iecc.com" Keywords: parse, LL(1) Posted-Date: 24 Aug 2020 11:43:04 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com In-Reply-To: <20-08-004@comp.compilers> Xref: csiph.com comp.compilers:2568 On Thursday, August 13, 2020 at 5:22:51 PM UTC-5, Hans-Peter Diettrich wrote: > Am 13.08.2020 um 00:20 schrieb luser droog: > > I've got my project successfully parsing the circa-1975 C syntax > > from that old manual. I'd like to add parsers for K&R1 and c90 > > syntaxes. > > > > How separate should these be? Should they be complete > > separate grammars, or more piecewise selection? > > IMO this depends widely on the usage of the parser output (diagnostics, > backend...). C90 is much stricter than K&R, requires more checks. Do you > need extensive error diagnostics, or do you assume that all source code > is free of errors? > > > > https://github.com/luser-dr00g/pcomb/blob/master/pc9syn.c > > You seem to implement an LL(1) parser? My C98 Parser is LL(2), i.e. an > LL(1) parser with one or two locations where more lookahead is required. In which places do you need more lookahead? Btw, some of my reading describes my parsers as LL(infinity) because of the backtracking.