You should have received a copy of the GNU General Public License
along with Bison; see the file COPYING. If not, write to the Free
- Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- 02111-1307, USA. */
+ Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA. */
#include "system.h"
#include "muscle_tab.h"
#include "output.h"
#include "reader.h"
+#include "scan-skel.h"
#include "symtab.h"
#include "tables.h"
-/* From src/scan-skel.l. */
-void scan_skel (FILE *);
-
static struct obstack format_obstack;
#define GENERATE_MUSCLE_INSERT_TABLE(Name, Type) \
\
static void \
-Name (const char *name, \
+Name (char const *name, \
Type *table_data, \
Type first, \
int begin, \
static void
prepare_symbols (void)
{
+ MUSCLE_INSERT_BOOL ("token_table", token_table_flag);
MUSCLE_INSERT_INT ("tokens_number", ntokens);
MUSCLE_INSERT_INT ("nterms_number", nvars);
MUSCLE_INSERT_INT ("undef_token_number", undeftoken->number);
int j = 2;
for (i = 0; i < nsyms; i++)
{
- char const *tag = symbols[i]->tag;
- char const *cp = (*tag == '"'
- ? tag
- : quotearg_style (c_quoting_style, tag));
+ char const *cp = quotearg_style (c_quoting_style, symbols[i]->tag);
/* Width of the next token, including the two quotes, the
comma and the space. */
int width = strlen (cp) + 2;
out = fdopen (filter_fd[0], "w");
if (! out)
- error (EXIT_FAILURE, get_errno (), "fdopen");
+ error (EXIT_FAILURE, get_errno (),
+ "fdopen");
/* Output the definitions of all the muscles. */
fputs ("m4_init()\n", out);
timevar_push (TV_M4);
in = fdopen (filter_fd[1], "r");
if (! in)
- error (EXIT_FAILURE, get_errno (), "fdopen");
+ error (EXIT_FAILURE, get_errno (),
+ "fdopen");
scan_skel (in);
xfclose (in);
reap_subpipe (pid, m4);
skeleton = "yacc.c";
}
- /* Parse the skeleton file and output the needed parsers. */
- MUSCLE_INSERT_C_STRING ("skeleton", skeleton);
+ /* About the skeletons. */
+ {
+ char const *pkgdatadir = getenv ("BISON_PKGDATADIR");
+ MUSCLE_INSERT_STRING ("pkgdatadir", pkgdatadir ? pkgdatadir : PKGDATADIR);
+ MUSCLE_INSERT_C_STRING ("skeleton", skeleton);
+ }
}