Skip to content

Introduce a new parser.

Dominic Kempf requested to merge feature/new-parser into master

As more and more ideas arise, the handwritten parser we were using got a bit inflexible. I have now changed to the popular pyparsing module, where you write actual EBNF parsers. The current status is fully compatible with the old one.

I have also started on limiting support for escaping characters, as it turned out to be the bottleneck of the entire code. The benefit from being able to escape a dot in a key is small, if not to say it is such bad style that we should not allow it anyway.

The parser is split into multiple separate parts. One does read ini files strictly. One does read extensions to ini files strictly. Unfortunately those 'strictly's are a lie, because the import/include statement blows it.

This fixes issue #3 (closed).

Merge request reports