#include "system.h"
#include "hash.h"
+#include "quotearg.h"
#include "files.h"
#include "muscle_tab.h"
#include "getargs.h"
{
const muscle_entry_t *m1 = x;
const muscle_entry_t *m2 = y;
- return strcmp (m1->key, m2->key) ? FALSE : TRUE;
+ return strcmp (m1->key, m2->key) == 0;
}
static unsigned int
/* Version and input file. */
MUSCLE_INSERT_STRING ("version", VERSION);
- MUSCLE_INSERT_STRING ("filename", infile);
-
- /* FIXME: there should probably be no default here, only in the
- skeletons. */
-
- /* Types. */
- MUSCLE_INSERT_STRING ("ltype", "yyltype");
-
- /* Default #line formatting. */
- MUSCLE_INSERT_STRING ("linef", "#line %d %s\n");
-
- /* Stack parameters. */
- MUSCLE_INSERT_STRING ("maxdepth", "10000");
- MUSCLE_INSERT_STRING ("initdepth", "200");
-
- /* C++ macros. */
- MUSCLE_INSERT_STRING ("name", "Parser");
+ MUSCLE_INSERT_C_STRING ("filename", grammar_file);
}
{
/* Grow the current value. */
char *new_val;
- fprintf (stderr, "<= %s + %s\n", entry->value, val);
obstack_sgrow (&muscle_obstack, entry->value);
free (entry->value);
obstack_sgrow (&muscle_obstack, separator);
obstack_1grow (&muscle_obstack, 0);
new_val = obstack_finish (&muscle_obstack);
entry->value = xstrdup (new_val);
- fprintf (stderr, "=> %s\n", new_val);
obstack_free (&muscle_obstack, new_val);
}
}
void muscle_pair_list_grow (const char *muscle,
const char *a1, const char *a2)
{
- char *val;
+ char *pair;
obstack_fgrow2 (&muscle_obstack, "[[[%s]], [[%s]]]", a1, a2);
obstack_1grow (&muscle_obstack, 0);
- val = obstack_finish (&muscle_obstack);
- muscle_grow (muscle, val, ",\n");
- obstack_free (&muscle_obstack, val);
+ pair = obstack_finish (&muscle_obstack);
+ muscle_grow (muscle, pair, ",\n");
+ obstack_free (&muscle_obstack, pair);
}
/*-------------------------------.