Comments (9)
Yeah I've been thinking about this one too. Thanks for raising it.
from bnf.
One note, I'd like it if we didn't require a newline either so breaking up long productions or expressions across lines wouldn't prohibit parsing.
from bnf.
Not requiring the newline seems trickier to me, but sounds like you have an idea. How would that work?
from bnf.
@CrockAgile I've got a lot of faith in what we can get out of nom
, I could be misguided but here's my general thought. Productions can end on a ;
on eof
or if with peek or some similar custom mechanism we are able to see that a <...> ::=
is next in line. What do you think?
from bnf.
@Snewt that seems reasonable to me. I still need to brush up on nom to know how it handles forward peeking, but you are probably right it is doable. I would guess it would improve usability with negligible impact on performance or code readability
from bnf.
@Snewt Would it be too slick/hacky to sidestep this issue by honoring BNF comments? If BNF comments are from ;
to the end of line, then essentially they become optional. And would support comments in the input string.
from bnf.
@CrockAgile I'm not sure that would really sidestep the issue as it stands. It could be that we add support for ;
comments but as it is they are expected to only show up in specific instances.
from bnf.
@Snewt Sounds good! I think I got confused anyway by glancing at the algol example in the history section on the wiki.
from bnf.
closed by 21338d3
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.