Hi All,
I have pushed a new version for indentation sensitivity into the
PetitParser. If I am not mistaken, with the new changes, you can parse
languages such as Python, F#, Haskell, YAML or Markdown. There are proof of
concept implementations in the PetitParser repository. YAML and Markdwon
are almost complete, for Python only the indentation-sensitive rules.
There is a small introduction to the indentation parsing with PetitParser (
http://scg.unibe.ch/research/indentParsing), let me know, if you are
missing something or if you want to know something more. There are also
many examples of the indentation sensitive grammars in the repository.
If you wonder about performance, the indentation sensitive grammar is
approximately five times slower, because the position and an extra
indentation stack is remembered instead of the simple position. If you
don't use indentation, there is no slowdown. I am working on improvements,
any ideas are welcome :)
If you don't like new changes, you can still stable version
(ConfigurationOfPetitParser loadStable) or version 1.11.
Regards,
Jan