Dhparser

Latest version: v1.7.2

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

Scan your dependencies

Page 3 of 8

22.7.2022

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

- some experimental suuport in DHParser.nodetree for adding
markup and milestones into a nodetree
- documentation extended

21.11.2022

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

- Bugfix: generated project-test-script "tst_..._grammar.py" crashed
when trying to read and output error messages from EBNF-compilation

20.10.2019

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

- rudimentary language server support (still experimental!)
- translation pipeline only stops on fatal errors. This makes previews
even for partially erroneous code possible
- better cython support
- scripts (dhparser.py, dhparser_rename.py) moved to
DHParser/scripts-directory
- syntaxtree.py streamlined
(breaking change: Node.select_by_tag() remove, use Node.select() instead
- added DHParser/templates subdirectory and moved larger code templates
from dhparser.py script to the templates-subdirectory

20.8.2018

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

- new transformation function collapse_children_if()
- restored compatibility with Python 3.4
- StepByStep Guide typos fixed
- bug fixes

19.7.2023

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

- parse.py: The (insignificant) "Whitespace"-parser is now optional
per default. This simplifies writing regular expressions for
insignificant whitespace, but can lead to BREAKING badly formulated
grammars, because optional-testing during static analysis is now
more comprehensive.
- ebnf.py: bugfix for linefeed whitespace-parser and added line-start
whitespace-parser.
- parse.py: removed methods for combining parsers, i.e. turn cascades
of nested Series, Interleave or Alternative parsers into one
flat parser with a longer list of arguments, because these are
practically never needed and have undesired side effects.
- parse.py: Speed-Optimization by implementing simplified __call__-methods
for leaf-parsers and for parsers that do not memoize.
- parse.py: class LateBindingUnary added (experimental!)
- testing.py: allow to set config-values in test-files.
- EXPERIMENTAL: started a nim-rewrite of the parser core to increase
parser speed to the level of a compiled language, i.e. nim (nim-lang.org)

19.4.2023

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

- NEW: Macros for EBNF grammars added!
- better support for (post-)processing pipelines (dsl.py and compile.py)
- added an (autogenerated) ...App.py script that allows to select files
for compilation with a simple GUI. (This helps deploying projects
for users that are not used to the command line.)
Like the ...Parser.py and ...Server.py-scripts, this script is
generated when running the grammar-tests-script for the first time in
a new project.
- refactoring of the template for autogenerated ...Parser.py-scripts
to make them shorter and more readable.
- autogenerated tst_..._grammar.py-script will generate ...Server.py
and ...App.py script only once and not regenerate them automatically
if they have been deleted. Pass "--scripts" on the command line to
re-create these scripts if needed.
- nodetree.py: support for SXML-serialization
(see https://okmij.org/ftp/Scheme/SXML.html)

Page 3 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.