-
Notifications
You must be signed in to change notification settings - Fork 6
/
ChangeLog
220 lines (183 loc) · 5.53 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
1.11-5 -> 1.11-6
================
- performance improvement in Automaton.isFinite - thanks to R. Muir
1.11-4 -> 1.11-5
================
- bug fix in Gibson's AutomatonMatcher - thanks to H-.M. Adorf and J. Gibson
1.11-3 -> 1.11-4
================
- bug fix and performance improvement in BasicOperations.concatenate - thanks to R. Muir
1.11-2 -> 1.11-3
================
- added Automaton.makeStringUnion (Daciuk et al.'s algorithm for constructing
a minimal automaton that accepts a union of strings) - contributed by D. Weiss
- added call to clearHashCode in Automaton.reduce - thanks to D. Weiss
- minimization is now optional in RegExp.toAutomaton - suggested by H. Zauner
- SpecialOperations.reverse made public - suggested by Daniel Lowe
1.11-1 -> 1.11-2
================
- fixed bug in RegExp parser - thanks to A. Meyer
1.10-5 -> 1.11-1
================
- added AutomatonMatcher - contributed by J. Gibson
- fixed bug in SpecialOperations.overlap - thanks to D. Lutterkort
1.10-4 -> 1.10-5
================
- added RegExp.setAllowMutate (for thread safety)
1.10-3 -> 1.10-4
================
- fixed bug in recomputation of Automaton hash code
1.10-2 -> 1.10-3
================
- added Automaton method: getStrings
- added setAllowMutate method that controls whether operations are allowed
to modify input automata
- fixed bug in regexp parser
- improved javadoc description of automaton representation
1.10-1 -> 1.10-2
================
- fixed bug in repeat(int,int) that was introduced in 1.9-1 - thanks to B. Lee
1.9-1 -> 1.10-1
===============
- added Datatypes class with lots of common regular languages
(was earlier placed in the dk.brics.schematools package)
- added DatatypesAutomatonProvider class so that regexps easily can use the datatypes
- added Automaton methods:
- makeMaxInteger
- makeMinInteger
- makeTotalDigits
- makeFractionDigits
- makeIntegerValue
- makeDecimalValue
- makeStringMatcher
- prefixClose
- hexCases
- replaceWhitespace
- now allowing the empty regexp (which matches the empty string) in RegExp syntax
- intersection now works on nondeterministic automata without determinizing
- rewritten getShortestExample
- fixed bug in subsetOf for nondeterministic automata
- removed Makefile (use 'ant' instead)
1.8-8 -> 1.9-1
==============
- moved Automaton methods to other classes (BasicAutomata, BasicOperations, etc.)
- Automaton.toString now prints singleton automata as strings without expanding them
- Automaton.subsetOf rewritten to make it faster
- Automaton.run now works on nondeterministic automata without determinizing
1.8-7 -> 1.8-8
==============
- fixed bug in RunAutomaton.run(String,int) - thanks to J. Moran
1.8-6 -> 1.8-7
==============
- added AutomatonProvider for RegExp.toAutomaton
1.8-5 -> 1.8-6
==============
- fixed bug in subst(Map)
1.8-4 -> 1.8-5
==============
- added Automaton method: overlap
- fixed bug in concatenate(List<Automaton>)
1.8-3 -> 1.8-4
==============
- faster singleton mode for various automata operations
- added Automaton methods:
- minus
- shuffleSubsetOf
- isEmptyString
1.8-2 -> 1.8-3
==============
- faster construction of automata from large regexps
- improved performance of Automaton.repeat(int) and Automaton.repeat(int,int)
1.8-1 -> 1.8-2
==============
- fixed bug in makeInterval (for non-fixed number of digits) - thanks to A. Bakic
1.7-1 -> 1.8-1
==============
- shifted to Java 5
- reorganized source
- added Automaton method: subst(char,String)
1.6-6 -> 1.7-1
==============
- added Hopcroft's minimization algorithm (more predictable
behavior than Brzozowski's, but typically a bit slower)
1.6-5 -> 1.6-6
==============
- fixed bug in complement of nondeterministic automata
1.6-4 -> 1.6-5
==============
- added Automaton method: subst
1.6-3 -> 1.6-4
==============
- changed to BSD license
1.6.2 -> 1.6-3
==============
- added shuffle (interleaving) operation to Automaton
1.6.1 -> 1.6-2
==============
- fixed bug in Automaton.concatenate(List)
1.5-1 -> 1.6-1
==============
- added numerical intervals to RegExp and Automaton
1.4-1 -> 1.5-1
==============
- added Brzozowski's minimization algorithm
1.3-3 -> 1.4-1
==============
- special fast mode for single string automata
- added Automaton method: restoreInvariant
1.3-2 -> 1.3-3
==============
- added Automaton methods:
- hashCode (needed by equals)
- getCommonPrefix
1.3-1 -> 1.3-2
==============
- added Automaton methods:
- getShortestExample
- setMinimizeAlways
1.2-7 -> 1.3-1
==============
- State class, Transition class, and various Automaton methods made public
to allow manual construction of automata
1.2-6 -> 1.2-7
==============
- added Automaton method: compress
1.2-5 -> 1.2-6
==============
- added build.xml makefile for Ant
1.2-4 -> 1.2-5
==============
- added Automaton methods:
- equals
- load (from stream or URL)
- store (to stream)
- Automaton implements Serializable
1.2-3 -> 1.2-4
==============
- added Automaton methods:
- projectChars
- concatenate (List)
- union (List)
1.1 -> 1.2-3
============
- added Automaton methods:
- trim
- homomorph
- singleChars
- isEmpty
- isTotal
- isFinite
- getFiniteStrings
- getNumberOfStates
- getNumberOfTransitions
- subsetOf
- added RunAutomaton methods:
- load (from stream or URL)
- store (to stream)
- run (longest accepted substring run)
- added getIdentifiers method to RegExp
- RunAutomaton implements Serializable
1.0 -> 1.1
==========
- added regular expression parser (RegExp class)
- tableized run method in RunAutomaton