X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/d782395d52519fabb2cac3bd479246cc6de7efa8..6130b75585cad5f4bb2ee78875a0bfe109b2a3e3:/src/muscle_tab.h?ds=sidebyside diff --git a/src/muscle_tab.h b/src/muscle_tab.h index c2881577..2f1e51e6 100644 --- a/src/muscle_tab.h +++ b/src/muscle_tab.h @@ -1,5 +1,5 @@ /* Muscle table manager for Bison, - Copyright (C) 2001, 2002, 2003, 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2003, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -51,6 +51,7 @@ do { \ muscle_insert (Key, obstack_finish (&muscle_obstack)); \ } while(0) +/* Key -> Value, but don't apply escaping to Value. */ #define MUSCLE_INSERT_STRING_RAW(Key, Value) \ do { \ obstack_sgrow (&muscle_obstack, Value); \ @@ -58,6 +59,7 @@ do { \ muscle_insert (Key, obstack_finish (&muscle_obstack)); \ } while(0) +/* Key -> Value, applying M4 escaping to Value. */ #define MUSCLE_INSERT_STRING(Key, Value) \ do { \ MUSCLE_OBSTACK_SGROW (&muscle_obstack, Value); \ @@ -136,6 +138,22 @@ void muscle_percent_define_insert (char const *variable, location variable_loc, freeing the memory of the returned string. */ char *muscle_percent_define_get (char const *variable); +/* Mimic muscle_percent_define_get_loc in ../data/bison.m4 exactly. That is, + if the %define variable VARIABLE is undefined, complain fatally since that's + a Bison error. Otherwise, return its definition location in a form + approriate for the first argument of warn_at, complain_at, or fatal_at. + Don't record this as a Bison usage of VARIABLE as there's no reason to + suspect that the user-supplied value has yet influenced the output. */ +location muscle_percent_define_get_loc (char const *variable); + +/* Mimic muscle_percent_define_get_syncline in ../data/bison.m4 exactly. That + is, if the %define variable VARIABLE is undefined, complain fatally since + that's a Bison error. Otherwise, return its definition location as a + b4_syncline invocation. Don't record this as a Bison usage of VARIABLE as + there's no reason to suspect that the user-supplied value has yet influenced + the output. */ +char const *muscle_percent_define_get_syncline (char const *variable); + /* Mimic b4_percent_define_ifdef in ../data/bison.m4 exactly. That is, if the %define variable VARIABLE is defined, return true. Otherwise, return false. Also, record Bison's usage of VARIABLE by defining