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: honey crisis Newsgroups: comp.compilers Subject: Instructions on how to build and use the GLR parsing algorithm in C# Date: Tue, 18 Feb 2020 17:27:10 -0800 (PST) Organization: Compilers Central Lines: 12 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <20-02-014@comp.compilers> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="73688"; mail-complaints-to="abuse@iecc.com" Keywords: parse, question Posted-Date: 19 Feb 2020 11:21:43 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:2452 I've just released this at codeproject as an instructive guide on implementing GLR via LALR(1) tables/workers For those of you that don't know, GLR is the generalized version of LR parsing and was designed to parse virtually anything parsable including fundamentally ambiguous grammars, for which it returns multiple parse trees. It was originally designed to do natural language parsing but it can be used to parse highly ambiguous type-2+ languages like C# https://www.codeproject.com/Articles/5259825/GLR-Parsing-in-Csharp-How-to-Use -The-Most-Powerful