-
Notifications
You must be signed in to change notification settings - Fork 17
/
ChangeLog
147 lines (90 loc) · 4.88 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
2023-11-19 Ian Piumarta <com -dot- gmail -at- piumarta (backwards)>
* src/version.h (PEG_LEVEL): Version is 0.1.20.
* src/tree.c (makeInline): Inline nodes remember their parent rule.
Replace "$$" in inline actions with "__".
* src/tree.h (struct Inline): Inline nodes remember their parent rule.
* src/leg.leg (main): Filenames on WIN32 have \ changed to /, keeping
#line directives happy.
(main): Don't print #line directives for headers if nolineFlag is set.
* src/compile.c (allocateVariables): Separated from defineVariables.
(Node_compile_c_ko): Allocates and sets local variables during parse.
(Rule_compile_c2): Generate yyEnter and yyLeave if rule has variables.
(preamble): Macros yyEnter and yyLeave manage local variable space on
stack during parsing.
* Makefile (testleg): Quickly tests local changes.
2023-03-06 Ian Piumarta <com -dot- gmail -at- piumarta (backwards)>
* src/version.h (PEG_LEVEL): Version 0.1.19.
* src/compile.c: Allow re-entrant parsing.
Macro YYPARSEFROM_R names the function yyparsefrom_r().
yyDone takes second argument, the yythunkpos at which actions start.
yyparsefrom_r saves and restores thunkpos and val state during recursive parse.
yyparsefrom resets thunkpos, val before recursive parse.
2016-07-22 Ian Piumarta <com -dot- gmail -at- piumarta (backwards)>
* src/version.h (PEG_LEVEL): Version 0.1.18.
* src/tree.h: Rule_compile_c takes nolines argument for option -P.
* src/compile.c, src/peg.c, src/leg.leg (main): Add option -P.
Generate #line directives for all actions.
* src/peg.1: Document option -P.
2016-07-14 Ian Piumarta <com -dot- gmail -at- piumarta (backwards)>
* src/version.h: 0.1.17
* src/leg.leg: Remember line numbers for headers and trailer.
Emit #line directives in the generated file.
2016-06-25 piumarta <com -dot- gmail -at- piumarta (backwards)>
* src/version.h: 0.1.16
* src/tree.[ch], src/compile.c, src/leg.leg: Add @-actions.
* src/peg.1: Explain @-actions.
* src/peg/peg-c, src/leg.c: Regenerate C source.
2013-12-18 piumarta <com -dot- gmail -at- piumarta (backwards)>
* src/version.h: 0.1.15
* src/compile.c: YY_FREE takes context and pointer as arguments.
* YYRELEASE: Pass yyctx and pointer to YY_FREE.
2013-12-01 Ian Piumarta <com -dot- gmail -at- piumarta (backwards)>
* src/version.h: 0.1.14
* src/peg.1: Fix several typos and escape backslashes (thanks to
Giulio Paci).
* LICENSE.txt: Replace "the the" with "the".
2013-08-16 Ian Piumarta <com -dot- gmail -at- piumarta (backwards)>
* src/compile.c: Predicate actions can refer to yytext (thanks to
Gregory Pakosz).
* src/leg.leg: Hexadecimal character escapes are supported by leg
(thanks to Hugo Etchegoyen).
2013-07-20 Ian Piumarta <com -dot- gmail -at- piumarta (backwards)>
* src/getopt.c: Use BSD-licensed getopt() in Windows
build.
* src/compile.c: Verbose mode handles Variable nodes.
2013-06-03 Ian Piumarta <com -dot- gmail -at- piumarta (backwards)>
* src/leg.leg, src/compile.c: Add error actions via "~" operator.
* src/compile.c: Support declaration of local variables at the top
level of semantic actions. Dynamically grow data structures to
remove artificial limits on rule recursion (thanks to Alex
Klinkhamer). Many small changes to better support C++.
* src/peg.1: Update manual page to describe new features.
Add build files for Win32 and MacOS thanks to Fyodor Sheremetyev).
2012-04-29 Ian Piumarta <com -dot- gmail -at- piumarta (backwards)>
* compile.c: Move global state into a structure to facilitate
reentrant and thread-safe parsers (thanks to Dmitry Lipovoi).
2012-03-29 Ian Piumarta <com -dot- gmail -at- piumarta (backwards)>
* leg.leg: Allow nested, matched braces within actions.
2011-11-25 Ian Piumarta <com -dot- gmail -at- piumarta (backwards)>
* compile.c: Fix matching of 8-bit chars to allow utf-8 sequences
in matching expressions (thanks to Gregory Pakosz).
2011-11-24 Ian Piumarta <com -dot- gmail -at- piumarta (backwards)>
* compile.c: Allow octal escapes in character classes.
2011-11-24 Ian Piumarta <com -dot- gmail -at- piumarta (backwards)>
* Makefile: Remove dwarf sym dirs when cleaning.
* compile.c: Fix size calculation when resizing text
buffers.
* leg.leg, peg.peg: Backslash can be escaped.
2009-08-26 Ian Piumarta <com -dot- gmail -at- piumarta (backwards)>
* leg.leg: Fix match of a single single quote character.
* examples/basic.leg: Rename getline -> nextline to avoid C
namespace conflict.
2007-09-13 Ian Piumarta <com -dot- gmail -at- piumarta (backwards)>
* leg.leg: Allow matched braces inside leg actions. Handle empty
rules. Handle empty grammars.
2007-08-31 Ian Piumarta <com -dot- gmail -at- piumarta (backwards)>
* compile.c: Grow buffers while (not if) they are too
small. Remove dependencies on grammar files. Add more basic
examples.
2007-05-15 Ian Piumarta <com -dot- gmail -at- piumarta (backwards)>
First public release.