1 |
/* Muscle table manager for Bison, |
/* Muscle table manager for Bison, |
2 |
Copyright (C) 2001, 2002 Free Software Foundation, Inc. |
Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. |
3 |
|
|
4 |
This file is part of Bison, the GNU Compiler Compiler. |
This file is part of Bison, the GNU Compiler Compiler. |
5 |
|
|
53 |
|
|
54 |
#define MUSCLE_OBSTACK_SGROW(Obstack, Value) \ |
#define MUSCLE_OBSTACK_SGROW(Obstack, Value) \ |
55 |
{ \ |
{ \ |
56 |
char const *s; \ |
char const *p; \ |
57 |
for (s = Value; *s; s++) \ |
for (p = Value; *p; p++) \ |
58 |
switch (*s) \ |
switch (*p) \ |
59 |
{ \ |
{ \ |
60 |
case '$': obstack_sgrow (Obstack, "$]["); break; \ |
case '$': obstack_sgrow (Obstack, "$]["); break; \ |
61 |
case '@': obstack_sgrow (Obstack, "@@" ); break; \ |
case '@': obstack_sgrow (Obstack, "@@" ); break; \ |
62 |
case '[': obstack_sgrow (Obstack, "@{" ); break; \ |
case '[': obstack_sgrow (Obstack, "@{" ); break; \ |
63 |
case ']': obstack_sgrow (Obstack, "@}" ); break; \ |
case ']': obstack_sgrow (Obstack, "@}" ); break; \ |
64 |
default: obstack_1grow (Obstack, *s); break; \ |
default: obstack_1grow (Obstack, *p); break; \ |
65 |
} \ |
} \ |
66 |
} |
} |
67 |
|
|