Comments (8)
@prmammoth @artman41 we've merged the implementation of this feature and are drafting the release for later today! it was a long time coming 😄 check out the example in the readme and reach out or create another issue if you have any questions!
from bnf.
Hi @artman41 thanks for pinging, this isn't abandoned but it's also not implemented yet. I'm hoping to have some happy updates regarding it in the next couple weeks.
from bnf.
just wanted to share that I've been poking at this feature recently. nothing to show yet, but it has not been forgotten!
from bnf.
Wonderful. Thanks a lot
from bnf.
Hi @prmammoth that's a feature I've been thinking about implementing for awhile now, I do think it'd be a valuable addition to this library. Taken in steps, I think the most straight forward approach is to implement an Earley parser that would be able to validate that input is or is not valid for the given grammar, then use the result to generate a "parse forest" of possible paths to that input from the grammar 🤔
from bnf.
I might take a swing at implementing this over the next week or two, if I have anything interesting to report I'll fill ya in here.
from bnf.
Quick update, I haven't forgotten abt this. I've got a prototype working for grammars accepting/rejecting sentences but am still chipping at returning the parse trees that show how a sentence fits the grammar. More specifically, I have an initial Earley parser worked out, just haven't wrapped up the logic to take the result and create a parse forest from it.
In case anyones interested in what I mean by "I have an initial Earley parser worked out", I'm hacking around on it all over here https://github.com/shnewto/earley. Fwiw, I suspect the tests there would be more informative than the prototype code 🤷♂️
from bnf.
@shnewto any update on this? Has the feature been abandoned?
from bnf.
Related Issues (20)
- 2 Questions about Parsing HOT 5
- Empty String Rules Fail to Match HOT 4
- Empty String Rules (Still) Fail to Match HOT 7
- faster production matching while earley parsing
- reusable grammar parser
- Nullable productions (Still, Still) Fail to Match HOT 6
- Right-recursive productions Fail to Match
- Broken coverage report HOT 6
- report the faulty character / line / column / offset when no parse trees are generated HOT 3
- How to use the bnf lib in sql parse function HOT 7
- Undefined nonterminal is accepted in bnf parsing HOT 2
- Order of Rules Affects Parsing HOT 2
- compare Criterion & Divan HOT 1
- Rethink Grammar::generate logic HOT 5
- Generate code coverage reports as a step in our GitHub actions HOT 1
- Nullable Rules?
- suggestion: extract bnf test-cases to their own .bnf files? HOT 3
- Ability to parse BNF grammars at compile time HOT 3
- Iterator::size_hint
- Include README.md as documentation in lib.rs HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bnf.