mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-20 01:33:03 +00:00
Turn on %{source,header}_extension features.
* src/lex.c (percent_table): Un-CPP out header_extension and source_extension. * src/files.c (compute_exts_from_gf): Compare pointers with NULL. (compute_exts_from_src): Remove conditions. It restores priorities between options.
This commit is contained in:
10
ChangeLog
10
ChangeLog
@@ -1,3 +1,13 @@
|
|||||||
|
2001-08-14 Marc Autret <autret_m@epita.fr>
|
||||||
|
|
||||||
|
Turn on %{source,header}_extension features.
|
||||||
|
|
||||||
|
* src/lex.c (percent_table): Un-CPP out header_extension and
|
||||||
|
source_extension.
|
||||||
|
* src/files.c (compute_exts_from_gf): Compare pointers with NULL.
|
||||||
|
(compute_exts_from_src): Remove conditions. It restores priorities
|
||||||
|
between options.
|
||||||
|
|
||||||
2001-08-14 Marc Autret <autret_m@epita.fr>
|
2001-08-14 Marc Autret <autret_m@epita.fr>
|
||||||
|
|
||||||
* src/files.c (compute_base_names): Add extensions computing when
|
* src/files.c (compute_base_names): Add extensions computing when
|
||||||
|
|||||||
4
NEWS
4
NEWS
@@ -21,8 +21,8 @@ Changes in version 1.28c:
|
|||||||
of the #line lines with path names including backslashes.
|
of the #line lines with path names including backslashes.
|
||||||
|
|
||||||
* New directives.
|
* New directives.
|
||||||
`%yacc', `%fixed_output_files', `%defines', `%no_parser', `%verbose' and
|
`%yacc', `%fixed_output_files', `%defines', `%no_parser', `%verbose',
|
||||||
`%debug'.
|
`%debug', `%source_extension' and `%header_extension'.
|
||||||
|
|
||||||
Changes in version 1.28:
|
Changes in version 1.28:
|
||||||
|
|
||||||
|
|||||||
21
src/files.c
21
src/files.c
@@ -210,12 +210,16 @@ get_extension_index(const char *filename)
|
|||||||
static void
|
static void
|
||||||
compute_exts_from_gf(const char *ext)
|
compute_exts_from_gf(const char *ext)
|
||||||
{
|
{
|
||||||
if (!src_extension)
|
/* Checks if SRC_EXTENSION is NULL. In the other case, %source_extension
|
||||||
|
was specified in the grammar file. */
|
||||||
|
if (src_extension == NULL)
|
||||||
{
|
{
|
||||||
src_extension = tr(ext, 'y', 'c');
|
src_extension = tr(ext, 'y', 'c');
|
||||||
src_extension = tr(src_extension, 'Y', 'C');
|
src_extension = tr(src_extension, 'Y', 'C');
|
||||||
}
|
}
|
||||||
if (!header_extension)
|
/* Checks if HEADER_EXTENSION is NULL. In the other case,
|
||||||
|
%header_extension was specified in the grammar file. */
|
||||||
|
if (header_extension == NULL)
|
||||||
{
|
{
|
||||||
header_extension = tr(ext, 'y', 'h');
|
header_extension = tr(ext, 'y', 'h');
|
||||||
header_extension = tr(header_extension, 'Y', 'H');
|
header_extension = tr(header_extension, 'Y', 'H');
|
||||||
@@ -226,13 +230,12 @@ compute_exts_from_gf(const char *ext)
|
|||||||
static void
|
static void
|
||||||
compute_exts_from_src(const char *ext)
|
compute_exts_from_src(const char *ext)
|
||||||
{
|
{
|
||||||
if (!src_extension)
|
/* We use this function when the user specifies `-o' or `--output',
|
||||||
src_extension = xstrdup(ext);
|
so the extenions must be computed unconditionally from the file name
|
||||||
if (!header_extension)
|
given by this option. */
|
||||||
{
|
src_extension = xstrdup(ext);
|
||||||
header_extension = tr(ext, 'c', 'h');
|
header_extension = tr(ext, 'c', 'h');
|
||||||
header_extension = tr(header_extension, 'C', 'H');
|
header_extension = tr(header_extension, 'C', 'H');
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* FIXME: Should use xstrndup. */
|
/* FIXME: Should use xstrndup. */
|
||||||
|
|||||||
@@ -551,9 +551,9 @@ struct percent_table_struct percent_table[] =
|
|||||||
{ "output_file", &spec_outfile, tok_setopt }, /* -o */
|
{ "output_file", &spec_outfile, tok_setopt }, /* -o */
|
||||||
{ "file_prefix", &spec_file_prefix, tok_setopt }, /* -b */
|
{ "file_prefix", &spec_file_prefix, tok_setopt }, /* -b */
|
||||||
{ "name_prefix", &spec_name_prefix, tok_setopt }, /* -p */
|
{ "name_prefix", &spec_name_prefix, tok_setopt }, /* -p */
|
||||||
|
#endif
|
||||||
{ "header_extension", NULL, tok_hdrext},
|
{ "header_extension", NULL, tok_hdrext},
|
||||||
{ "source_extension", NULL, tok_srcext},
|
{ "source_extension", NULL, tok_srcext},
|
||||||
#endif
|
|
||||||
{ "verbose", &verbose_flag, tok_noop }, /* -v */
|
{ "verbose", &verbose_flag, tok_noop }, /* -v */
|
||||||
{ "debug", &debug_flag, tok_noop }, /* -t */
|
{ "debug", &debug_flag, tok_noop }, /* -t */
|
||||||
{ "semantic_parser", &semantic_parser, tok_noop },
|
{ "semantic_parser", &semantic_parser, tok_noop },
|
||||||
|
|||||||
Reference in New Issue
Block a user