summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Autret <autret_m@epita.fr>2001-09-21 16:25:19 +0000
committerMarc Autret <autret_m@epita.fr>2001-09-21 16:25:19 +0000
commit25b222faf6299aad314c11713561c7cbfc43a420 (patch)
tree1c456fc744d271f5a53fd38191a2b2e9c359672c
parent6bc35ae56a34c075b00fdc0c14c0cd8c14bf80ca (diff)
downloadbison-25b222faf6299aad314c11713561c7cbfc43a420.tar.gz
* src/reader.c (copy_definition, parse_union_decl): Update and use
`linef' muscle. (copy_action): Likewise. Use obstack_1grow (). * src/muscle_tab.c (muscle_init): Add muscle `linef'.
-rw-r--r--ChangeLog8
-rw-r--r--src/muscle_tab.c2
-rw-r--r--src/reader.c30
3 files changed, 27 insertions, 13 deletions
diff --git a/ChangeLog b/ChangeLog
index 207d233e..d6e609f7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2001-09-21 Marc Autret <autret_m@epita.fr>
+ * src/reader.c (copy_definition, parse_union_decl): Update and use
+ `linef' muscle.
+ (copy_action): Likewise.
+ Use obstack_1grow ().
+ * src/muscle_tab.c (muscle_init): Add muscle `linef'.
+
+2001-09-21 Marc Autret <autret_m@epita.fr>
+
* src/options.c (option_table): Adjust.
* src/lex.c (parse_percent_token): Fix.
diff --git a/src/muscle_tab.c b/src/muscle_tab.c
index 13433edc..eeda6112 100644
--- a/src/muscle_tab.c
+++ b/src/muscle_tab.c
@@ -91,6 +91,8 @@ muscle_init (void)
muscle_insert ("ntbase", "0");
muscle_insert ("verbose", "0");
muscle_insert ("prefix", "yy");
+ /* Default #line formatting. */
+ muscle_insert ("linef", "#line %d %s\n");
/* No parser macros. */
muscle_insert ("nnts", "0");
diff --git a/src/reader.c b/src/reader.c
index 7aeec65b..5344837a 100644
--- a/src/reader.c
+++ b/src/reader.c
@@ -429,8 +429,11 @@ copy_definition (void)
#if 0
if (!no_lines_flag)
- obstack_fgrow2 (&attrs_obstack, "#line %d %s\n",
- lineno, quotearg_style (c_quoting_style, infile));
+ {
+ obstack_fgrow2 (&attrs_obstack, muscle_find ("linef"),
+ lineno, quotearg_style (c_quoting_style,
+ muscle_find("filename")));
+ }
#endif
after_percent = 0;
@@ -748,13 +751,16 @@ parse_union_decl (void)
typed = 1;
+
if (!no_lines_flag)
- obstack_fgrow2 (&attrs_obstack, "\n#line %d %s\n",
- lineno, quotearg_style (c_quoting_style,
- muscle_find("filename")));
+ {
+ obstack_fgrow2 (&attrs_obstack, muscle_find ("linef"),
+ lineno, quotearg_style (c_quoting_style,
+ muscle_find("filename")));
+ }
else
obstack_1grow (&attrs_obstack, '\n');
-
+
obstack_sgrow (&attrs_obstack, "typedef union");
if (defines_flag)
obstack_sgrow (&defines_obstack, "typedef union");
@@ -1107,15 +1113,13 @@ copy_action (symbol_list *rule, int stack_offset)
if (semantic_parser)
stack_offset = 0;
- sprintf (buf, "\ncase %d:\n", nrules);
- obstack_grow (&action_obstack, buf, strlen (buf));
+ obstack_fgrow1 (&action_obstack, "\ncase %d:\n", nrules);
if (!no_lines_flag)
{
- sprintf (buf, "#line %d %s\n",
- lineno, quotearg_style (c_quoting_style,
- muscle_find ("filename")));
- obstack_grow (&action_obstack, buf, strlen (buf));
+ obstack_fgrow2 (&action_obstack, muscle_find ("linef"),
+ lineno, quotearg_style (c_quoting_style,
+ muscle_find ("filename")));
}
obstack_1grow (&action_obstack, '{');
@@ -1201,7 +1205,7 @@ copy_guard (symbol_list *rule, int stack_offset)
obstack_fgrow1 (&guard_obstack, "\ncase %d:\n", nrules);
if (!no_lines_flag)
- obstack_fgrow2 (&guard_obstack, "#line %d %s\n",
+ obstack_fgrow2 (&guard_obstack, muscle_find ("linef"),
lineno, quotearg_style (c_quoting_style,
muscle_find ("filename")));
obstack_1grow (&guard_obstack, '{');