CHANGES.txt 5.22 KB
Newer Older
eckhart's avatar
eckhart committed
1
2
3
4
5
DHParser Version 0.8.8 (xx.xx.2019)
...................................



eckhart's avatar
eckhart committed
6
7
8
9
10
DHParser Version 0.8.7 (3.3.2019)
.................................

- better packaging

11

12
13
DHParser Version 0.8.6 (3.3.2019)
.................................
14

15
- default configuration now centralized in DHParser/configuration.py
eckhart's avatar
eckhart committed
16
17
18
19
20
21
22
23
24
25
- 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
26

27

eckhart's avatar
eckhart committed
28
29
DHParser Version 0.8.5 (10.2.2019)
..................................
30

31
- optimization: flattens anonymous nodes already while parsing
eckhart's avatar
eckhart committed
32
33
34
- optimization: drops empty anonymous nodes already during parsing
- optimization: optionally allows to drop anonymous whitespace and tokens
  while parsing
35
36
- major refactorings of node and parser class hierarchy: much simpler now,
  no zombie classes needed any more
eckhart's avatar
eckhart committed
37
38
39
- parser_guard() is now integrated into the Parser class: Parsing
  functionality moved to _parse() method, while Parser.__call__() is now the
  new parser guard
40
41
42
43
- 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
44
45
46


DHParser Version 0.8.4 (6.1.2019)
47
.................................
di68kap's avatar
di68kap committed
48

eckhart's avatar
eckhart committed
49
50
51
52
53
- 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)
54
- lookahead parsers can now be unit-tested (experimental)
eckhart's avatar
eckhart committed
55
- customized (faster) deepcopy of syntax trees
56
- better customization of XML-serialization of syntax-trees
57
58
- support for thread-safe globals and configuration data
  via toolkit-module
eckhart's avatar
eckhart committed
59
60
- 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
61
62


eckhart's avatar
eckhart committed
63
64
65
66
67
68
69
70
71
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
72
73
74
75
76
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
77
78
  Class Token has been merged with PlainText. Possible break of
  backwards compatibility with certain AST-transformation-tables in
eckhart's avatar
eckhart committed
79
80
81
  connection with Token and RE-nodes!


eckhart's avatar
eckhart committed
82
83
84
85
86
87
DHParser Version 0.8.1 (2.7.2018)
.................................

- compatibility fixes for Python 3.7


eckhart's avatar
eckhart committed
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
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.


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

- 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


130
131
DHParser Version 0.7.4 (2.7.2017)
.................................
132
133
134
135
136
137

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


Eckhart Arnold's avatar
Eckhart Arnold committed
138
DHParser Version 0.7.3 (27.6.2017)
Eckhart Arnold's avatar
Eckhart Arnold committed
139
140
141
142
143
144
145
146
147
148
149
150
151
..................................

- 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
152
153
154
155
156
DHParser Version 0.6.0 (23.4.2017)
..................................

first public release