Path: csiph.com!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: anton@mips.complang.tuwien.ac.at (Anton Ertl) Newsgroups: comp.compilers Subject: Re: Has lexing and parsing theory advanced since the 1970's? Date: Thu, 16 Sep 2021 17:09:02 GMT Organization: Institut fuer Computersprachen, Technische Universitaet Wien Lines: 29 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <21-09-009@comp.compilers> References: <21-09-008@comp.compilers> Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="9739"; mail-complaints-to="abuse@iecc.com" Keywords: parse, history, code Posted-Date: 16 Sep 2021 13:56: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:2703 Roger L Costello writes: >That said, Flex & Bison is old. Has lexing/parsing theory advanced since the >1970s? If yes, are there parser generators available today which are based on >those advances in lexing/parsing theory? Or does Flex & Bison still represent >the state-of-the-art in terms of the underlying theory it uses? It seems to me that after the success of BNF (context-free grammars) with Algol 60 people wanted to go further, and Algol 68 used a Van Wijngaarden grammar (two-level grammars). But this formalism has not been used for describing and implementing later languages, and even Algol 60 put more in the grammar (in particular, the type difference between flags and numbers) than later languages. Most languages use just BNF and describe the rest of the language in prose, a few use a formal semantics, but I guess that's not what the question was about. So on the language definition side, there have been no advances in grammar formalism, because none are needed. On the implementation side, there have been many attribute grammar generators (e.g., Ox), but few uses. In the back end various more or less formal techniques have been used for instruction selection; e.g., lcc uses the tree-parser generator lburg. - anton -- M. Anton Ertl anton@mips.complang.tuwien.ac.at http://www.complang.tuwien.ac.at/anton/