ProjNet4GeoAPI icon indicating copy to clipboard operation
ProjNet4GeoAPI copied to clipboard

PoC getting Antlr4 to work as WktCrs parser.

Open driekus77 opened this issue 1 year ago • 1 comments

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 avatar Jul 30 '24 18:07 driekus77

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.

driekus77 avatar Aug 03 '24 19:08 driekus77