69 |
/* FIXME: there should probably be no default here, only in the |
/* FIXME: there should probably be no default here, only in the |
70 |
skeletons. */ |
skeletons. */ |
71 |
|
|
|
/* Types. */ |
|
|
MUSCLE_INSERT_STRING ("ltype", "yyltype"); |
|
|
|
|
72 |
/* Default #line formatting. */ |
/* Default #line formatting. */ |
73 |
MUSCLE_INSERT_STRING ("linef", "#line %d %s\n"); |
MUSCLE_INSERT_STRING ("linef", "#line %d %s\n"); |
|
|
|
|
/* Stack parameters. */ |
|
|
MUSCLE_INSERT_STRING ("maxdepth", "10000"); |
|
|
MUSCLE_INSERT_STRING ("initdepth", "200"); |
|
|
|
|
|
/* C++ macros. */ |
|
|
MUSCLE_INSERT_STRING ("name", "Parser"); |
|
74 |
} |
} |
75 |
|
|
76 |
|
|
163 |
void muscle_pair_list_grow (const char *muscle, |
void muscle_pair_list_grow (const char *muscle, |
164 |
const char *a1, const char *a2) |
const char *a1, const char *a2) |
165 |
{ |
{ |
166 |
char *val; |
char *pair; |
167 |
obstack_fgrow2 (&muscle_obstack, "[[[%s]], [[%s]]]", a1, a2); |
obstack_fgrow2 (&muscle_obstack, "[[[%s]], [[%s]]]", a1, a2); |
168 |
obstack_1grow (&muscle_obstack, 0); |
obstack_1grow (&muscle_obstack, 0); |
169 |
val = obstack_finish (&muscle_obstack); |
pair = obstack_finish (&muscle_obstack); |
170 |
muscle_grow (muscle, val, ",\n"); |
muscle_grow (muscle, pair, ",\n"); |
171 |
obstack_free (&muscle_obstack, val); |
obstack_free (&muscle_obstack, pair); |
172 |
} |
} |
173 |
|
|
174 |
/*-------------------------------. |
/*-------------------------------. |