Age | Commit message (Collapse) | Author | Files |
|
|
|
diagnostics.
* src/grecs.h (grecs_locus_point): New struct.
(grecs_locus_point_advance_line): New macro.
(grecs_locus_t): Redesign.
(grecs_value) <locus>: New member.
(grecs_node) <idloc>: New member.
(grecs_print_diag_fun): Change signature.
(grecs_warning,grecs_error): Change signature.
(grecs_parse_line_directive)
(grecs_parse_line_directive_cpp)
(grecs_string_convert): Change signature.
(grecs_current_locus): Remove.
(grecs_current_locus_point): New extern.
* src/grecs-locus.h: New file.
* src/Make.am (noinst_HEADERS): Add grecs-locus.h.
* src/join.c (reset_locus): Rewrite.
* src/lookup.c: Initialize new members of grecs_value and grecs_node.
(split_cfg_path): Return wrdse error code.
(grecs_node_from_path_locus): Take two grecs_locus_t arguments.
Make sure all created nodes have their locus members
properly initialized.
* src/parser.c (grecs_parse): Initialize grecs_current_locus_point.
* src/tree.c (grecs_node_create_points): New function.
(string_to_bool,string_to_host,string_to_sockaddr)
(grecs_string_convert): Change signatures. Be more precise in
what locus to report.
* src/diag.c (default_print_diag): Use YY_LOCATION_PRINT to
output locus.
(grecs_print_diag_fun): Change signature.
(grecs_warning,grecs_error): Change signature.
* src/format.c (grecs_format_locus): Rewrite.
(grecs_format_node): Be more precise in what locus is being
output.
* src/bind-gram.y: Keep track of locations. Turn on error-verbose mode.
* src/grecs-gram.y: Likewise.
* src/meta1-gram.y: Likewise.
* src/bind-lex.l: Keep track of locations.
* src/git-parser.c: Likewise.
* src/grecs-lex.l: Likewise.
* src/meta1-lex.l: Likewise.
* src/path-parser.c: Likewise.
* src/preproc.c: Likewise.
* tests/gcf1.conf: Untabify.
* tests/format01.at: Reflect changes in the output.
* tests/join.at: Likewise.
* tests/set.at: Likewise.
* tests/locus-bind.at: New testcase.
* tests/locus-git.at: New testcase.
* tests/locus-meta1.at: New testcase.
* tests/locus00.at: New testcase.
* tests/locus01.at: New testcase.
* tests/locus02.at: New testcase.
* tests/path-locus.at: New testcase.
|
|
* src/grecs.h (grecs_include_path_clear): New proto.
* src/preproc.c (grecs_include_path_clear): New function.
|
|
* README.submodule: Update URL.
* src/bind-lex.l (grecs_bind_new_source): Scan include path.
* src/grecs.h (grecs_find_include_file): new proto.
* src/preproc.c (try_file): Rename to grecs_find_include_file. Change
signature and return type. All uses updated.
* tests/Makefile.am (EXTRA_DIST): Add new configs.
(TESTSUITE_AT): Add parser-bind.at.
* tests/gcffmt.c: Add -I (-include) option.
* tests/testsuite.at: Include parser-bind.at.
* tests/bind.conf: New file.
* tests/bind.dlz: New file.
* tests/bind.ext.conf: New file.
* tests/bind.int.conf: New file.
* tests/bind.keys: New file.
* tests/parser-bind.at: New file.
|
|
* am/grecs.m4: New option: parser-bind.
* src/.gitignore: Update.
* src/Make.am [GRECS_COND_BIND_PARSER]: Set GRECS_PARSER_BIND
and GRECS_EXTRA_BIND.
(GRECS_SRC): Include GRECS_PARSER_BIND.
(EXTRA_DIST): Include GRECS_EXTRA_BIND.
* src/bind-gram.y: New file.
* src/bind-lex.l: New file.
* src/format.c (grecs_txtacc_format_value): New function.
* src/grecs.h (grecs_bind_parser): New proto.
* src/parser.c: Set grecs_current_locus.
* src/tree.c (grecs_node_bind): Return immediately if node==NULL.
* src/yytrans: Update.
|
|
* src/grecs-gram.y (slist production): Free ep->data after appending.
* src/grecs-lex.l (string_list): Remove. All uses updated.
* src/tree.c (grecs_node_free): Free ident.
(grecs_tree_process): Fill config_keywords with zeros.
* src/grecs.h (grecs_getline): New proto.
* src/preproc.c (pp_getline): Rename to grecs_getline,
drop static qualifier. Improve initial allocation.
|
|
|
|
* AUTHORS, COPYING, NEWS, README: New files.
* .gitignore: Update.
* am/.gitignore: New file.
* build-aux/.gitignore: New file.
* build-aux/ylwrap: Remove.
* Makefile.am: Define ACLOCAL_AMFLAGS
[GRECS_CHANGELOG]: Build ChangeLog.
* am/grecs.m4: Define GRECS_CHANGELOG and GRECS_SRCDIR.
Fixup first argument, if it is [.].
* configure.ac: New file.
* src/Make-inst.am (include_HEADERS): Add wordsplit.h.
Install libgrecs.m4.
* Make-shared.am (noinst_HEADERS): Add wordsplit.h.
* src/Make-static.am: Likewise.
* src/Make.am (GRECS_SRC): Remove wordsplit.h
(noinst_HEADERS): Add yygrecs.h
(YLWRAP): Remove.
* src/libgrecs.m4: New file.
* src/yygrecs.h: New file.
* src/grecs-gram.y: Include yygrecs.h.
* src/grecs-lex.l: Likewise.
* src/preproc.c (yy_grecs_flex_debug): Rename to grecs_yy_flex_debug.
|
|
* src/grecs.h (grecs_free_fun): New extern.
(grecs_free): New proto.
* src/format.c: Use grecs_free where appropriate.
* src/grecs-lex.l: Likewise.
* src/preproc.c: Likewise.
* src/tree.c: Likewise.
* src/lookup.c (parse_label): Use grecs_value_list_create.
* src/mem.c: Initialize hooks with the default values.
(grecs_free_fun): New hook.
(grecs_free): New function.
* doc/grecs_malloc.3: Document grecs_free.
* doc/grecs_parse.3: Document the recent changes.
* doc/grecs_strdup.3: Update.
|
|
|
|
|
|
* gnulib.modules: Remove.
* src/mem.c: New file.
* src/symtab.c: New file.
* src/Makefile.am (libgrecs_a_SOURCES): Add mem.c and symtab.c.
(INCLUDES): Remove -Ignu
* src/grecs-gram.y (grecs_vasprintf, grecs_asprintf): New functions.
(grecs_warning, grecs_error): Use grecs_vasprintf.
(string_to_signed, string_to_unsigned): Remove.
(STRTONUM,STRxTONUM,GETUNUM,GETSNUM): New macros (from Mailutils).
(grecs_string_convert): Use macros for numeric conversions.
(grecs_prop_tab): Remove entries for uintmax_t and intmax_t.
* src/grecs-lex.l: Drop dependency on obstack.
(line_acc, string_list): New statics.
(line_acc_free_entry,line_acc_add_string): new function
(line_acc_add_char,list_acc_unescape_char): new function
(line_add_unescape_last): new function
(grecs_lex_begin,grecs_line_add, multiline_begin)
(grecs_line_finish): Rewrite.
* src/grecs.h (grecs_type_uintmax,grecs_type_intmax): Remove.
(grecs_malloc_fun,grecs_realloc_fun,grecs_alloc_die_fun): New externs.
(grecs_malloc,grecs_realloc,grecs_alloc_die,grecs_strdup)
(grecs_list_clear,grecs_list_free)
(grecs_vasprintf,grecs_asprintf): New protos.
(grecs_symtab,grecs_syment): New structs.
(grecs_symtab_enumerator_t): New type.
(grecs_symtab_strerror,grecs_symtab_lookup_or_install)
(grecs_symtab_clear,grecs_symtab_create)
(grecs_symtab_create_default)
(grecs_symtab_free,grecs_symtab_remove,grecs_symtab_replace)
(grecs_symtab_enumerate,grecs_symtab_count_entries): New protos.
* src/list.c (grecs_list_clear): New function.
(grecs_list_free): Use grecs_list_clear.
* src/preproc.c (linebufbase,linebufsize): New variables.
(pp_getline): New function.
(pp_line_stmt_size): Remove.
(pp_line_stmt): Use grecs_asprintf to format data.
(next_line,grecs_preproc_extrn_start): Use pp_getline.
(source_lookup): Use grecs_symtab instead of hash.
* src/text.c: Rewrite using grecs_symtab.
|
|
* gnulib.modules (linked-list, xlist): Remove.
* src/list.c: New file.
* src/Makefile.am (libgrecs_a_SOURCES): Add list.c
* src/grecs-gram.y: Use grecs_list functions.
* src/preproc.c: Likewise.
* src/grecs.h (grecs_list_entry, grecs_list): New structs.
(grecs_value): use struct grecs_list* for the v.list member.
(grecs_log_to_stderr): Change type to int.
(grecs_list_create, grecs_list_size, grecs_list_push)
(grecs_list_pop, grecs_list_locate, grecs_list_index)
(grecs_list_remove_tail): New protos.
|
|
* gnulib.modules: Remove c-type, error, regex and stdbool.
* src/grecs-gram.y: Use 0/1 instead of false/true.
* src/preproc.c: Likewise.
* src/grecs.h: Don't include stdbool.h
* src/wordsplit.c: Apply fixes from Mailutils.
* src/wordsplit.h: Likewise.
|
|
Happy GNU Year!
|
|
* gnulib.modules: Add error.
* src/grecs-gram.y: Include string.h.
* src/preproc.c: Include signal.h.
(incl_hasher): Fix signature.
* src/text.c (text_hasher): Fix signature.
|
|
* src/grecs-lex.l (unquote_char): Handle \" and \v.
* src/preproc.c: Use normal C comments.
|
|
|
|
|