A list of puns related to "Extended Backus–naur Form"
Right now, there's a manual with pieces of EBNF. This doesn't help much because the most interesting constructs don't have a full description (e.g. functions). The only way to learn the syntax for such constructs is reading the parser, which is extremely painful without an IDE capable of following calls as links and showing the call hierarchy.
Having a (somewhat) complete description of the syntax in its current state would be beneficial to developers seeking to write in/contribute to Rust.
While surfing the web, I encountered a lot of BNF(Backus-Naur Form) generator that allows you to generate a text starting from a formal grammar definition. I now wonder if it exists something that does the opposite: starting from a string of text it should generate a BNF representation of the provided language. Unfortunately i cannot find anything like that, so I'm just start thinking that it's simple impossible to realize. What's your opinion on that? Is there a way to do it that does not involve any deep learning mechanism but only deterministic procedures?
production without nested alternation: A -> B | e | B C D
production with nested alternation: A -> B (X | Y (O | E) | Z) | C | e
The reason I asked this is that I have implemented FIRST and FOLLOW functions that works on grammar with nested alternation. When I read up on LL(1) parser table generation I realised that with nested alternations you would then have to generate parse tables for each nested alternation.
So my question is - is there any use case for supporting nesting of alternations?
You can find my implementations for FIRST/FOLLOW here: https://github.com/dexterleng/bnf
So I was looking at starting a small project working with writing a compiler for my own language and I feel like I don't understand a key part of the concept:
Lets say I've written some stuff in BNN. Where do I take this? How do I use the BNN in the compilation process? Does BNN get compiled itself? If so, what does it use?
Hi reddit, I'm a CS major currently going through my 2nd year of programming, and I've found myself stuck with a rather old-school professor whose been grinding BNF and EBNF into our heads.
For anyone reading this out in the field, is BNF something that can be useful in any capacity? I've been getting the creeping feeling that I might as well be working with punch cards.
I've searched the internet and nothing really explains without chucking a buttload of long ass words in. so Where is BNF used also why is it used? I take computing as a subject at A level so I should know some things...
Please note that this site uses cookies to personalise content and adverts, to provide social media features, and to analyse web traffic. Click here for more information.