DHParser Version 0.8.8 (xx.xx.2019) ................................... DHParser Version 0.8.7 (3.3.2019) ................................. - better packaging DHParser Version 0.8.6 (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 any more, 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 DHParser Version 0.8.5 (10.2.2019) .................................. - optimization: flattens anonymous nodes already while parsing - optimization: drops empty anonymous nodes already during parsing - optimization: optionally allows to drop anonymous whitespace and tokens while parsing - major refactorings of node and parser class hierarchy: much simpler now, no zombie classes needed any more - parser_guard() is now integrated into the Parser class: Parsing functionality moved to _parse() method, while Parser.__call__() is now the new parser guard - better support for customized error messages + bug fixes - better cython support (makes it about 2.5 times as fast if cython is used) - testing.grammar_suite now uses multiprocessing to run tests - parse.Parser.apply() reworked DHParser Version 0.8.4 (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! DHParser Version 0.8.3 (20.8.2018) .................................. - new transformation function collapse_if() - restored compatibility with Python 3.4 - StepByStep Guide typos fixed - bug fixes DHParser Version 0.8.2 (10.7.2018) .................................. - refactoring of module parser.py for more simplicity. RE is now a simple (macro-style) function instead of a class of its own. Class Token has been merged with PlainText. Possible break of backwards compatibility with certain AST-transformation-tables in connection with Token and RE-nodes! DHParser Version 0.8.1 (2.7.2018) ................................. - compatibility fixes for Python 3.7 DHParser Version 0.8.0 (24.6.2018) .................................. - refactoring of error reporting: it is now done centrally through the (newly introduced) syntaxtree.RootNode object; makes it faster and easier - "step by step" guide added to the documentation - XML is now a first class citizen for serialization next to S-expressions: xml serialization can now also be read with syntaxtree.parse_xml() plus better serialization with syntaxtree.Node.as_xml() - added example: XML-Parser - added optional CST-reporting on a case by case basis to the testing framework, using the "*"-marker to indicate which test should add CSTs to the report - moved compilation support to a separate module: compile.py - source mapping added if preprocessor changes source code (see module preprocess.py) - new semantics for syntaxtree.Node.__str__: now includes error messages; use Node.content to retrieve the content without any error messages - LaTeX-example: better AST-transformations. DHParser Version 0.7.8 (29.11.2017) ................................... - added parsers for arbitrarily ordered elements (parser.Unordered class) - various bug fixes - html based history logs for better readability - code cleanups DHParser Version 0.7.7 (2.9.2017) ................................. - dhparser script now creates and initializes project dir - parsing is now based on a StringView class which other than plain Python strings does not copy strings when slicing. (Speeds up parsing for longer documents.) - AST-transformations now receive the complete context, i.e. the list of all parent nodes instead of just the node to transform DHParser Version 0.7.4 (2.7.2017) ................................. - package now includes 'dhparser' script - more transformation primitives for AST-transformation - various bug fixes DHParser Version 0.7.3 (27.6.2017) .................................. - bug fixes for setuptools packaging DHParser Version 0.7.1 (27.6.2017) .................................. - first PyPI release - added type annotations for static type checking with mypy - many changes, some incompatible with prior versions DHParser Version 0.6.0 (23.4.2017) .................................. first public release