Dhparser

Latest version: v1.7.2

Safety actively analyzes 621008 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 8

30.1.2023

..................................

- bugfix ebnf.py: possible name conflics between symbol names in a grammar
and parser class names in DHParser.parse will now be evaded
- backwards incompatible change: ident-parameter removed from
DHParser.toollkit.ThreadLocalSingletonFactory
- various bugfixes

29.11.2017

...................................

- added parsers for arbitrarily ordered elements (parser.Unordered class)
- various bug fixes
- html based history logs for better readability
- code cleanups

28.1.2024

..................................

- case insensitive plain-text-parser added (parse.IgnoreCase)
- [config]-section in test-files is now repeated in the report
- Documentation for parse.ParsingError-class
- compile.py: better error message for missing visitor-methods
- HTML-Grammar added to examples/XML
- bugfixes and a few more tests
- more work on experimental nim-rewrite of the parser-core:
enough parser-classes for standard EBNF, plus error-recovery

27.10.2023

...................................

- Better support for processing-pipelines: compile.py, dsl.py
and autogenerated ...Parse.py- and tst...py-scripts now
use junctions for each processing-stage.
- compile.py, dsl.py, testing.py: Testing of processing stages beyond
the AST is now fully supported, as long as the results can be
serialized as strings.
- SmartRE-parser (EXPERIMENTAL) added for more seamless integration
of regular expressions: If regular expressions contain named groups,
these will appear as named nodes in the tree.

27.6.2017

..................................

- first PyPI release
- added type annotations for static type checking with mypy
- many changes, some incompatible with prior versions

27.4.2022

..................................

- Some refactorings and performance improvements, e.g. Parser.apply()
which makes resetting Parser and Grammer objects faster
- Grammar.match() and Grammar.fullmatch()-method added to allow
using DHParser-grammers like regular expression objects in some
cases.
- BREAKING CHANGE: Node.__len__() disabled and replaced by Node.strlen() to
avoid error-prone ambiguities: Node.strlen() vs len(node.children)
- DEPRECATION: Node.tag_name has been renamed to Node.name and
Parser.tag_name to Parser.node_name.

Page 1 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.