Estimate parameters. Moved some code to re-usable functions.
[pspp-builds.git] / src / language / lexer / ChangeLog
1 2007-12-04  Ben Pfaff  <blp@gnu.org>
2
3         * lexer.c (lex_match_id_n): New function.
4         (lex_match_id): Reimplement in terms of lex_match_id_n.
5
6 2007-08-16  Ben Pfaff  <blp@gnu.org>
7
8         Implement journaling.  Bug #17240.
9         
10         * lexer.c (lex_get_line_raw): Pass the line read to journal_write.
11
12 2007-06-03  Ben Pfaff  <blp@gnu.org>
13
14         Implement missing functions for subcommand integer lists.
15         
16         * subcommand-list.c (subc_list_int_create): New function.
17         (subc_list_int_push): New function.
18         (subc_list_int_count): New function.
19         (subc_list_int_at): New function.
20         (subc_list_int_destroy): New function.
21
22 2007-05-06  Ben Pfaff  <blp@gnu.org>
23
24         Abstract the documents within a dictionary a little better.
25         Thanks to John Darrington for suggestion, initial version, and
26         review.  Patch #5917.
27
28         * lexer.c (lex_entire_line): Add const to parameter.
29         (lex_entire_line_ds): Ditto.
30         (lex_rest_of_line): Drop end_dot parameter.  Update all callers to
31         use lex_end_dot instead.
32         (lex_end_dot): New function.
33
34 2007-05-03  John Darrington <john@darrington.wattle.id.au>
35         
36         * lexer.c lexer.h: Added lex_is_string function.
37         
38 2007-04-15  Ben Pfaff  <blp@gnu.org>
39
40         * q2c.c: Fully support lists of integer values.  Add support for
41         lists of string values.  Add some more needed declarations to
42         headers.
43
44 Fri Feb 16 11:14:42 2007  Ben Pfaff  <blp@gnu.org>
45
46         Better support cross-compiling by using CC_FOR_BUILD and
47         EXEEXT_FOR_BUILD for q2c.
48         
49         * automake.mk: Use EXEEXT_FOR_BUILD and CC_FOR_BUILD to build and
50         clean q2c.
51
52         * q2c.c: Avoid external dependencies, besides the standard C
53         library.
54
55 Sun Feb 11 20:31:51 2007  Ben Pfaff  <blp@gnu.org>
56
57         * q2c.c: Make q2c link under mingw32, by eliminating the
58         dependency on localtime.  Gnulib replaces localtime by a fixed
59         version, but we don't link q2c against gnulib.  q2c only uses
60         localtime to put the time of processing into the output file,
61         which I've never in practice found to be useful, so the patch just
62         drops this feature.
63
64 Wed Dec 13 21:00:24 2006  Ben Pfaff  <blp@gnu.org>
65
66         * variable-parser.c (parse_variables): If not successful, set
67         output pointer to NULL and output count to 0.
68
69 Sat Dec  9 18:46:11 2006  Ben Pfaff  <blp@gnu.org>
70
71         * variable-parser.h: New PV_SAME_WIDTH variable parsing option.
72
73         * variable-parser.c (add_variable): Implement new PV_SAME_WIDTH
74         option.
75         (parse_var_set_vars) Ditto.
76         (array_var_set_lookup_var_idx) Use new var_create, var_destroy
77         functions.
78
79 Sat Dec  2 21:19:50 2006  Ben Pfaff  <blp@gnu.org>
80
81         General clean-up.
82         
83         * lexer.c: (lex_token_name) Don't use a static buffer or, rather,
84         use a separate static buffer for each possible answer.
85         (lex_token_representation) Now use lex_token_name as building
86         block.  Previously this broke lex_force_match because it uses
87         lex_token_name in a call to lex_error, which in turn uses
88         lex_token_representation.
89         (lex_force_match_id) Use lex_match_id as building block, to
90         simplify.
91         (parse_id) Rewrite to work with modified lex_id_to_token and
92         lex_id_get_length.  The computation of rest_of_line is a bit of an
93         abomination but it will get fixed later.
94         
95 Sat Dec  2 20:16:50 2006  Ben Pfaff  <blp@gnu.org>
96
97         * lexer.c (struct lexer): Change function signature for
98         `read_line' to take an "enum getl_syntax *" instead of "bool *".
99         (lex_create) Ditto, for argument.
100         (lex_preprocess_line) New function.
101         (lex_get_line_raw) New arg, to allow caller to obtain getl_syntax
102         of the line read.
103         (lex_get_line) Use lex_get_line_raw and lex_preprocess_line to
104         simplify.
105
106 Sun Nov 19 09:20:42 2006  Ben Pfaff  <blp@gnu.org>
107
108         * range-parser.c (parse_num_range): Because data_in takes an enum
109         fmt_type now, not a struct fmt_spec, change the type of the
110         corresponding argument.  Updated all callers.
111         (parse_number) Ditto.
112
113 Sun Nov 12 06:34:06 WST 2006 John Darrington <john@darrington.wattle.id.au>
114
115         * format-parser.c format-parser.h lexer.c lexer.h q2c.c range-parser.c
116           range-parser.h subcommand-list.c variable-parser.c
117           variable-parser.h:
118
119         Encapsulated the lexer into an object, and updated everything
120         accordingly.
121
122 Tue Oct 31 18:09:32 2006  Ben Pfaff  <blp@gnu.org>
123
124         * range-parser.c (parse_number): Fix error message.
125
126 Sat Oct 28 16:17:18 WST 2006 John Darrington <john@darrington.wattle.id.au>
127
128         * lexer.c lexer.h: Added a line_buffer (previously an external
129         reference called getl_buf). 
130
131 Thu Oct 26 20:18:03 2006  Ben Pfaff  <blp@gnu.org>
132
133         * lexer.c (parse_string): Make lexing of binary, hex, and octal
134         strings work (fixes bug #17948).  Allow null bytes in strings, now
135         that there's a use for them (see tests/formats/float-format.sh).
136
137 Sun Jul 16 21:03:34 2006  Ben Pfaff  <blp@gnu.org>
138
139         * format-parser.h: New file.  Moved prototypes of format-parser.c
140         functions here, from lexer.h.
141
142         * format-parser.c: (parse_format_specifier_name) Rewrote and
143         changed semantics.
144         (parse_abstract_format_specifier) New function.
145         (parse_format_specifier) Rewrote in terms of
146         parse_abstract_format_specifier.  Removed "options" parameter, so
147         callers had to be updated.  Callers that didn't want messages
148         emitted were changed to use the new msg_disable/msg_enable
149         functions.
150
151         * variables-parser.c: (parse_variables_pool) New function.
152         (register_vars_pool) New function.
153         (parse_DATA_LIST_vars_pool) New function.
154         (parse_mixed_vars_pool) Use register_vars_pool.  Assert that
155         PV_APPEND is not in the options.
156         
157 Sat Jul  1 17:40:38 2006  Ben Pfaff  <blp@gnu.org>
158
159         Fix bug #11612, "q2c documentation does not agree with code".
160         
161         * q2c.c (parse_subcommand): Make "+" mean ARITY_MANY, absence
162         mean ARITY_ONCE_ONLY.
163
164 Tue Jul  4 09:45:12 2006  Ben Pfaff  <blp@gnu.org>
165
166         Fix bug #15766 (/KEEP subcommand on SAVE doesn't fully support
167         ALL) and additional underlying system file issues.
168         
169         * variable-parser.c (add_variable): Move test earlier for clarity
170         and efficiency.
171         (parse_var_set_vars) Accept ALL within a variable list, not just
172         at the beginning of one.
173
174 Tue Jun 27 22:54:30 2006  Ben Pfaff  <blp@gnu.org>
175
176         * automake.mk (src_language_lexer_liblexer_a_SOURCES): Add
177         variable-parser.h.
178
179 Tue Jun 27 19:15:33 2006  Ben Pfaff  <blp@gnu.org>
180
181         Add auxiliary data pointer to q2c parse_<command> function, and
182         pass it along to the custom parser functions.
183
184         Updated all uses of custom functions in all the existing .q files.
185         
186         * q2c.c (dump_declarations): Include auxiliary parameter in
187         function prototypes.
188         (dump_subcommand) Include aux arg in calls to custom functions.
189         (dump_parser) Include aux param in parse_<command> function
190         definition.  Include aux arg in calls to custom functions.
191
192 Tue Jun 27 12:07:34 2006  Ben Pfaff  <blp@gnu.org>
193
194         * variable-parser.h: New header.  Moved the var_set and variable
195         parsing declarations here.
196
197         * q2c.c (main): Emit include for new variable-parser.h header.
198
199 Sun Jun 25 22:41:00 2006  Ben Pfaff  <blp@gnu.org>
200
201         * q2c.c (dump_free): For SBC_DBL_LIST, enclose the output code in
202         curly braces, because it contains a variable declaration and might
203         not be at the beginning of a block.
204
205 Fri Jun  9 14:02:19 2006  Ben Pfaff  <blp@gnu.org>
206
207         Reform string library.
208         
209         * q2c.c (dump_subcommand): ds_c_str() became ds_cstr(), in
210         generated code.
211
212 Wed Apr 26 13:30:41 2006  Ben Pfaff  <blp@gnu.org>
213
214         * lexer.c: (lex_discard_rest_of_command) New function.
215
216 Mon Apr 24 14:12:08 2006  Ben Pfaff  <blp@gnu.org>
217
218         * q2c.c: Use exit.h from gnulib instead of checking for and
219         defining EXIT_SUCCESS and EXIT_FAILURE by hand.
220
221 Sat Apr 15 14:30:35 2006  Ben Pfaff  <blp@gnu.org>
222
223         * q2c.c: Change DEBUGGING macro to DUMP_TOKENS for clarity and to
224         avoid dumping all the tokens to stdout when --enable-debug is
225         passed to configure.
226
227 Fri Mar 10 08:29:25 2006  Ben Pfaff  <blp@gnu.org>
228
229         * q2c.c: (dump_free) Free proper member for var list, instead of
230         hard-coding to v_variables.  Thanks to Jason Stover for reporting
231         this bug.
232
233 Thu Mar  2 08:40:33 WST 2006 John Darrington <john@darrington.wattle.id.au>
234         
235         * Moved files from src directory