forked from antlr/antlr4
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGES.txt
219 lines (149 loc) · 6.49 KB
/
CHANGES.txt
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
ANTLR v4 Honey Badger
January 21, 2013 -- Release 4.0
* Updated PredictionContext Javadocs
* Updated Maven site documentation
* Minor tweaks in Java.stg
January 15, 2013
* Tweak error messages
* (Tool) Make TokenVocabParser fields `protected final`
* Fix generated escape sequences for literals containing backslashes
January 14, 2013
* Relax parser in favor of errors during semantic analysis
* Add error 145: lexer mode must contain at least one non-fragment rule
* Add error 146: non-fragment lexer rule can match the empty string
January 11, 2013
* Updated error 72, 76; added 73-74 and 136-143: detailed errors about name
conflicts
* Report exact location for parameter/retval/local name conflicts
* Add error 144: multi-character literals are not allowed in lexer sets
* Error 134 now only applies to rule references in lexer sets
* Updated error messages (cleanup)
* Reduce size of _serializedATN by adding 2 to each element: new representation
avoids embedded values 0 and 0xFFFF which are common and have multi-byte
representations in Java's modified UTF-8
January 10, 2013
* Add error 135: cannot assign a value to list label: $label
(fixes antlr/antlr4#128)
January 2, 2013
* Fix EOF handling (antlr/antlr4#110)
* Remove TREE_PARSER reference
* Additional validation checks in ATN deserialization
* Fix potential NPE in parser predicate evaluation
* Fix termination condition detection in full-context parsing
January 1, 2013
* Updated documentation
* Minor code cleanup
* Added the `-XdbgSTWait` command line option for the Tool
* Removed method override since bug was fixed in V3 runtime
December 31, 2012
* I altered Target.getTargetStringLiteralFromANTLRStringLiteral() so that
it converts \uXXXX in an ANTLR string to \\uXXXX, thus, avoiding Java's
conversion to a single character before compilation.
December 16, 2012
* Encapsulate some fields in ANTLRMessage
* Remove ErrorType.INVALID
* Update error/warning messages, show all v3 compatibility messages
December 12, 2012
* Use arrays instead of HashSet to save memory in SemanticContext.AND/OR
* Use arrays instead of HashSet to save memory in cached DFA
* Reduce single-operand SemanticContext.and/or operations
December 11, 2012
* Add -long-messages option; only show exceptions with errors when set
* "warning treated as error" is a one-off error
* Listen for issues reported by StringTemplate, report them as warnings
* Fix template issues
* GrammarASTWithOptions.getOptions never returns null
* Use EnumSet instead of HashSet
* Use new STGroup.GROUP_FILE_EXTENSION value
December 2, 2012
* Remove -Xverbose-dfa option
* Create the ParseTreeVisitor interface for all visitors, rename previous base
visitor class to AbstractParseTreeVisitor
December 1, 2012
* escape [\n\r\t] in lexical error messages; e.g,:
line 2:3 token recognition error at: '\t'
line 2:4 token recognition error at: '\n'
* added error for bad sets in lexer; e.g.:
lexer set element A is invalid (either rule ref or literal with > 1 char)
some tests in TestSets appeared to allow ~('a'|B) but it was randomly working.
('a'|B) works, though doesn't collapse to a set.
* label+='foo' wasn't generating good code. It was generating token type as
variable name. Now, I gen "s<ttype>" for implicit labels on string literals.
* tokens now have token and char source to draw from.
* remove -Xsave-lexer option; log file as implicit lexer AST.
November 30, 2012
* Maven updates (cleanup, unification, and specify Java 6 bootstrap classpath)
November 28, 2012
* Maven updates (uber-jar, manifest details)
November 27, 2012
* Maven updates (prepare for deploying to Sonatype OSS)
* Use efficient bitset tests instead of long chains of operator ==
November 26, 2012
* Maven updates (include sources and javadocs, fix warnings)
* Don't generate action methods for lexer rules not containing an action
* Generated action and sempred methods are private
* Remove unused / problematic methods:
** (unused) TerminalNodeImpl.isErrorNode
** (unused) RuleContext.conflictsWith, RuleContext.suffix.
** (problematic) RuleContext.hashCode, RuleContext.equals.
November 23, 2012
* Updated Maven build (added master POM, cleaned up module POMs)
November 22, 2012
* make sure left-recur rule translation uses token stream from correct imported file.
* actions like @after in imported rules caused inf loop.
* This misidentified scope lexer/parser: @lexer::members { } @parser::members { }
November 18, 2012
* fixed: undefined rule refs caused exception
* cleanup, rm dead etypes, add check for ids that cause code gen issues
* added notion of one-off error
* added check for v3 backward incompatibilities:
** tree grammars
** labels in lexer rules
** tokens {A;B;} syntax
** tokens {A='C';} syntax
** {...}?=> gate semantic predicates
** (...)=> syntactic predicates
* Detect EOF in lexer rule
November 17, 2012
* .tokens files goes in output dir like parser file.
* added check: action in lexer rules must be last element of outermost alt
* properly check for grammar/filename difference
* if labels, don't allow set collapse for
a : A # X | B ;
* wasn't checking soon enough for rule redef; now it sets a dead flag in
AST so no more walking dup.
error(51): T.g:7:0: rule s redefinition (ignoring); previous at line 3
November 11, 2012
* Change version to 4.0b4 (btw, forgot to push 4.0b3 in build.properties when
I made git tag 4.0b3...ooops).
November 4, 2012
* Kill box in tree dialog box makes dialog dispose of itself
October 29, 2012
* Sam fixes nongreedy more.
* -Werror added.
* Sam made speed improvement re preds in lexer.
October 20, 2012
* Merged Sam's fix for nongreedy lexer/parser. lots of unit tests. A fix in
prediction ctx merge. https://github.com/parrt/antlr4/pull/99
October 14, 2012
* Rebuild how ANTLR detects SLL conflict and failover to full LL. LL is
a bit slower but correct now. Added ability to ask for exact ambiguity
detection.
October 8, 2012
* Fixed a bug where labeling the alternatives of the start rule caused
a null pointer exception.
October 1, 2012 -- 4.0b2 release
September 30, 2012
* Fixed the unbuffered streams, which actually buffered everything
up by mistake. tweaked a few comments.
* Added a getter to IntStream for the token factory
* Added -depend cmd-line option.
September 29, 2012
* no nongreedy or wildcard in parser.
September 28, 2012
* empty "tokens {}" is ok now.
September 22, 2012
* Rule exception handlers weren't passed to the generated code
* $ruleattribute.foo weren't handled properly
* Added -package option
September 18, 2012 -- 4.0b1 release