- MUSCLE_INSERT_INT ("locations_flag", locations_flag);
- MUSCLE_INSERT_INT ("defines_flag", defines_flag);
- MUSCLE_INSERT_INT ("error_verbose", error_verbose);
- MUSCLE_INSERT_INT ("pure", pure_parser);
- MUSCLE_INSERT_INT ("debug", debug_flag);
-
- /* FIXME: This is wrong: the muscles should decide whether they hold
- a copy or not, but the situation is too obscure currently. */
- MUSCLE_INSERT_STRING ("prefix", spec_name_prefix ? spec_name_prefix : "yy");
- MUSCLE_INSERT_STRING ("output_infix", output_infix ? output_infix : "");
- MUSCLE_INSERT_STRING ("output_prefix", short_base_name);
- MUSCLE_INSERT_STRING ("output_parser_name", parser_file_name);
- MUSCLE_INSERT_STRING ("output_header_name", spec_defines_file);
+ MUSCLE_INSERT_BOOL ("debug_flag", debug_flag);
+ MUSCLE_INSERT_BOOL ("defines_flag", defines_flag);
+ MUSCLE_INSERT_BOOL ("error_verbose_flag", error_verbose);
+ MUSCLE_INSERT_BOOL ("glr_flag", glr_parser);
+ MUSCLE_INSERT_BOOL ("locations_flag", locations_flag);
+ MUSCLE_INSERT_BOOL ("nondeterministic_flag", nondeterministic_parser);
+ MUSCLE_INSERT_BOOL ("pure_flag", pure_parser);
+ MUSCLE_INSERT_BOOL ("push_flag", push_parser);
+ MUSCLE_INSERT_BOOL ("synclines_flag", !no_lines_flag);
+ MUSCLE_INSERT_BOOL ("tag_seen_flag", tag_seen);
+ MUSCLE_INSERT_BOOL ("yacc_flag", yacc_flag);
+
+ /* File names. */
+ if (spec_name_prefix)
+ MUSCLE_INSERT_STRING ("prefix", spec_name_prefix);
+
+#define DEFINE(Name) MUSCLE_INSERT_STRING (#Name, Name ? Name : "")
+ DEFINE (dir_prefix);
+ DEFINE (parser_file_name);
+ DEFINE (spec_defines_file);
+ DEFINE (spec_file_prefix);
+ DEFINE (spec_graph_file);
+ DEFINE (spec_name_prefix);
+ DEFINE (spec_outfile);
+ DEFINE (spec_verbose_file);
+#undef DEFINE