Wed Dec 13 21:00:24 2006 Ben Pfaff * variable-parser.c (parse_variables): If not successful, set output pointer to NULL and output count to 0. Sat Dec 9 18:46:11 2006 Ben Pfaff * variable-parser.h: New PV_SAME_WIDTH variable parsing option. * variable-parser.c (add_variable): Implement new PV_SAME_WIDTH option. (parse_var_set_vars) Ditto. (array_var_set_lookup_var_idx) Use new var_create, var_destroy functions. Sat Dec 2 21:19:50 2006 Ben Pfaff General clean-up. * lexer.c: (lex_token_name) Don't use a static buffer or, rather, use a separate static buffer for each possible answer. (lex_token_representation) Now use lex_token_name as building block. Previously this broke lex_force_match because it uses lex_token_name in a call to lex_error, which in turn uses lex_token_representation. (lex_force_match_id) Use lex_match_id as building block, to simplify. (parse_id) Rewrite to work with modified lex_id_to_token and lex_id_get_length. The computation of rest_of_line is a bit of an abomination but it will get fixed later. Sat Dec 2 20:16:50 2006 Ben Pfaff * lexer.c (struct lexer): Change function signature for `read_line' to take an "enum getl_syntax *" instead of "bool *". (lex_create) Ditto, for argument. (lex_preprocess_line) New function. (lex_get_line_raw) New arg, to allow caller to obtain getl_syntax of the line read. (lex_get_line) Use lex_get_line_raw and lex_preprocess_line to simplify. Sun Nov 19 09:20:42 2006 Ben Pfaff * range-parser.c (parse_num_range): Because data_in takes an enum fmt_type now, not a struct fmt_spec, change the type of the corresponding argument. Updated all callers. (parse_number) Ditto. Sun Nov 12 06:34:06 WST 2006 John Darrrington * format-parser.c format-parser.h lexer.c lexer.h q2c.c range-parser.c range-parser.h subcommand-list.c variable-parser.c variable-parser.h: Encapsulated the lexer into an object, and updated everything accordingly. Tue Oct 31 18:09:32 2006 Ben Pfaff * range-parser.c (parse_number): Fix error message. Sat Oct 28 16:17:18 WST 2006 John Darrington * lexer.c lexer.h: Added a line_buffer (previously an external reference called getl_buf). Thu Oct 26 20:18:03 2006 Ben Pfaff * lexer.c (parse_string): Make lexing of binary, hex, and octal strings work (fixes bug #17948). Allow null bytes in strings, now that there's a use for them (see tests/formats/float-format.sh). Sun Jul 16 21:03:34 2006 Ben Pfaff * format-parser.h: New file. Moved prototypes of format-parser.c functions here, from lexer.h. * format-parser.c: (parse_format_specifier_name) Rewrote and changed semantics. (parse_abstract_format_specifier) New function. (parse_format_specifier) Rewrote in terms of parse_abstract_format_specifier. Removed "options" parameter, so callers had to be updated. Callers that didn't want messages emitted were changed to use the new msg_disable/msg_enable functions. * variables-parser.c: (parse_variables_pool) New function. (register_vars_pool) New function. (parse_DATA_LIST_vars_pool) New function. (parse_mixed_vars_pool) Use register_vars_pool. Assert that PV_APPEND is not in the options. Sat Jul 1 17:40:38 2006 Ben Pfaff Fix bug #11612, "q2c documentation does not agree with code". * q2c.c (parse_subcommand): Make "+" mean ARITY_MANY, absence mean ARITY_ONCE_ONLY. Tue Jul 4 09:45:12 2006 Ben Pfaff Fix bug #15766 (/KEEP subcommand on SAVE doesn't fully support ALL) and additional underlying system file issues. * variable-parser.c (add_variable): Move test earlier for clarity and efficiency. (parse_var_set_vars) Accept ALL within a variable list, not just at the beginning of one. Tue Jun 27 22:54:30 2006 Ben Pfaff * automake.mk (src_language_lexer_liblexer_a_SOURCES): Add variable-parser.h. Tue Jun 27 19:15:33 2006 Ben Pfaff Add auxiliary data pointer to q2c parse_ function, and pass it along to the custom parser functions. Updated all uses of custom functions in all the existing .q files. * q2c.c (dump_declarations): Include auxiliary parameter in function prototypes. (dump_subcommand) Include aux arg in calls to custom functions. (dump_parser) Include aux param in parse_ function definition. Include aux arg in calls to custom functions. Tue Jun 27 12:07:34 2006 Ben Pfaff * variable-parser.h: New header. Moved the var_set and variable parsing declarations here. * q2c.c (main): Emit include for new variable-parser.h header. Sun Jun 25 22:41:00 2006 Ben Pfaff * q2c.c (dump_free): For SBC_DBL_LIST, enclose the output code in curly braces, because it contains a variable declaration and might not be at the beginning of a block. Fri Jun 9 14:02:19 2006 Ben Pfaff Reform string library. * q2c.c (dump_subcommand): ds_c_str() became ds_cstr(), in generated code. Wed Apr 26 13:30:41 2006 Ben Pfaff * lexer.c: (lex_discard_rest_of_command) New function. Mon Apr 24 14:12:08 2006 Ben Pfaff * q2c.c: Use exit.h from gnulib instead of checking for and defining EXIT_SUCCESS and EXIT_FAILURE by hand. Sat Apr 15 14:30:35 2006 Ben Pfaff * q2c.c: Change DEBUGGING macro to DUMP_TOKENS for clarity and to avoid dumping all the tokens to stdout when --enable-debug is passed to configure. Fri Mar 10 08:29:25 2006 Ben Pfaff * q2c.c: (dump_free) Free proper member for var list, instead of hard-coding to v_variables. Thanks to Jason Stover for reporting this bug. Thu Mar 2 08:40:33 WST 2006 John Darrington * Moved files from src directory