ontodev/howl

Re-implement manchester parser without `instaparse`

Opened this issue · 1 comments

Profiling is pointing to instaparse as the main performance bottleneck. We should re-implement the existing insta grammars using regexes/string slicing directly (there are a lot of assumptions we can make about our input because of the way we're processing it).

This task is for the manchester parser specifically. This is a lower priority for various reasons(

  • The manchester parser is incomplete
  • manchester expressions are isolated from the main grammar
  • manchester expressions are expected to be relatively small

), but should still probably be done at some point.

The Manchester syntax is complex, recursive, and variable enough that it probably makes sense to keep using a parser library for it. Manchester expressions form a small part of most ontologies, so the perfomance hit should be small.