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