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