-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: addding EBNF #54
Conversation
Prior to this commit there were some documention bugs, spelling errors and extra words left in from previous revisions. There may of course be more, but after this commit the ones I've caught won't pester me anymore.
Add some more nice badges to the README
…r 'every' rather than just 'a' production
Maint docs
Previously the BNF types implemented the ToString trait. However the rust convention is to implement fmt::Display instead because it covers wider use cases and automatically implements the ToString trait as well. Now the types support format as well as to_string.
…of-toString Implement format display instead of ToString
Remove dead code allowances
Switch reporters to using display format
Remove print in grammar test
Prior to this commit there was no code testing coverage report generated which I consider valuable. Coveralls and a package called `cargo-travis` made it possible for me to integrate that information into each build. This commit represents that integration and badges to go along with the report.
Prior to this commit there was no test to provide assurances that changes to the codebase would not effect the expected output implemented as the Display trait. This commit adds a test to help provide that assurance.
Integrate coveralls
Fix for redzone comparison error
Doc formatting and typo fixes. Remove const name case warning
Derive Eq and Hash for some work on a dependent crate
Added len() function for Production to return number of rhs Expressions
There should be no functional changes from this migration, however some of the parsers needed to be updated to handle changes in nom.
Upgraded bnf to use nom 5.0.1
…added to to indicate it's unused as well as fix a warning
'_' to unused var
`an_array.into_iter()` currently just works because of the autoref feature, which then calls `<[T] as IntoIterator>::into_iter`. But in the future, arrays will implement `IntoIterator`, too. In order to avoid problems in the future, the call is replaced by `iter()` which is shorter and more explicit.
Use `slice::iter` instead of `into_iter` to avoid future breakage
…ure breakages on a crater run
version bump to 0.2.7
* saving state mid transations, unsure what to do about the old eof biz * saving state * wrap up transitioning from nom 3.x logic to nom 5.1, address some linting warnings along the way. most notably, removed the weird stuff I'd been doing by implementing each object's own from_str * another change the linter asked for
…e warnings (shnewto#51) * removed custom from_str impl in favor of just implementing the FromStr trait * update docs to prefer to * Set timeout to 30 min (instead of default 360 min) Builds were taking between and 2.5 hours and 3.5 hours so trying to address that.
This is great! I'm glad to see someone else looking at this area. |
Hey @prbs23, I'm interested in picking up your work again. Do you remember how you were thinking of lotting your newer EBNF architecture into the existing data structures? |
Hey @SKalt, it's been a while since I thought about this, let's see how much I remember. The biggest change is for ebnf there's four different types of expressions, terms, difference, sequence, and choice, instead of just being a list of terms. I was thinking I would convert the existing Expression struct into an enum to capture these four different types of expressions. I never got far enough into actually making these changes to know what kinds unforeseen issues there would be with this proposal. I'm sure there's something I'm overlooking since I'm not that familiar with this code base, but I think it's a reasonable starting point. |
👋 Hey @SKalt (and @prbs23 since you're here too) I need to revise some of this repo's early history and wanted to give you both a heads up so you aren't surprised by the wild complaints it'll cause the next time you try to sync up. I'd say minimally, make a back up before trying to pull anything in 🙃 And let me know if you have any issues, I'm happy to try and help out. |
@SKalt looks me kicking off the history revisions caused this to close automatically 🤔 Feel free to open it up again or make another any time. |
Work on #17. This is a place to show how my work's progressing.