digitalmars.D.announce - Bison 3.8.1 released with D backend
- Carl Sturtivant (5/5) Sep 15 2021 The D back-end for deterministic parsers contributed by Adela
- Carl Sturtivant (20/20) Sep 15 2021 Quote:
- Tejas (16/21) Sep 15 2021 I'm sorry for being ignorant, but what does it mean to have a
- Carl Sturtivant (3/17) Sep 15 2021 A question asking for its author to be educated would be more
- Paul Backus (9/17) Sep 15 2021 Generally speaking, a parser is not a program that you'd run in
- Tejas (8/29) Sep 15 2021 Yep, that's what I thought of in Discord and was validated there
- H. S. Teoh (5/12) Sep 20 2021 Great news!
The D back-end for deterministic parsers contributed by Adela Vais is now available with the release of Bison 3.8.1 ! https://github.com/adelavais See https://savannah.gnu.org/forum/forum.php?forum_id=10047 for details.
Sep 15 2021
Quote: *** A skeleton for the D programming language The "lalr1.d" skeleton is now officially part of Bison. It was originally contributed by Oliver Mangold, based on Paolo Bonzini's lalr1.java, and was improved by H. S. Teoh. Adela Vais then took over maintenance and invested a lot of efforts to complete, test and document it. It now supports all the bells and whistles of the other deterministic parsers, which include: pull/push interfaces, verbose and custom error messages, lookahead correction, token constructors, internationalization, locations, printers, token and symbol prefixes, etc. Two examples demonstrate the D parsers: a basic one (examples/d/simple), and an advanced one (examples/d/calc).
Sep 15 2021
On Wednesday, 15 September 2021 at 13:24:25 UTC, Carl Sturtivant wrote:The D back-end for deterministic parsers contributed by Adela Vais is now available with the release of Bison 3.8.1 ! https://github.com/adelavais See https://savannah.gnu.org/forum/forum.php?forum_id=10047 for details.I'm sorry for being ignorant, but what does it mean to have a \<insert language\> back-end in Bison? Does it mean that the parser program that `Bison` will output will be a `.d` file? Assuming I'm correct: What does it matter whether the parser is a `.c .cpp .d .pl` or whatever file? I'm really sorry I'm coming off as abrasive/ungrateful. I have no intention to belittle the author or the work she has done. But I'm really curious: What changes if `Bison` outputs it's parser in some language other than the one it originally targeted(perhaps that was C?) I'm really sorry if this appears dismissive, I just don't know how to phrase it any better.
Sep 15 2021
On Wednesday, 15 September 2021 at 14:48:06 UTC, Tejas wrote:I'm sorry for being ignorant, but what does it mean to have a \<insert language\> back-end in Bison? Does it mean that the parser program that `Bison` will output will be a `.d` file? Assuming I'm correct: What does it matter whether the parser is a `.c .cpp .d .pl` or whatever file? I'm really sorry I'm coming off as abrasive/ungrateful. I have no intention to belittle the author or the work she has done. But I'm really curious: What changes if `Bison` outputs it's parser in some language other than the one it originally targeted(perhaps that was C?) I'm really sorry if this appears dismissive, I just don't know how to phrase it any better.A question asking for its author to be educated would be more suitably posted in the Learn forum.
Sep 15 2021
On Wednesday, 15 September 2021 at 14:48:06 UTC, Tejas wrote:Assuming I'm correct: What does it matter whether the parser is a `.c .cpp .d .pl` or whatever file? I'm really sorry I'm coming off as abrasive/ungrateful. I have no intention to belittle the author or the work she has done. But I'm really curious: What changes if `Bison` outputs it's parser in some language other than the one it originally targeted(perhaps that was C?)Generally speaking, a parser is not a program that you'd run in isolation. When you generate a parser with Bison, it's usually because you want to incorporate that parser into some larger program, like a compiler or a language server. In general, having Bison output its parser in $LANGUAGE makes it easier to incorporate that parser into larger programs written in $LANGUAGE. So giving Bison the ability to output D makes it easier to incorporate Bison-generated parsers into D programs.
Sep 15 2021
On Wednesday, 15 September 2021 at 17:55:19 UTC, Paul Backus wrote:On Wednesday, 15 September 2021 at 14:48:06 UTC, Tejas wrote:Yep, that's what I thought of in Discord and was validated there as well that this was it :D After a while, my mind started drifting that `pegged` already does this, but then I realized it probably doesn't create `LALR(1)` parsers, only sticking to Expression Grammars, but Bison does that.Assuming I'm correct: What does it matter whether the parser is a `.c .cpp .d .pl` or whatever file? I'm really sorry I'm coming off as abrasive/ungrateful. I have no intention to belittle the author or the work she has done. But I'm really curious: What changes if `Bison` outputs it's parser in some language other than the one it originally targeted(perhaps that was C?)Generally speaking, a parser is not a program that you'd run in isolation. When you generate a parser with Bison, it's usually because you want to incorporate that parser into some larger program, like a compiler or a language server. In general, having Bison output its parser in $LANGUAGE makes it easier to incorporate that parser into larger programs written in $LANGUAGE. So giving Bison the ability to output D makes it easier to incorporate Bison-generated parsers into D programs.
Sep 15 2021
On Wed, Sep 15, 2021 at 01:24:25PM +0000, Carl Sturtivant via Digitalmars-d-announce wrote:The D back-end for deterministic parsers contributed by Adela Vais is now available with the release of Bison 3.8.1 ! https://github.com/adelavais See https://savannah.gnu.org/forum/forum.php?forum_id=10047 for details.Great news! T -- Unix was not designed to stop people from doing stupid things, because that would also stop them from doing clever things. -- Doug Gwyn
Sep 20 2021