Dhparser

Latest version: v1.8.2

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

Scan your dependencies

Page 6 of 8

6.2.2024

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

- bugfixes for xast and nast-serializations
- removed warnings about unused symbols in the AST-table to avoid,
because it is too confusing for newcomers.
- updates to nodetree.ContentMapping: methods path(), pos() and path_str()
added; markup() now avoids the generation of single anynomous leaves.
- xml and S-expression-serialization now allows word wrapping
- script XMLreflow.py added to reflow XML-files (experimental)
- experimental nodetree.SerializationMapping added (not yet documented,
see tests in test_nodetree for now...)

6.1.2019

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

- customized resuming after parser errors! (still experimental, see
tests/test_ebnf.TestCustomizedResumeParsing as well as
tests/test_parse.TestReentryAfterError)
- error messages for parser errors can now be configured to be more
user friendly (see test/test_ebnf.TestCuratedErrors)
- lookahead parsers can now be unit-tested (experimental)
- customized (faster) deepcopy of syntax trees
- better customization of XML-serialization of syntax-trees
- support for thread-safe globals and configuration data
via toolkit-module
- development status of package raised to "4 - Beta". It's really quite
stable now, but backwards incompatible changes may still happen!

5.4.2019

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

- experimental server module
- json-serialization of Nodes

4.3.2019

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

- setup: entry-script repaired

3.10.2022

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

- BACKWARD INCOMPATIBLE CHANGE: refactoring of names:
Trail -> Path, trail -> path, because path is much more
salient and cannot as easily be confused with root
- BACKWARD INCOMPATIBLE CHANGE: nodetree.py: content mapping
and markup refactored by introducing class ContentMapping.
This makes using content mappings and adding markup easier
and yield more readable code.
- compiler.py moved visitor_name() and attr_visitor_name() to
class Compiler. This makes it possible to overload these methods,
which can become useful, when a single method should handle
several different nodes or attributes - similar to the way tree
traversal is handeled in transform.py
- added wildcard()-method to class compiler.Compiler. This allows
to track missing on_XXX()-methods as well as implementing a
dispatch mechanism that calls one and the same method for several
node-names (like in module DHParser.travers)

3.3.2019

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

- default configuration now centralized in DHParser/configuration.py
- dropped python 3.4 support
- infinite loops in ZeroOrMore, OneOrMore and the like will now simply
be broken rather than reported as an error
- better parser-optimization, i.e. flattening and dropping of irrelevant
nodes while parsing already.
- no caching of node.content anymore, because this was conceptually
unsound. Trees are refactored and nodes dropped all the time which
would require invalidating the cache, which would be hard to implement.
- mini-framework for static grammar analysis added (see parse.Grammar).
As of now: no use case

Page 6 of 8

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.