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

PoC getting Antlr4 to work as WktCrs parser. #122

Draft
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

driekus77
Copy link
Contributor

FittedCS still Todo.

As discussed in #121 this is the PoC trying to get ANTLR4 Parser generator lib working for Wkt.

For (unit)tests result show that ANTLR4 is slower than the current hand written parser:
image

But I didn't do any optimization yet.

This ANTLR4 integration uses:
Antlr4.Runtime.Standard" Version="4.13.1" => For Runtime
Antlr4BuildTasks" Version="12.8" => For Build. Needed to Update System.Memory as wel from 4.5.3 to 4.5.5.

The generated sources are "hidden" in the bin directory under namespace ProjNet.IO.Wkt.

Feedback is welcome also some help needed with an Runtime ANTLR4 error:
For EXTENSION the grammer needs a fix. But I don't see it at this time.
Error(s) are:

line 1:474 extraneous input 'EXTENSION' expecting {'AUTHORITY', 'AXIS'}
line 1:474 extraneous input 'EXTENSION' expecting {'AUTHORITY', 'AXIS'}
line 1:532 extraneous input 'EXTENSION' expecting {'AUTHORITY', 'AXIS'}
line 1:532 extraneous input 'EXTENSION' expecting {'AUTHORITY', 'AXIS'}

@driekus77
Copy link
Contributor Author

driekus77 commented Aug 3, 2024

Result after some optimization is:
image

Extra functionality and easier parser config / setup seems to cost in parse performance.

NOTE: I'm not at all experienced with ANTLR4 so maybe someone with more experience can optimize more...?

Again feedback is welcome.

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.

1 participant