mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-12 22:03:02 +00:00
Add of %source_extension and %header_extension which specify
the source or/and the header output file extension. * src/files.c (compute_base_names): Remove initialisation of src_extension and header_extension. (compute_exts_from_gf): Update. (compute_exts_from_src): Update. (output_files): Update. * src/reader.c (parse_header_extension_decl): New. (parse_source_extension_decl): New. (read_declarations): New case statements for the new tokens. * src/lex.c (percent_table): Add entries for %source_extension and %header_extension. * src/lex.h (token_e): New tokens tok_hdrext and tok_srcext.
This commit is contained in:
46
src/reader.c
46
src/reader.c
@@ -874,6 +874,45 @@ parse_thong_decl (void)
|
||||
nsyms--;
|
||||
}
|
||||
|
||||
/*------------------------------------------.
|
||||
| Parse what comes after %header_extension. |
|
||||
`------------------------------------------*/
|
||||
|
||||
static void
|
||||
parse_header_extension_decl (void)
|
||||
{
|
||||
char buff[32];
|
||||
int len;
|
||||
|
||||
if (header_extension)
|
||||
complain (_("multiple %%header_extension declarations"));
|
||||
fscanf (finput, "%s", buff);
|
||||
printf("-> %s\n", buff);
|
||||
len = strlen (buff);
|
||||
buff[len] = '\0';
|
||||
src_extension = XMALLOC (char, len + 1);
|
||||
stpcpy (header_extension, buff);
|
||||
}
|
||||
|
||||
/*------------------------------------------.
|
||||
| Parse what comes after %source_extension. |
|
||||
`------------------------------------------*/
|
||||
|
||||
static void
|
||||
parse_source_extension_decl (void)
|
||||
{
|
||||
char buff[32];
|
||||
int len;
|
||||
|
||||
if (src_extension)
|
||||
complain (_("multiple %%source_extension declarations"));
|
||||
fscanf (finput, "%s", buff);
|
||||
printf("-> %s\n", buff);
|
||||
len = strlen (buff);
|
||||
buff[len] = '\0';
|
||||
src_extension = XMALLOC (char, len + 1);
|
||||
stpcpy (src_extension, buff);
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------.
|
||||
| Read from finput until `%%' is seen. Discard the `%%'. Handle |
|
||||
@@ -944,6 +983,13 @@ read_declarations (void)
|
||||
parse_assoc_decl (non_assoc);
|
||||
break;
|
||||
|
||||
case tok_hdrext:
|
||||
break;
|
||||
|
||||
case tok_srcext:
|
||||
parse_source_extension_decl();
|
||||
break;
|
||||
|
||||
case tok_noop:
|
||||
break;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user