#include "lalr.h"
#include "reader.h"
#include "conflicts.h"
-#include "macrotab.h"
+#include "muscle_tab.h"
extern void berror PARAMS((const char *));
static int lowzero;
static int high;
-struct obstack macro_obstack;
+struct obstack muscle_obstack;
struct obstack output_obstack;
/* FIXME. */
{
output_table_data (&output_obstack, token_translations,
0, 1, max_user_token_number + 1);
- macro_insert ("translate", obstack_finish (&output_obstack));
+ muscle_insert ("translate", obstack_finish (&output_obstack));
}
{
output_table_data (&output_obstack, rrhs,
0, 1, nrules + 1);
- macro_insert ("prhs", obstack_finish (&output_obstack));
+ muscle_insert ("prhs", obstack_finish (&output_obstack));
{
size_t yyrhs_size = 1;
output_table_data (&output_obstack, yyrhs,
ritem[0], 1, yyrhs_size);
- macro_insert ("rhs", obstack_finish (&output_obstack));
+ muscle_insert ("rhs", obstack_finish (&output_obstack));
XFREE (yyrhs);
}
{
output_table_data (&output_obstack, accessing_symbol,
0, 1, nstates);
- macro_insert ("stos", obstack_finish (&output_obstack));
+ muscle_insert ("stos", obstack_finish (&output_obstack));
}
output_table_data (&output_obstack, rline,
0, 1, nrules + 1);
- macro_insert ("rline", obstack_finish (&output_obstack));
+ muscle_insert ("rline", obstack_finish (&output_obstack));
j = 0;
for (i = 0; i < nsyms; i++)
/* Finish table and store. */
obstack_1grow (&output_obstack, 0);
- macro_insert ("tname", obstack_finish (&output_obstack));
+ muscle_insert ("tname", obstack_finish (&output_obstack));
/* Output YYTOKNUM. */
output_table_data (&output_obstack, user_toknums,
0, 1, ntokens + 1);
- macro_insert ("toknum", obstack_finish (&output_obstack));
+ muscle_insert ("toknum", obstack_finish (&output_obstack));
/* Output YYR1. */
output_table_data (&output_obstack, rlhs,
0, 1, nrules + 1);
- macro_insert ("r1", obstack_finish (&output_obstack));
+ muscle_insert ("r1", obstack_finish (&output_obstack));
XFREE (rlhs + 1);
/* Output YYR2. */
short_tab[nrules] = nitems - rrhs[nrules] - 1;
output_table_data (&output_obstack, short_tab,
0, 1, nrules + 1);
- macro_insert ("r2", obstack_finish (&output_obstack));
+ muscle_insert ("r2", obstack_finish (&output_obstack));
XFREE (short_tab);
XFREE (rrhs + 1);
output_table_data (&output_obstack, yydefact,
yydefact[0], 1, nstates);
- macro_insert ("defact", obstack_finish (&output_obstack));
+ muscle_insert ("defact", obstack_finish (&output_obstack));
XFREE (actrow);
XFREE (yydefact);
output_table_data (&output_obstack, yydefgoto,
yydefgoto[0], 1, nsyms - ntokens);
- macro_insert ("defgoto", obstack_finish (&output_obstack));
+ muscle_insert ("defgoto", obstack_finish (&output_obstack));
XFREE (state_count);
XFREE (yydefgoto);
/* Output pact. */
output_table_data (&output_obstack, base,
base[0], 1, nstates);
- macro_insert ("pact", obstack_finish (&output_obstack));
+ muscle_insert ("pact", obstack_finish (&output_obstack));
/* Output pgoto. */
output_table_data (&output_obstack, base,
base[nstates], nstates + 1, nvectors);
- macro_insert ("pgoto", obstack_finish (&output_obstack));
+ muscle_insert ("pgoto", obstack_finish (&output_obstack));
XFREE (base);
}
{
output_table_data (&output_obstack, table,
table[0], 1, high + 1);
- macro_insert ("table", obstack_finish (&output_obstack));
+ muscle_insert ("table", obstack_finish (&output_obstack));
XFREE (table);
}
{
output_table_data (&output_obstack, check,
check[0], 1, high + 1);
- macro_insert ("check", obstack_finish (&output_obstack));
+ muscle_insert ("check", obstack_finish (&output_obstack));
XFREE (check);
}
}
else if ((c = getc (fskel)) == '%')
{
- /* Read the macro. */
- const char *macro_key = 0;
- const char *macro_value = 0;
+ /* Read the muscle. */
+ const char *muscle_key = 0;
+ const char *muscle_value = 0;
while (isalnum (c = getc (fskel)) || c == '_')
- obstack_1grow (¯o_obstack, c);
- obstack_1grow (¯o_obstack, 0);
+ obstack_1grow (&muscle_obstack, c);
+ obstack_1grow (&muscle_obstack, 0);
/* Output the right value, or see if it's something special. */
- macro_key = obstack_finish (¯o_obstack);
- macro_value = macro_find (macro_key);
- if (macro_value)
- obstack_sgrow (&table_obstack, macro_value);
- else if (!strcmp (macro_key, "line"))
+ muscle_key = obstack_finish (&muscle_obstack);
+ muscle_value = muscle_find (muscle_key);
+ if (muscle_value)
+ obstack_sgrow (&table_obstack, muscle_value);
+ else if (!strcmp (muscle_key, "line"))
obstack_fgrow1 (&table_obstack, "%d", line + 1);
- else if (!strcmp (macro_key, "action"))
+ else if (!strcmp (muscle_key, "action"))
{
size_t size = obstack_object_size (&action_obstack);
obstack_grow (&table_obstack,
else
{
obstack_sgrow (&table_obstack, "%%");
- obstack_sgrow (&table_obstack, macro_key);
+ obstack_sgrow (&table_obstack, muscle_key);
}
}
else
/* FIXME. */
-#define MACRO_INSERT_INT(Key, Value) \
-{ \
- obstack_fgrow1 (¯o_obstack, "%d", Value); \
- obstack_1grow (¯o_obstack, 0); \
- macro_insert (Key, obstack_finish (¯o_obstack)); \
+#define MUSCLE_INSERT_INT(Key, Value) \
+{ \
+ obstack_fgrow1 (&muscle_obstack, "%d", Value); \
+ obstack_1grow (&muscle_obstack, 0); \
+ muscle_insert (Key, obstack_finish (&muscle_obstack)); \
}
-#define MACRO_INSERT_STRING(Key, Value) \
-{ \
- obstack_sgrow (¯o_obstack, Value); \
- obstack_1grow (¯o_obstack, 0); \
- macro_insert (Key, obstack_finish (¯o_obstack)); \
+#define MUSCLE_INSERT_STRING(Key, Value) \
+{ \
+ obstack_sgrow (&muscle_obstack, Value); \
+ obstack_1grow (&muscle_obstack, 0); \
+ muscle_insert (Key, obstack_finish (&muscle_obstack)); \
}
-#define MACRO_INSERT_PREFIX(Key, Value) \
+#define MUSCLE_INSERT_PREFIX(Key, Value) \
{ \
- obstack_fgrow2 (¯o_obstack, "%s%s", spec_name_prefix, Value); \
- obstack_1grow (¯o_obstack, 0); \
- macro_insert (Key, obstack_finish (¯o_obstack)); \
+ obstack_fgrow2 (&muscle_obstack, "%s%s", spec_name_prefix, Value); \
+ obstack_1grow (&muscle_obstack, 0); \
+ muscle_insert (Key, obstack_finish (&muscle_obstack)); \
}
static void
prepare (void)
{
- MACRO_INSERT_INT ("last", high);
- MACRO_INSERT_INT ("flag", MINSHORT);
- MACRO_INSERT_INT ("pure", pure_parser);
- MACRO_INSERT_INT ("nsym", nsyms);
- MACRO_INSERT_INT ("debug", debug_flag);
- MACRO_INSERT_INT ("final", final_state);
- MACRO_INSERT_INT ("maxtok", max_user_token_number);
- MACRO_INSERT_INT ("ntbase", ntokens);
- MACRO_INSERT_INT ("verbose", 0);
-
- MACRO_INSERT_INT ("nnts", nvars);
- MACRO_INSERT_INT ("nrules", nrules);
- MACRO_INSERT_INT ("nstates", nstates);
- MACRO_INSERT_INT ("ntokens", ntokens);
-
- MACRO_INSERT_INT ("locations_flag", locations_flag);
+ MUSCLE_INSERT_INT ("last", high);
+ MUSCLE_INSERT_INT ("flag", MINSHORT);
+ MUSCLE_INSERT_INT ("pure", pure_parser);
+ MUSCLE_INSERT_INT ("nsym", nsyms);
+ MUSCLE_INSERT_INT ("debug", debug_flag);
+ MUSCLE_INSERT_INT ("final", final_state);
+ MUSCLE_INSERT_INT ("maxtok", max_user_token_number);
+ MUSCLE_INSERT_INT ("ntbase", ntokens);
+ MUSCLE_INSERT_INT ("verbose", 0);
+
+ MUSCLE_INSERT_INT ("nnts", nvars);
+ MUSCLE_INSERT_INT ("nrules", nrules);
+ MUSCLE_INSERT_INT ("nstates", nstates);
+ MUSCLE_INSERT_INT ("ntokens", ntokens);
+
+ MUSCLE_INSERT_INT ("locations_flag", locations_flag);
if (spec_name_prefix)
- MACRO_INSERT_STRING ("prefix", spec_name_prefix);
+ MUSCLE_INSERT_STRING ("prefix", spec_name_prefix);
}
/*----------------------------------------------------------.
#endif
prepare ();
/* Copy definitions in directive. */
- macro_insert ("prologue", obstack_finish (&attrs_obstack));
+ muscle_insert ("prologue", obstack_finish (&attrs_obstack));
output_parser ();
- obstack_free (¯o_obstack, 0);
+ obstack_free (&muscle_obstack, 0);
obstack_free (&output_obstack, 0);
}
#include "output.h"
#include "reader.h"
#include "conflicts.h"
-#include "macrotab.h"
+#include "muscle_tab.h"
/* Number of slots allocated (but not necessarily used yet) in `rline' */
static int rline_allocated;
if (!no_lines_flag)
obstack_fgrow2 (&attrs_obstack, "\n#line %d %s\n",
lineno, quotearg_style (c_quoting_style,
- macro_find("filename")));
+ muscle_find("filename")));
else
obstack_1grow (&attrs_obstack, '\n');
/* FIXME. */
static void
-parse_macro_decl (void)
+parse_muscle_decl (void)
{
int ch = ungetc (skip_white_space (), finput);
- char* macro_key;
- char* macro_value;
+ char* muscle_key;
+ char* muscle_value;
/* Read key. */
if (!isalpha (ch) && ch != '_')
skip_to_char ('%');
return;
}
- copy_identifier (finput, ¯o_obstack);
- obstack_1grow (¯o_obstack, 0);
- macro_key = obstack_finish (¯o_obstack);
+ copy_identifier (finput, &muscle_obstack);
+ obstack_1grow (&muscle_obstack, 0);
+ muscle_key = obstack_finish (&muscle_obstack);
/* Read value. */
ch = skip_white_space ();
else
fatal (_("Premature EOF after %s"), "\"");
}
- copy_string2 (finput, ¯o_obstack, '"', 0);
- obstack_1grow (¯o_obstack, 0);
- macro_value = obstack_finish (¯o_obstack);
+ copy_string2 (finput, &muscle_obstack, '"', 0);
+ obstack_1grow (&muscle_obstack, 0);
+ muscle_value = obstack_finish (&muscle_obstack);
/* Store the (key, value) pair in the environment. */
- macro_insert (macro_key, macro_value);
+ muscle_insert (muscle_key, muscle_value);
}
break;
case tok_define:
- parse_macro_decl ();
+ parse_muscle_decl ();
break;
case tok_skel:
{
sprintf (buf, "#line %d %s\n",
lineno, quotearg_style (c_quoting_style,
- macro_find ("filename")));
+ muscle_find ("filename")));
obstack_grow (&action_obstack, buf, strlen (buf));
}
obstack_1grow (&action_obstack, '{');
if (!no_lines_flag)
obstack_fgrow2 (&guard_obstack, "#line %d %s\n",
lineno, quotearg_style (c_quoting_style,
- macro_find ("filename")));
+ muscle_find ("filename")));
obstack_1grow (&guard_obstack, '{');
count = 0;
obstack_1grow (&el_obstack, c);
obstack_1grow (&el_obstack, 0);
- macro_insert ("epilogue", obstack_finish (&el_obstack));
+ muscle_insert ("epilogue", obstack_finish (&el_obstack));
}
\f
output_token_defines (&output_obstack);
obstack_1grow (&output_obstack, 0);
- macro_insert ("tokendef", obstack_finish (&output_obstack));
+ muscle_insert ("tokendef", obstack_finish (&output_obstack));
#if 0
if (!no_parser_flag)
init_lex ();
lineno = 1;
- /* Initialize the macro obstack. */
- obstack_init (¯o_obstack);
+ /* Initialize the muscle obstack. */
+ obstack_init (&muscle_obstack);
/* Initialize the symbol table. */
tabinit ();