forked from antlr/antlr4
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGES.txt
94 lines (67 loc) · 2.53 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
ANTLR v4 Honey Badger early access
Feb 17, 2012
* added -parse-listener option and differentiated between parse and parse
tree listener interfaces now. Only parse tree listener stuff generated
by default.
* names changed. visit() -> visitX(). enter/exit() -> enter/exitX()
* capitalizing automatically now. rule s -> SContext not sContext
* no enter/exit method in generic rule context object if rule has alt labels, nor in interfaces.
* dup labels allowed in same rule
* label X or x illegal if rule x exists
Feb 14, 2012
* Fixed https://github.com/antlr/antlr4/issues/8 and lots of other little things.
Jan 30, 2012
* Moving to github.
Jan 28, 2012
* ~[] stuff is allowed and works inside sets etc...
Jan 22, 2012
* Added ranges, escapes to [a-z] notation in lexer:
a-z is the inclusive range
escape characters with special meaning: trnbf\'" such as \t
\uXXXX Unicode character with text digits
\- is the - character
\] is the ] character
Missing final range value gives just first char.
Inverted ranges give nothing
Bad escape sequence gives nothing
Jan 21, 2012
* Added modeNames to gen'd lexers
* added lexer commands
skip
more
popMode
mode(x)
pushMode(x)
type(x)
channel(x)
WS : (' '|'\n')+ -> skip ;
use commas to separate commands: "-> skip, mode(FOO)"
* Lexer fields mv from x to _x like type changed to _type.
Jan 14, 2012
* labels on tokens in left-recursive rules caused codegen exception.
* leave start/stop char index alone in CommonTokenFactory; refers to original text.
* reuse of -> label on multiple alts in rule caused dup ctx object defs.
Jan 11, 2012
* -> id labels work now for outermost alternatives, even for left-recursive
rules; e.g.,
| a=e '*' b=e {$v = $a.v * $b.v;} -> mult
* Fixed a bug where visitTerminal got a NPE
* in tree views, spaces/newlines were blanks. I converted to \n and middle dot
for space.
Jan 5, 2012
* Deleted code to call specific listeners by mistake. added back.
* Labels allowed in left-recursive rules:
e returns [int v]
: a=e '*' b=e {$v = $a.v * $b.v;}
| a=e '+' b=e {$v = $a.v + $b.v;}
| INT {$v = $INT.int;}
| '(' x=e ')' {$v = $x.v;}
;
Jan 4, 2012
* '_' was allowed first in symbol names in grammar
* fix unit tests
* Allow labels in left-recursive rules
* lr rules now gen only 1 rule e->e not e->e_ etc... altered tests to build parse trees.
* no more -trace, use Parser.setTrace(true)
* add context rule option; not hooked up
* 1+2*3 now gives new parse tree: (e (e 1) + (e (e 2) * (e 3)))