Path: csiph.com!xmission!news.alt.net!feeder.usenetexpress.com!tr2.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: Supporting multiple input syntaxes Date: Wed, 12 Aug 2020 15:20:35 -0700 (PDT) Organization: Compilers Central Lines: 19 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <20-08-002@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="97063"; mail-complaints-to="abuse@iecc.com" Keywords: yacc, design, question, comment Posted-Date: 12 Aug 2020 18:32:54 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:2554 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? My feeling is that separating them will be less headache, but maybe there's some advantage to changing out smaller pieces of the grammar in that it might be easier to make sure that they produce the same structure compatible with the backend. Any guidance in this area? https://github.com/luser-dr00g/pcomb/blob/master/pc9syn.c [Really, it's up to you. My inclination would be to make them separate but use some sort of macro setup so you can insert common pieces into each of the grammars. -John]