CHANGES.txt 5.76 KB
Newer Older
di68kap's avatar
di68kap committed
1 2 3 4 5 6 7 8 9 10 11
DHParser Version 0.9.0
......................

- language server support
- 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
12 13


14
DHParser Version 0.8.9 (5.4.2019)
eckhart's avatar
eckhart committed
15 16
.................................

17 18
- experimental server module
- json-serialization of Nodes
eckhart's avatar
eckhart committed
19

20

eckhart's avatar
eckhart committed
21 22
DHParser Version 0.8.8 (4.3.2019)
.................................
eckhart's avatar
eckhart committed
23

eckhart's avatar
eckhart committed
24
- setup: entry-script repaired
eckhart's avatar
eckhart committed
25 26


eckhart's avatar
eckhart committed
27 28 29 30 31
DHParser Version 0.8.7 (3.3.2019)
.................................

- better packaging

32

33 34
DHParser Version 0.8.6 (3.3.2019)
.................................
35

36
- default configuration now centralized in DHParser/configuration.py
eckhart's avatar
eckhart committed
37 38 39 40 41 42 43 44 45 46
- 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
47

48

eckhart's avatar
eckhart committed
49 50
DHParser Version 0.8.5 (10.2.2019)
..................................
51

52
- optimization: flattens anonymous nodes already while parsing
eckhart's avatar
eckhart committed
53 54 55
- optimization: drops empty anonymous nodes already during parsing
- optimization: optionally allows to drop anonymous whitespace and tokens
  while parsing
56 57
- major refactorings of node and parser class hierarchy: much simpler now,
  no zombie classes needed any more
eckhart's avatar
eckhart committed
58 59 60
- parser_guard() is now integrated into the Parser class: Parsing
  functionality moved to _parse() method, while Parser.__call__() is now the
  new parser guard
61 62 63 64
- 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
eckhart's avatar
eckhart committed
65 66 67


DHParser Version 0.8.4 (6.1.2019)
68
.................................
di68kap's avatar
di68kap committed
69

eckhart's avatar
eckhart committed
70 71 72 73 74
- 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)
75
- lookahead parsers can now be unit-tested (experimental)
eckhart's avatar
eckhart committed
76
- customized (faster) deepcopy of syntax trees
77
- better customization of XML-serialization of syntax-trees
78 79
- support for thread-safe globals and configuration data
  via toolkit-module
eckhart's avatar
eckhart committed
80 81
- development status of package raised to "4 - Beta". It's really quite
  stable now, but backwards incompatible changes may still happen!
di68kap's avatar
di68kap committed
82 83


eckhart's avatar
eckhart committed
84 85 86 87 88 89 90 91 92
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


eckhart's avatar
eckhart committed
93 94 95 96 97
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.
eckhart's avatar
eckhart committed
98 99
  Class Token has been merged with PlainText. Possible break of
  backwards compatibility with certain AST-transformation-tables in
eckhart's avatar
eckhart committed
100 101 102
  connection with Token and RE-nodes!


eckhart's avatar
eckhart committed
103 104 105 106 107 108
DHParser Version 0.8.1 (2.7.2018)
.................................

- compatibility fixes for Python 3.7


eckhart's avatar
eckhart committed
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
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.


130 131 132 133 134 135 136 137 138 139 140
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)
.................................
Eckhart Arnold's avatar
Eckhart Arnold committed
141 142 143 144 145 146 147 148 149 150

- 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


151 152
DHParser Version 0.7.4 (2.7.2017)
.................................
153 154 155 156 157 158

- package now includes 'dhparser' script
- more transformation primitives for AST-transformation
- various bug fixes


159
DHParser Version 0.7.3 (27.6.2017)
160 161 162 163 164 165 166 167 168 169 170 171 172
..................................

- 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


Eckhart Arnold's avatar
Eckhart Arnold committed
173 174 175 176 177
DHParser Version 0.6.0 (23.4.2017)
..................................

first public release