summaryrefslogtreecommitdiffabout
path: root/am
AgeCommit message (Collapse)AuthorFiles
2012-01-03Happy GNU YearSergey Poznyakoff1
2011-05-26Fix output formatting.Sergey Poznyakoff1
* Makefile.am (EXTRA_DIST): Add @GRECS_DISTDOC@. * am/grecs.m4 (GRECS_SETUP): New flag syntax-doc sets GRECS_DISTDOC. * doc/GRECS_SETUP.3: Update. * src/format.c (grecs_format_node): Print value if GRECS_NODE_FLAG_VALUE is set. * tests/glob01.at: Update.
2011-05-16Implement parser for git-style config files.Sergey Poznyakoff1
* am/grecs.m4: New option: parser-git * doc/GRECS_SETUP.3: Document new options. * src/git-parser.c: New file. * src/Make.am [GRECS_COND_GIT_PARSER]: Define GRECS_PARSER_GIT. (GRECS_SRC): Add GRECS_PARSER_GIT. * src/grecs.h (grecs_git_parser): New proto. * src/txtacc.c (grecs_txtacc_free): Ignore NULL argument.
2011-05-15Implement BIND config parser.Sergey Poznyakoff1
* 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.
2011-05-15Provide a framework for multiple parsers. Implement meta1 parser.Sergey Poznyakoff1
* Makefile.am (EXTRA_DIST): Add build-aux/yyrename * am/grecs.m4: New options: parser-meta1 and all-parsers * src/.gitignore: Update. * src/Make.am [GRECS_COND_META1_PARSER]: Set GRECS_PARSER_META1 and GRECS_EXTRA_META1 (GRECS_SRC): Add new files. (EXTRA_DIST): Add GRECS_EXTRA_META1. (LEXCOMPILE,YACCCOMPILE): Redefine * src/grecs-gram.y: Don't include yygrecs.h (grecs_vasprintf,grecs_asprintf): Move to a separate file. (grecs_parse): Rename to grecs_grecs_parser. Actual grecs_parse is defined in parser.c (grecs_gram_trace): Move to parser.c * src/grecs-lex.l: Don't include yygrecs.h Use line_acc functions. * src/grecs.h (grecs_trace_flags): New extern. (GRECS_TRACE_GRAM, GRECS_TRACE_LEX): New flags. (grecs_lex_begin): Change signature. (grecs_grecs_parser,grecs_meta1_parser): New protos. (grecs_line_acc_create) (grecs_line_acc_free,grecs_line_acc_grow_char) (grecs_line_acc_grow_char_unescape) (grecs_line_acc_grow) (grecs_line_acc_grow_unescape_last): New protos. (GRECS_TXTACC_BUFSIZE): New const (grecs_txtacc_create,grecs_txtacc_free) (grecs_txtacc_grow,grecs_txtacc_finish) (grecs_txtacc_free_string): New protos. (grecs_value_match): New proto. * src/wordsplit.c (quote_transtab): Translate \" * src/yygrecs.h: Remove. * src/yytrans: New file. * build-aux/yyrename: New file. * src/asprintf.c: New file. * src/lineacc.c: New file. * src/meta1-gram.y: New file. * src/meta1-lex.l: New file. * src/parser.c: New file. * src/txtacc.c: New file. * doc/grecs_parse.3: Update. * doc/GRECS_SETUP.3: Update.
2011-05-13Improvements in git2chg.awk and grecs setup sequence.Sergey Poznyakoff1
* build-aux/git2chg.awk: New configuration variables: since=YYYY-MM-DD, to cut off entries earlier than the given date, and append=FILE, to append FILE to the generated ChangeLog. * am/grecs.m4 (GRECS_HOST_PROJECT_INCLUDES): New substitution variable. * src/Make.am (INCLUDES): Expand GRECS_HOST_PROJECT_INCLUDES. * tests/Makefile.am: Likewise.
2011-05-08Improve README generation.Sergey Poznyakoff1
2011-05-08Various fixes.Sergey Poznyakoff1
* .gitignore: Add gitid.h * Makefile.am: Build gitid.h. * am/grecs.m4: Remove GRECS_VEROK_AT. * build-aux/getopt.m4 (print_version_hook): New variable. (print_version): Call print_version_hook, if defined. * src/Make.am (INCLUDES): Update. * src/grecs.h (grecs_version_info) <id>: New member. * src/version.c (grecs_version): Initialize id. * tests/Makefile.am: Remove GRECS_VEROK_AT. * tests/testsuite.at: Likewise.
2011-05-08Redo versioning support.Sergey Poznyakoff1
* am/grecs.m4: Define GRECS_VEROK_AT if package version matches the standard scheme. Define GRECS_DISTCK_AT if install flag is set. * src/grecs.h (GRECS_VERSION_MAJOR) (GRECS_VERSION_MINOR): New defines. (grecs_version_info)<buffer>: New member. (grecs_version): Return allocated grecs_version_info structure. (grecs_version_cmp): Change prototype. (grecs_version_ok) (grecs_version_info_cmp) (grecs_version_split) (grecs_version_info_free): New protos. * src/version.c: Rewrite. * src/libgrecs.m4 (AM_LIBGRECS): Use grecs_version_ok * tests/.gitignore: Add distck. * tests/Makefile.am: Add new tests. * tests/testsuite.at: Add new tests. * tests/gcfver.c: Update. * tests/vercmp.at: Rewrite. * tests/verok.at: New file (from old vercmp.at). * tests/distck.at: New file. * tests/distck.c: New file.
2011-05-07Support standalone compilation.Sergey Poznyakoff2
* 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.
2011-05-05Improve node formatting. Add version comparasion functions.Sergey Poznyakoff1
* am/grecs.m4 (GRECS_SETUP): New option: shared. * doc/GRECS_SETUP.3: Document new options. * doc/grecs_format_locus.3: Update. * doc/grecs_format_node.3: Document new flags. * src/.gitignore: Update. * src/version.c: New file. * src/Make.am (GRECS_SRC): Add version.c (EXTRA_DIST): Update. * src/diag.c (default_print_diag): Flush stdout as per the docs. * src/format.c (grecs_format_locus): Don't print trailing semicolon. (grecs_format_value): Handle GRECS_NODE_FLAG_NOQUOTE flag. (grecs_format_node): Print delimiters when needed. * src/grecs.h (grecs_version_info): New struct. (grecs_version, grecs_version_cmp): New protos. (GRECS_NODE_FLAG_NOQUOTE): New flag. * tests/gcfver.c: New file. * tests/vercmp.at: New file. * tests/.gitignore: Update. * tests/Makefile.am: Define GRECS_VERCMP_AT in package.m4 (TESTSUITE_AT): Add vercmp.at (conditionally). (noinst_PROGRAMS): Add gcfver. * tests/testsuite.at: Conditionally include vercmp.at.
2011-05-04Improve docs. Add an option to create installable distribution.Sergey Poznyakoff1
2011-05-03Various impovements.Sergey Poznyakoff1
* am/grecs.m4 (GRECS_SETUP): New flags: getopt and git2chg. * src/format.c (grecs_format_locus): Ignore NULL loci. (grecs_format_node_ident): Rename to grecs_format_node_path. Change semantics of the second argument. (grecs_format_value): Change signature (take flags). Correctly quote string values. * src/grecs.h: Protect the contents with #ifndef _GRECS_H. (GRECS_AGGR): New flag (for future use). (grecs_node) <prev>: New member. (grecs_format_value): Change signature. (grecs_format_node_ident): Rename to grecs_format_node_path. (GRECS_NODE_FLAG_PATH,GRECS_NODE_FLAG_VALUE) (GRECS_NODE_FLAG_QUOTE,GRECS_NODE_FLAG_QUOTE_HEX) (GRECS_NODE_FLAG_DEFAULT): New flags. (grecs_node_from_path): New proto. * src/lookup.c (grecs_node_from_path): New function. * src/tree.c (grecs_node_bind): Keep track of node->prev.
2011-05-03Switch to the two-layer model. Add testsuite.Sergey Poznyakoff1
The configuration file parser creates a syntax tree. This step does not require any knowledge about which keywords are allowed. The user can then either use that tree directly, or post-process it using parser tables. The latter approach is equivalent to previous versions of grecs.
2011-05-01Update copyright years. Add docs.Sergey Poznyakoff1
2011-05-01Minor changesSergey Poznyakoff1
* am/grecs.m4 (GRECS_SETUP): Call AC_PROG_YACC and AM_PROG_LEX. * src/grecs.h: Add a missing prototype.
2011-04-30Bugfixes and improvements.Sergey Poznyakoff1
* am/grecs.m4 (GRECS_INCLUDES): New substitute variable. * src/Makefile.am (INCLUDES): Add GRECS_INCLUDES. * src/grecs-gram.y: Remove leftover uses of xmalloc. * src/grecs.h (grecs_zalloc, grecs_calloc): New protos. * src/mem.c (grecs_zalloc, grecs_calloc): New functions. * src/wordsplit.c [ENABLE_NLS]: include gettext.h
2011-04-21Improve GRECS_SETUP.Sergey Poznyakoff1
The macro takes an optional second argument. When given, it supplies the name of the preprocessor setup file to install. Options available for use in the 1st argument are: no-preproc Generate the --without-preprocessor option. std-pp-setup Install the default pp-setup file. Note for upgraders: earlier this was the default! pp-setup-option Generate the --with-pp-setup-file option. * am/grecs.m4 (GRECS_SETUP): Handle new options.
2010-01-02Update copyright years.Sergey Poznyakoff1
Happy GNU Year!
2009-04-20Diverge from Wydawca gconf/ subdirectory into a separate projectSergey Poznyakoff1

Return to:

Send suggestions and report system problems to the System administrator.