-
Notifications
You must be signed in to change notification settings - Fork 2
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
Remove antlr-rust #3
Comments
Great project! Would you accept a PR replacing |
Hi, I just noticed this now, after answering the #36, Welcome again, and really nice to see interest in tackler, thanks! This is a huge offer for help, and I highly appreciate that. It would be awesome if you could provide PR for winnow parser, as I have some initial Proof-of-Concepts but nothing serious yet. You could take look of some of the parsing related code and see if it makes sense to you:
The current ANTLR based parser is fairly well containerized behind few function calls, and there is really good test coverage for it. But as said, this would be really big effort, and if you are not already familiar with winnow and parsing in general, this won't be easy thing to do. If that's the case, it might be better if I keep working with the parser refactoring. On the other hand, if you know winnow already, help would great and truly highly appreciated! |
Thinking this overnight, it would be better if I replace the ANTLR as this is fairly involved part of the code base (with all tests etc). In any case, thank you for offering to port this! |
Thanks for the pointers! I would start looking into it. |
Please do not, as I'm working on this. |
Alright. |
GH-3; [skip ci] Signed-off-by: 35V LG84 <[email protected]>
This is still missing some logic and special case wiring, but here is a sneak-peak of winnow port: ANTLRcargo bench
cargo run --release -p tackler-core
winnowcargo bench
cargo run --release -p tackler-core
It's now gix and io-bound, as the new parser is 30-35 times faster! |
That is impressive! |
Remove (or update and maintain) Antlr-Rust
The antlr-rust was great help for PoC of Tackler-NG, but it's unmaintained. Also it's not an official Antlr target. Hence remove it and replace the parser with something else.
The Gitoxide uses winnow.
The text was updated successfully, but these errors were encountered: