Skip to content
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

Introduce the nom-language crate #1792

Merged
merged 8 commits into from
Dec 8, 2024
Merged

Introduce the nom-language crate #1792

merged 8 commits into from
Dec 8, 2024

Conversation

Geal
Copy link
Collaborator

@Geal Geal commented Dec 8, 2024

This separates language focused parts of nom in the nom-language crate, to give them different lifecycle and better allow them to evolve

Copy link

codecov bot commented Dec 8, 2024

Codecov Report

Attention: Patch coverage is 39.65517% with 140 lines in your changes missing coverage. Please review.

Project coverage is 61.43%. Comparing base (c5c8f49) to head (6a25312).
Report is 9 commits behind head on main.

Files with missing lines Patch % Lines
nom-language/src/precedence/mod.rs 49.65% 74 Missing ⚠️
nom-language/src/error.rs 22.89% 64 Missing ⚠️
src/error.rs 0.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1792      +/-   ##
==========================================
- Coverage   62.01%   61.43%   -0.59%     
==========================================
  Files          23       25       +2     
  Lines        2980     3127     +147     
==========================================
+ Hits         1848     1921      +73     
- Misses       1132     1206      +74     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

codspeed-hq bot commented Dec 8, 2024

CodSpeed Performance Report

Merging #1792 will not alter performance

Comparing nom-language (6a25312) with main (c5c8f49)

Summary

✅ 24 untouched benchmarks

@Geal Geal mentioned this pull request Dec 8, 2024
5 tasks
cenodis and others added 2 commits December 8, 2024 17:09
* Initial prototype

* Update docs
Remove unused code

* More doc updates

* Add feature flags for Vec

* Add basic tests

* Fix formatting

* Add precedence to choosing_a_combinator.md

* Fix typo

* Minor refractoring

* Update docs

* Change parameter order

* Add alloc feature to the entire precedence module

The parser really cant work without it and the helpers dont make much sense without the parser.

* Use fail parser to express "no operators of this type"

* Document evaluation order

* Better documentation for parameters

* Fix precedence in documentation

* Fix doc formatting

* Fix typos

* Use map_res when parsing integers

* Example test for expressions with function calls and AST generation

* Typo

* Make evaluation a bit easier to read

* Update expression_ast

* Update expression_ast doc

* Implement ternary operator in expression_ast

* Shorten ast nodes

* Implement some tests for parser failures

* Update feature flags for docs

* Properly append errors

* Properly bubble up non Error errors

* Split operators into 3 distinct types to help with exhaustiveness checks.

---------

Co-authored-by: Geoffroy Couprie <[email protected]>
@Geal Geal marked this pull request as ready for review December 8, 2024 16:41
@Geal Geal merged commit 555eab9 into main Dec 8, 2024
29 of 33 checks passed
@Geal Geal deleted the nom-language branch December 8, 2024 16:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants