X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/9b3add5bebc553f9bc1a10a9a6a489135f2a9d4d..f377f69fec28013c79db4efe12bbb9d48987fb2c:/src/muscle_tab.h diff --git a/src/muscle_tab.h b/src/muscle_tab.h index da35bbd6..f4a0b96a 100644 --- a/src/muscle_tab.h +++ b/src/muscle_tab.h @@ -1,5 +1,5 @@ /* Definitions for macrotab.c and callers, part of bison, - Copyright 2001 Free Software Foundation, Inc. + Copyright (C) 2001, 2002 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -32,6 +32,11 @@ typedef struct muscle_entry_s void muscle_init PARAMS ((void)); void muscle_insert PARAMS ((const char *key, const char *value)); const char *muscle_find PARAMS ((const char *key)); +void muscle_free PARAMS ((void)); + + +/* An obstack dedicated to receive muscle keys and values. */ +extern struct obstack muscle_obstack; #define MUSCLE_INSERT_INT(Key, Value) \ { \ @@ -40,6 +45,13 @@ const char *muscle_find PARAMS ((const char *key)); muscle_insert (Key, obstack_finish (&muscle_obstack)); \ } +#define MUSCLE_INSERT_LONG_INT(Key, Value) \ +{ \ + obstack_fgrow1 (&muscle_obstack, "%ld", Value); \ + obstack_1grow (&muscle_obstack, 0); \ + muscle_insert (Key, obstack_finish (&muscle_obstack)); \ +} + #define MUSCLE_INSERT_STRING(Key, Value) \ { \ obstack_sgrow (&muscle_obstack, Value); \ @@ -55,4 +67,7 @@ const char *muscle_find PARAMS ((const char *key)); muscle_insert (Key, obstack_finish (&muscle_obstack)); \ } + +void muscles_m4_output PARAMS ((FILE *out)); + #endif /* not MUSCLE_TAB_H_ */