Document return values
[ACE_TAO.git] / ACE / ace / Svc_Conf_y.cpp
bloba95c7f2d1fd8e2e84823fc9a3f3a3498f8b7d916
1 /* A Bison parser, made by GNU Bison 2.3. */
3 /* Skeleton implementation for Bison's Yacc-like parsers in C
5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6 Free Software Foundation, Inc.
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2, or (at your option)
11 any later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 Boston, MA 02110-1301, USA. */
23 /* As a special exception, you may create a larger work that contains
24 part or all of the Bison parser skeleton and distribute that work
25 under terms of your choice, so long as that work isn't itself a
26 parser generator using the skeleton or a modified version thereof
27 as a parser skeleton. Alternatively, if you modify or redistribute
28 the parser skeleton itself, you may (at your option) remove this
29 special exception, which will cause the skeleton and the resulting
30 Bison output files to be licensed under the GNU General Public
31 License without this special exception.
33 This special exception was added by the Free Software Foundation in
34 version 2.2 of Bison. */
36 /* C LALR(1) parser skeleton written by Richard Stallman, by
37 simplifying the original so-called "semantic" parser. */
39 /* All symbols defined below should begin with ace_yy or YY, to avoid
40 infringing on user name space. This should be done even for local
41 variables, as they might otherwise be expanded by user macros.
42 There are some unavoidable exceptions within include files to
43 define necessary library symbols; they are noted "INFRINGES ON
44 USER NAME SPACE" below. */
46 /* Identify Bison output. */
47 #define YYBISON 1
49 /* Bison version. */
50 #define YYBISON_VERSION "2.3"
52 /* Skeleton name. */
53 #define YYSKELETON_NAME "yacc.c"
55 /* Pure parsers. */
56 #define YYPURE 1
58 /* Using locations. */
59 #define YYLSP_NEEDED 0
62 /* Tokens. */
63 #ifndef YYTOKENTYPE
64 # define YYTOKENTYPE
65 /* Put the tokens into the symbol table, so that GDB and other debuggers
66 know about them. */
67 enum ace_yytokentype {
68 ACE_DYNAMIC = 258,
69 ACE_STATIC = 259,
70 ACE_SUSPEND = 260,
71 ACE_RESUME = 261,
72 ACE_REMOVE = 262,
73 ACE_USTREAM = 263,
74 ACE_MODULE_T = 264,
75 ACE_STREAM_T = 265,
76 ACE_SVC_OBJ_T = 266,
77 ACE_ACTIVE = 267,
78 ACE_INACTIVE = 268,
79 ACE_PATHNAME = 269,
80 ACE_IDENT = 270,
81 ACE_STRING = 271
83 #endif
84 /* Tokens. */
85 #define ACE_DYNAMIC 258
86 #define ACE_STATIC 259
87 #define ACE_SUSPEND 260
88 #define ACE_RESUME 261
89 #define ACE_REMOVE 262
90 #define ACE_USTREAM 263
91 #define ACE_MODULE_T 264
92 #define ACE_STREAM_T 265
93 #define ACE_SVC_OBJ_T 266
94 #define ACE_ACTIVE 267
95 #define ACE_INACTIVE 268
96 #define ACE_PATHNAME 269
97 #define ACE_IDENT 270
98 #define ACE_STRING 271
102 /* Copy the first part of user declarations. */
105 #include "ace/Svc_Conf.h"
107 #if (ACE_USES_CLASSIC_SVC_CONF == 1)
109 #include "ace/Module.h"
110 #include "ace/Stream.h"
111 #include "ace/Service_Types.h"
112 #include "ace/ace_wchar.h"
115 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
117 // Prototypes.
119 static ACE_Module_Type *
120 ace_get_module (ACE_Service_Type const * sr,
121 ACE_TCHAR const * svc_name,
122 int & ace_ace_yyerrno);
124 #define YYDEBUG_LEXER_TEXT (ace_yytext[ace_yyleng] = '\0', ace_yytext)
126 // Force the pretty debugging code to compile.
127 // #define YYDEBUG 1
129 // Bison 2.3 template contains switch statement with a "default:", but
130 // without a "case:" label. Suppressing a compiler warning for Visual
131 // C++.
132 #if defined (_MSC_VER)
133 # pragma warning ( disable : 4065 )
134 #endif
136 // Normalize the message literal's type to match ace_yyerror() prototype
137 #define YY_ ACE_TEXT
139 // Prevent yacc(1) from declaring a trivial YYSTYPE just because
140 // YYSTYPE is not a macro definition. On the other hand we want
141 // YYSTYPE_IS_DECLARED to be as localized as possible to avoid
142 // poluting the global namespace - there may be other yacc(1) parsers
143 // that want to play nice with ACE
144 #define YYSTYPE_IS_DECLARED
146 ACE_END_VERSIONED_NAMESPACE_DECL
148 /* Enabling traces. */
149 #ifndef YYDEBUG
150 # define YYDEBUG 0
151 #endif
153 /* Enabling verbose error messages. */
154 #ifdef YYERROR_VERBOSE
155 # undef YYERROR_VERBOSE
156 # define YYERROR_VERBOSE 1
157 #else
158 # define YYERROR_VERBOSE 0
159 #endif
161 /* Enabling the token table. */
162 #ifndef YYTOKEN_TABLE
163 # define YYTOKEN_TABLE 0
164 #endif
166 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
167 typedef int YYSTYPE;
168 # define ace_yystype YYSTYPE /* obsolescent; will be withdrawn */
169 # define YYSTYPE_IS_DECLARED 1
170 # define YYSTYPE_IS_TRIVIAL 1
171 #endif
174 /* Copy the second part of user declarations. */
177 /* Line 216 of yacc.c. */
180 #ifdef short
181 # undef short
182 #endif
184 #ifdef YYTYPE_UINT8
185 typedef YYTYPE_UINT8 ace_yytype_uint8;
186 #else
187 using ace_yytype_uint8 = unsigned char;
188 #endif
190 #ifdef YYTYPE_INT8
191 typedef YYTYPE_INT8 ace_yytype_int8;
192 #elif (defined __STDC__ || defined __C99__FUNC__ \
193 || defined __cplusplus || defined _MSC_VER)
194 using ace_yytype_int8 = signed char;
195 #else
196 typedef short int ace_yytype_int8;
197 #endif
199 #ifdef YYTYPE_UINT16
200 typedef YYTYPE_UINT16 ace_yytype_uint16;
201 #else
202 using ace_yytype_uint16 = unsigned short;
203 #endif
205 #ifdef YYTYPE_INT16
206 typedef YYTYPE_INT16 ace_yytype_int16;
207 #else
208 using ace_yytype_int16 = short;
209 #endif
211 #ifndef YYSIZE_T
212 # ifdef __SIZE_TYPE__
213 # define YYSIZE_T __SIZE_TYPE__
214 # elif defined size_t
215 # define YYSIZE_T size_t
216 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
217 || defined __cplusplus || defined _MSC_VER)
218 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
219 # define YYSIZE_T size_t
220 # else
221 # define YYSIZE_T unsigned int
222 # endif
223 #endif
225 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
227 #ifndef YY_
228 # if YYENABLE_NLS
229 # if ENABLE_NLS
230 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
231 # define YY_(msgid) dgettext ("bison-runtime", msgid)
232 # endif
233 # endif
234 # ifndef YY_
235 # define YY_(msgid) msgid
236 # endif
237 #endif
239 /* Suppress unused-variable warnings by "using" E. */
240 #if ! defined lint || defined __GNUC__
241 # define YYUSE(e) ((void) (e))
242 #else
243 # define YYUSE(e) /* empty */
244 #endif
246 /* Identity function, used to suppress warnings about constant conditions. */
247 #ifndef lint
248 # define YYID(n) (n)
249 #else
250 #if (defined __STDC__ || defined __C99__FUNC__ \
251 || defined __cplusplus || defined _MSC_VER)
252 static int
253 YYID (int i)
254 #else
255 static int
256 YYID (i)
257 int i;
258 #endif
260 return i;
262 #endif
264 #if ! defined ace_yyoverflow || YYERROR_VERBOSE
266 /* The parser invokes alloca or malloc; define the necessary symbols. */
268 # ifdef YYSTACK_USE_ALLOCA
269 # if YYSTACK_USE_ALLOCA
270 # ifdef __GNUC__
271 # define YYSTACK_ALLOC __builtin_alloca
272 # elif defined __BUILTIN_VA_ARG_INCR
273 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
274 # elif defined _AIX
275 # define YYSTACK_ALLOC __alloca
276 # elif defined _MSC_VER
277 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
278 # define alloca _alloca
279 # else
280 # define YYSTACK_ALLOC alloca
281 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
282 || defined __cplusplus || defined _MSC_VER)
283 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
284 # ifndef _STDLIB_H
285 # define _STDLIB_H 1
286 # endif
287 # endif
288 # endif
289 # endif
290 # endif
292 # ifdef YYSTACK_ALLOC
293 /* Pacify GCC's `empty if-body' warning. */
294 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
295 # ifndef YYSTACK_ALLOC_MAXIMUM
296 /* The OS might guarantee only one guard page at the bottom of the stack,
297 and a page size can be as small as 4096 bytes. So we cannot safely
298 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
299 to allow for a few compiler-allocated temporary stack slots. */
300 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
301 # endif
302 # else
303 # define YYSTACK_ALLOC YYMALLOC
304 # define YYSTACK_FREE YYFREE
305 # ifndef YYSTACK_ALLOC_MAXIMUM
306 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
307 # endif
308 # if (defined __cplusplus && ! defined _STDLIB_H \
309 && ! ((defined YYMALLOC || defined malloc) \
310 && (defined YYFREE || defined free)))
311 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
312 # ifndef _STDLIB_H
313 # define _STDLIB_H 1
314 # endif
315 # endif
316 # ifndef YYMALLOC
317 # define YYMALLOC malloc
318 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
319 || defined __cplusplus || defined _MSC_VER)
320 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
321 # endif
322 # endif
323 # ifndef YYFREE
324 # define YYFREE free
325 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
326 || defined __cplusplus || defined _MSC_VER)
327 void free (void *); /* INFRINGES ON USER NAME SPACE */
328 # endif
329 # endif
330 # endif
331 #endif /* ! defined ace_yyoverflow || YYERROR_VERBOSE */
334 #if (! defined ace_yyoverflow \
335 && (! defined __cplusplus \
336 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
338 /* A type that is properly aligned for any stack member. */
339 union ace_yyalloc
341 ace_yytype_int16 ace_yyss;
342 YYSTYPE ace_yyvs;
345 /* The size of the maximum gap between one aligned stack and the next. */
346 # define YYSTACK_GAP_MAXIMUM (sizeof (union ace_yyalloc) - 1)
348 /* The size of an array large to enough to hold all stacks, each with
349 N elements. */
350 # define YYSTACK_BYTES(N) \
351 ((N) * (sizeof (ace_yytype_int16) + sizeof (YYSTYPE)) \
352 + YYSTACK_GAP_MAXIMUM)
354 /* Copy COUNT objects from FROM to TO. The source and destination do
355 not overlap. */
356 # ifndef YYCOPY
357 # if defined __GNUC__ && 1 < __GNUC__
358 # define YYCOPY(To, From, Count) \
359 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
360 # else
361 # define YYCOPY(To, From, Count) \
362 do \
364 YYSIZE_T ace_yyi; \
365 for (ace_yyi = 0; ace_yyi < (Count); ace_yyi++) \
366 (To)[ace_yyi] = (From)[ace_yyi]; \
368 while (YYID (0))
369 # endif
370 # endif
372 /* Relocate STACK from its old location to the new one. The
373 local variables YYSIZE and YYSTACKSIZE give the old and new number of
374 elements in the stack, and YYPTR gives the new location of the
375 stack. Advance YYPTR to a properly aligned location for the next
376 stack. */
377 # define YYSTACK_RELOCATE(Stack) \
378 do \
380 YYSIZE_T ace_yynewbytes; \
381 YYCOPY (&ace_yyptr->Stack, Stack, ace_yysize); \
382 Stack = &ace_yyptr->Stack; \
383 ace_yynewbytes = ace_yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
384 ace_yyptr += ace_yynewbytes / sizeof (*ace_yyptr); \
386 while (YYID (0))
388 #endif
390 /* YYFINAL -- State number of the termination state. */
391 #define YYFINAL 2
392 /* YYLAST -- Last index in YYTABLE. */
393 #define YYLAST 62
395 /* YYNTOKENS -- Number of terminals. */
396 #define YYNTOKENS 23
397 /* YYNNTS -- Number of nonterminals. */
398 #define YYNNTS 21
399 /* YYNRULES -- Number of rules. */
400 #define YYNRULES 45
401 /* YYNRULES -- Number of states. */
402 #define YYNSTATES 66
404 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
405 #define YYUNDEFTOK 2
406 #define YYMAXUTOK 271
408 #define YYTRANSLATE(YYX) \
409 ((unsigned int) (YYX) <= YYMAXUTOK ? ace_yytranslate[YYX] : YYUNDEFTOK)
411 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
412 static const ace_yytype_uint8 ace_yytranslate[] =
414 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
415 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
416 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
417 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
418 20, 21, 22, 2, 2, 2, 2, 2, 2, 2,
419 2, 2, 2, 2, 2, 2, 2, 2, 19, 2,
420 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
421 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
422 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
423 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
424 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
425 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
426 2, 2, 2, 17, 2, 18, 2, 2, 2, 2,
427 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
428 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
429 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
430 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
431 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
432 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
433 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
434 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
435 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
436 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
437 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
438 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
439 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
440 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
441 15, 16
444 #if YYDEBUG
445 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
446 YYRHS. */
447 static const ace_yytype_uint8 ace_yyprhs[] =
449 0, 0, 3, 6, 9, 10, 12, 14, 16, 18,
450 20, 22, 26, 30, 33, 36, 39, 43, 44, 49,
451 51, 53, 54, 59, 60, 63, 64, 66, 68, 70,
452 72, 74, 79, 81, 83, 84, 88, 94, 99, 102,
453 105, 108, 110, 111, 113, 115
456 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
457 static const ace_yytype_int8 ace_yyrhs[] =
459 24, 0, -1, 24, 25, -1, 24, 1, -1, -1,
460 26, -1, 27, -1, 28, -1, 29, -1, 30, -1,
461 31, -1, 3, 38, 42, -1, 4, 15, 42, -1,
462 5, 15, -1, 6, 15, -1, 7, 15, -1, 8,
463 33, 34, -1, -1, 8, 15, 32, 34, -1, 26,
464 -1, 27, -1, -1, 17, 35, 36, 18, -1, -1,
465 36, 37, -1, -1, 26, -1, 27, -1, 28, -1,
466 29, -1, 30, -1, 15, 41, 40, 39, -1, 12,
467 -1, 13, -1, -1, 43, 19, 15, -1, 43, 19,
468 15, 20, 21, -1, 19, 15, 20, 21, -1, 9,
469 22, -1, 11, 22, -1, 10, 22, -1, 16, -1,
470 -1, 14, -1, 15, -1, 16, -1
473 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
474 static const ace_yytype_uint16 ace_yyrline[] =
476 0, 72, 72, 81, 85, 89, 90, 91, 92, 93,
477 94, 98, 108, 115, 122, 129, 136, 140, 140, 147,
478 150, 157, 156, 166, 170, 178, 182, 185, 199, 208,
479 217, 239, 246, 250, 255, 261, 265, 269, 276, 280,
480 284, 291, 292, 296, 297, 298
482 #endif
484 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
485 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
486 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
487 static const char *const ace_yytname[] =
489 "$end", "error", "$undefined", "ACE_DYNAMIC", "ACE_STATIC",
490 "ACE_SUSPEND", "ACE_RESUME", "ACE_REMOVE", "ACE_USTREAM", "ACE_MODULE_T",
491 "ACE_STREAM_T", "ACE_SVC_OBJ_T", "ACE_ACTIVE", "ACE_INACTIVE",
492 "ACE_PATHNAME", "ACE_IDENT", "ACE_STRING", "'{'", "'}'", "':'", "'('",
493 "')'", "'*'", "$accept", "svc_config_entries", "svc_config_entry",
494 "dynamic", "static", "suspend", "resume", "remove", "stream", "@1",
495 "stream_ops", "stream_modules", "@2", "module_list", "module",
496 "svc_location", "status", "svc_initializer", "type", "parameters_opt",
497 "pathname", 0
499 #endif
501 # ifdef YYPRINT
502 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
503 token YYLEX-NUM. */
504 static const ace_yytype_uint16 ace_yytoknum[] =
506 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
507 265, 266, 267, 268, 269, 270, 271, 123, 125, 58,
508 40, 41, 42
510 # endif
512 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
513 static const ace_yytype_uint8 ace_yyr1[] =
515 0, 23, 24, 24, 24, 25, 25, 25, 25, 25,
516 25, 26, 27, 28, 29, 30, 31, 32, 31, 33,
517 33, 35, 34, 34, 36, 36, 37, 37, 37, 37,
518 37, 38, 39, 39, 39, 40, 40, 40, 41, 41,
519 41, 42, 42, 43, 43, 43
522 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
523 static const ace_yytype_uint8 ace_yyr2[] =
525 0, 2, 2, 2, 0, 1, 1, 1, 1, 1,
526 1, 3, 3, 2, 2, 2, 3, 0, 4, 1,
527 1, 0, 4, 0, 2, 0, 1, 1, 1, 1,
528 1, 4, 1, 1, 0, 3, 5, 4, 2, 2,
529 2, 1, 0, 1, 1, 1
532 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
533 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
534 means the default is an error. */
535 static const ace_yytype_uint8 ace_yydefact[] =
537 4, 0, 1, 3, 0, 0, 0, 0, 0, 0,
538 2, 5, 6, 7, 8, 9, 10, 0, 42, 42,
539 13, 14, 15, 17, 19, 20, 23, 0, 0, 0,
540 0, 41, 11, 12, 23, 21, 16, 38, 40, 39,
541 43, 44, 45, 0, 34, 0, 18, 25, 0, 32,
542 33, 31, 0, 0, 0, 35, 22, 26, 27, 28,
543 29, 30, 24, 37, 0, 36
546 /* YYDEFGOTO[NTERM-NUM]. */
547 static const ace_yytype_int8 ace_yydefgoto[] =
549 -1, 1, 10, 11, 12, 13, 14, 15, 16, 34,
550 26, 36, 47, 53, 62, 18, 51, 44, 30, 32,
554 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
555 STATE-NUM. */
556 #define YYPACT_NINF -13
557 static const ace_yytype_int8 ace_yypact[] =
559 -13, 20, -13, -13, 1, 3, 7, 14, 18, 4,
560 -13, -13, -13, -13, -13, -13, -13, 21, 19, 19,
561 -13, -13, -13, -13, -13, -13, -2, 12, 15, 16,
562 -5, -13, -13, -13, -2, -13, -13, -13, -13, -13,
563 -13, -13, -13, 24, 0, 17, -13, -13, 22, -13,
564 -13, -13, 25, -1, 26, 23, -13, -13, -13, -13,
565 -13, -13, -13, -13, 27, -13
568 /* YYPGOTO[NTERM-NUM]. */
569 static const ace_yytype_int8 ace_yypgoto[] =
571 -13, -13, -13, -9, -8, -12, -7, -4, -13, -13,
572 -13, 28, -13, -13, -13, -13, -13, -13, -13, 31,
576 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
577 positive, shift that token. If negative, reduce the rule which
578 number is the opposite. If zero, do what YYDEFACT says.
579 If YYTABLE_NINF, syntax error. */
580 #define YYTABLE_NINF -1
581 static const ace_yytype_uint8 ace_yytable[] =
583 24, 25, 4, 5, 6, 7, 8, 4, 5, 40,
584 41, 42, 49, 50, 43, 35, 17, 56, 19, 23,
585 2, 3, 20, 4, 5, 6, 7, 8, 9, 21,
586 27, 28, 29, 22, 37, 31, 52, 38, 39, 48,
587 55, 59, 54, 64, 57, 58, 60, 63, 65, 61,
588 33, 0, 0, 0, 0, 0, 0, 0, 0, 0,
589 0, 0, 46
592 static const ace_yytype_int8 ace_yycheck[] =
594 9, 9, 3, 4, 5, 6, 7, 3, 4, 14,
595 15, 16, 12, 13, 19, 17, 15, 18, 15, 15,
596 0, 1, 15, 3, 4, 5, 6, 7, 8, 15,
597 9, 10, 11, 15, 22, 16, 19, 22, 22, 15,
598 15, 53, 20, 20, 53, 53, 53, 21, 21, 53,
599 19, -1, -1, -1, -1, -1, -1, -1, -1, -1,
600 -1, -1, 34
603 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
604 symbol of state STATE-NUM. */
605 static const ace_yytype_uint8 ace_yystos[] =
607 0, 24, 0, 1, 3, 4, 5, 6, 7, 8,
608 25, 26, 27, 28, 29, 30, 31, 15, 38, 15,
609 15, 15, 15, 15, 26, 27, 33, 9, 10, 11,
610 41, 16, 42, 42, 32, 17, 34, 22, 22, 22,
611 14, 15, 16, 19, 40, 43, 34, 35, 15, 12,
612 13, 39, 19, 36, 20, 15, 18, 26, 27, 28,
613 29, 30, 37, 21, 20, 21
616 #define ace_yyerrok (ace_yyerrstatus = 0)
617 #define ace_yyclearin (ace_yychar = YYEMPTY)
618 #define YYEMPTY (-2)
619 #define YYEOF 0
621 #define YYACCEPT goto ace_yyacceptlab
622 #define YYABORT goto ace_yyabortlab
623 #define YYERROR goto ace_yyerrorlab
626 /* Like YYERROR except do call ace_yyerror. This remains here temporarily
627 to ease the transition to the new meaning of YYERROR, for GCC.
628 Once GCC version 2 has supplanted version 1, this can go. */
630 #define YYFAIL goto ace_yyerrlab
632 #define YYRECOVERING() (!!ace_yyerrstatus)
634 #define YYBACKUP(Token, Value) \
635 do \
636 if (ace_yychar == YYEMPTY && ace_yylen == 1) \
638 ace_yychar = (Token); \
639 ace_yylval = (Value); \
640 ace_yytoken = YYTRANSLATE (ace_yychar); \
641 YYPOPSTACK (1); \
642 goto ace_yybackup; \
644 else \
646 ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, YY_("syntax error: cannot back up")); \
647 YYERROR; \
649 while (YYID (0))
652 #define YYTERROR 1
653 #define YYERRCODE 256
656 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
657 If N is 0, then set CURRENT to the empty location which ends
658 the previous symbol: RHS[0] (always defined). */
660 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
661 #ifndef YYLLOC_DEFAULT
662 # define YYLLOC_DEFAULT(Current, Rhs, N) \
663 do \
664 if (YYID (N)) \
666 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
667 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
668 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
669 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
671 else \
673 (Current).first_line = (Current).last_line = \
674 YYRHSLOC (Rhs, 0).last_line; \
675 (Current).first_column = (Current).last_column = \
676 YYRHSLOC (Rhs, 0).last_column; \
678 while (YYID (0))
679 #endif
682 /* YY_LOCATION_PRINT -- Print the location on the stream.
683 This macro was not mandated originally: define only if we know
684 we won't break user code: when these are the locations we know. */
686 #ifndef YY_LOCATION_PRINT
687 # if YYLTYPE_IS_TRIVIAL
688 # define YY_LOCATION_PRINT(File, Loc) \
689 ACE_OS::fprintf (File, "%d.%d-%d.%d", \
690 (Loc).first_line, (Loc).first_column, \
691 (Loc).last_line, (Loc).last_column)
692 # else
693 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
694 # endif
695 #endif
698 /* YYLEX -- calling `ace_yylex' with the right arguments. */
700 #ifdef YYLEX_PARAM
701 # define YYLEX ace_yylex (&ace_yylval, YYLEX_PARAM)
702 #else
703 # define YYLEX ace_yylex (&ace_yylval)
704 #endif
706 /* Enable debugging if requested. */
707 #if YYDEBUG
709 # ifndef YYFPRINTF
710 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
711 # define YYFPRINTF ACE_OS::fprintf
712 # endif
714 # define YYDPRINTF(Args) \
715 do { \
716 if (ace_yydebug) \
717 YYFPRINTF Args; \
718 } while (YYID (0))
720 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
721 do { \
722 if (ace_yydebug) \
724 YYFPRINTF (stderr, "%s ", Title); \
725 ace_yy_symbol_print (stderr, \
726 Type, Value); \
727 YYFPRINTF (stderr, "\n"); \
729 } while (YYID (0))
732 /*--------------------------------.
733 | Print this symbol on YYOUTPUT. |
734 `--------------------------------*/
736 /*ARGSUSED*/
737 #if (defined __STDC__ || defined __C99__FUNC__ \
738 || defined __cplusplus || defined _MSC_VER)
739 static void
740 ace_yy_symbol_value_print (FILE *ace_yyoutput, int ace_yytype, YYSTYPE const * const ace_yyvaluep)
741 #else
742 static void
743 ace_yy_symbol_value_print (ace_yyoutput, ace_yytype, ace_yyvaluep)
744 FILE *ace_yyoutput;
745 int ace_yytype;
746 YYSTYPE const * const ace_yyvaluep;
747 #endif
749 if (!ace_yyvaluep)
750 return;
751 # ifdef YYPRINT
752 if (ace_yytype < YYNTOKENS)
753 YYPRINT (ace_yyoutput, ace_yytoknum[ace_yytype], *ace_yyvaluep);
754 # else
755 YYUSE (ace_yyoutput);
756 # endif
757 switch (ace_yytype)
759 default:
760 break;
765 /*--------------------------------.
766 | Print this symbol on YYOUTPUT. |
767 `--------------------------------*/
769 #if (defined __STDC__ || defined __C99__FUNC__ \
770 || defined __cplusplus || defined _MSC_VER)
771 static void
772 ace_yy_symbol_print (FILE *ace_yyoutput, int ace_yytype, YYSTYPE const * const ace_yyvaluep)
773 #else
774 static void
775 ace_yy_symbol_print (ace_yyoutput, ace_yytype, ace_yyvaluep)
776 FILE *ace_yyoutput;
777 int ace_yytype;
778 YYSTYPE const * const ace_yyvaluep;
779 #endif
781 if (ace_yytype < YYNTOKENS)
782 YYFPRINTF (ace_yyoutput, "token %s (", ace_yytname[ace_yytype]);
783 else
784 YYFPRINTF (ace_yyoutput, "nterm %s (", ace_yytname[ace_yytype]);
786 ace_yy_symbol_value_print (ace_yyoutput, ace_yytype, ace_yyvaluep);
787 YYFPRINTF (ace_yyoutput, ")");
790 /*------------------------------------------------------------------.
791 | ace_yy_stack_print -- Print the state stack from its BOTTOM up to its |
792 | TOP (included). |
793 `------------------------------------------------------------------*/
795 #if (defined __STDC__ || defined __C99__FUNC__ \
796 || defined __cplusplus || defined _MSC_VER)
797 static void
798 ace_yy_stack_print (ace_yytype_int16 *bottom, ace_yytype_int16 *top)
799 #else
800 static void
801 ace_yy_stack_print (bottom, top)
802 ace_yytype_int16 *bottom;
803 ace_yytype_int16 *top;
804 #endif
806 YYFPRINTF (stderr, "Stack now");
807 for (; bottom <= top; ++bottom)
808 YYFPRINTF (stderr, " %d", *bottom);
809 YYFPRINTF (stderr, "\n");
812 # define YY_STACK_PRINT(Bottom, Top) \
813 do { \
814 if (ace_yydebug) \
815 ace_yy_stack_print ((Bottom), (Top)); \
816 } while (YYID (0))
819 /*------------------------------------------------.
820 | Report that the YYRULE is going to be reduced. |
821 `------------------------------------------------*/
823 #if (defined __STDC__ || defined __C99__FUNC__ \
824 || defined __cplusplus || defined _MSC_VER)
825 static void
826 ace_yy_reduce_print (YYSTYPE *ace_yyvsp, int ace_yyrule)
827 #else
828 static void
829 ace_yy_reduce_print (ace_yyvsp, ace_yyrule)
830 YYSTYPE *ace_yyvsp;
831 int ace_yyrule;
832 #endif
834 int ace_yynrhs = ace_yyr2[ace_yyrule];
835 int ace_yyi;
836 unsigned long int ace_yylno = ace_yyrline[ace_yyrule];
837 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
838 ace_yyrule - 1, ace_yylno);
839 /* The symbols being reduced. */
840 for (ace_yyi = 0; ace_yyi < ace_yynrhs; ace_yyi++)
842 ACE_OS::fprintf (stderr, " $%d = ", ace_yyi + 1);
843 ace_yy_symbol_print (stderr, ace_yyrhs[ace_yyprhs[ace_yyrule] + ace_yyi],
844 &(ace_yyvsp[(ace_yyi + 1) - (ace_yynrhs)])
846 ACE_OS::fprintf (stderr, "\n");
850 # define YY_REDUCE_PRINT(Rule) \
851 do { \
852 if (ace_yydebug) \
853 ace_yy_reduce_print (ace_yyvsp, Rule); \
854 } while (YYID (0))
856 /* Nonzero means print parse trace. It is left uninitialized so that
857 multiple parsers can coexist. */
858 int ace_yydebug;
859 #else /* !YYDEBUG */
860 # define YYDPRINTF(Args)
861 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
862 # define YY_STACK_PRINT(Bottom, Top)
863 # define YY_REDUCE_PRINT(Rule)
864 #endif /* !YYDEBUG */
867 /* YYINITDEPTH -- initial size of the parser's stacks. */
868 #ifndef YYINITDEPTH
869 # define YYINITDEPTH 200
870 #endif
872 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
873 if the built-in stack extension method is used).
875 Do not make this value too large; the results are undefined if
876 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
877 evaluated with infinite-precision integer arithmetic. */
879 #ifndef YYMAXDEPTH
880 # define YYMAXDEPTH 10000
881 #endif
884 #if YYERROR_VERBOSE
886 # ifndef ace_yystrlen
887 # if defined __GLIBC__ && defined _STRING_H
888 # define ace_yystrlen strlen
889 # else
890 /* Return the length of YYSTR. */
891 #if (defined __STDC__ || defined __C99__FUNC__ \
892 || defined __cplusplus || defined _MSC_VER)
893 static YYSIZE_T
894 ace_yystrlen (const char *ace_yystr)
895 #else
896 static YYSIZE_T
897 ace_yystrlen (ace_yystr)
898 const char *ace_yystr;
899 #endif
901 YYSIZE_T ace_yylen;
902 for (ace_yylen = 0; ace_yystr[ace_yylen]; ace_yylen++)
903 continue;
904 return ace_yylen;
906 # endif
907 # endif
909 # ifndef ace_yystpcpy
910 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
911 # define ace_yystpcpy stpcpy
912 # else
913 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
914 YYDEST. */
915 #if (defined __STDC__ || defined __C99__FUNC__ \
916 || defined __cplusplus || defined _MSC_VER)
917 static char *
918 ace_yystpcpy (char *ace_yydest, const char *ace_yysrc)
919 #else
920 static char *
921 ace_yystpcpy (ace_yydest, ace_yysrc)
922 char *ace_yydest;
923 const char *ace_yysrc;
924 #endif
926 char *ace_yyd = ace_yydest;
927 const char *ace_yys = ace_yysrc;
929 while ((*ace_yyd++ = *ace_yys++) != '\0')
930 continue;
932 return ace_yyd - 1;
934 # endif
935 # endif
937 # ifndef ace_yytnamerr
938 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
939 quotes and backslashes, so that it's suitable for ace_yyerror. The
940 heuristic is that double-quoting is unnecessary unless the string
941 contains an apostrophe, a comma, or backslash (other than
942 backslash-backslash). YYSTR is taken from ace_yytname. If YYRES is
943 null, do not copy; instead, return the length of what the result
944 would have been. */
945 static YYSIZE_T
946 ace_yytnamerr (char *ace_yyres, const char *ace_yystr)
948 if (*ace_yystr == '"')
950 YYSIZE_T ace_yyn = 0;
951 char const *ace_yyp = ace_yystr;
953 for (;;)
954 switch (*++ace_yyp)
956 case '\'':
957 case ',':
958 goto do_not_strip_quotes;
960 case '\\':
961 if (*++ace_yyp != '\\')
962 goto do_not_strip_quotes;
963 /* Fall through. */
964 default:
965 if (ace_yyres)
966 ace_yyres[ace_yyn] = *ace_yyp;
967 ace_yyn++;
968 break;
970 case '"':
971 if (ace_yyres)
972 ace_yyres[ace_yyn] = '\0';
973 return ace_yyn;
975 do_not_strip_quotes: ;
978 if (! ace_yyres)
979 return ace_yystrlen (ace_yystr);
981 return ace_yystpcpy (ace_yyres, ace_yystr) - ace_yyres;
983 # endif
985 /* Copy into YYRESULT an error message about the unexpected token
986 YYCHAR while in state YYSTATE. Return the number of bytes copied,
987 including the terminating null byte. If YYRESULT is null, do not
988 copy anything; just return the number of bytes that would be
989 copied. As a special case, return 0 if an ordinary "syntax error"
990 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
991 size calculation. */
992 static YYSIZE_T
993 ace_yysyntax_error (char *ace_yyresult, int ace_yystate, int ace_yychar)
995 int ace_yyn = ace_yypact[ace_yystate];
997 if (! (YYPACT_NINF < ace_yyn && ace_yyn <= YYLAST))
998 return 0;
999 else
1001 int ace_yytype = YYTRANSLATE (ace_yychar);
1002 YYSIZE_T ace_yysize0 = ace_yytnamerr (0, ace_yytname[ace_yytype]);
1003 YYSIZE_T ace_yysize = ace_yysize0;
1004 YYSIZE_T ace_yysize1;
1005 int ace_yysize_overflow = 0;
1006 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1007 char const *ace_yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1008 int ace_yyx;
1010 # if 0
1011 /* This is so xgettext sees the translatable formats that are
1012 constructed on the fly. */
1013 YY_("syntax error, unexpected %s");
1014 YY_("syntax error, unexpected %s, expecting %s");
1015 YY_("syntax error, unexpected %s, expecting %s or %s");
1016 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
1017 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
1018 # endif
1019 char *ace_yyfmt;
1020 char const *ace_yyf;
1021 static char const ace_yyunexpected[] = "syntax error, unexpected %s";
1022 static char const ace_yyexpecting[] = ", expecting %s";
1023 static char const ace_yyor[] = " or %s";
1024 char ace_yyformat[sizeof ace_yyunexpected
1025 + sizeof ace_yyexpecting - 1
1026 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
1027 * (sizeof ace_yyor - 1))];
1028 char const *ace_yyprefix = ace_yyexpecting;
1030 /* Start YYX at -YYN if negative to avoid negative indexes in
1031 YYCHECK. */
1032 int ace_yyxbegin = ace_yyn < 0 ? -ace_yyn : 0;
1034 /* Stay within bounds of both ace_yycheck and ace_yytname. */
1035 int ace_yychecklim = YYLAST - ace_yyn + 1;
1036 int ace_yyxend = ace_yychecklim < YYNTOKENS ? ace_yychecklim : YYNTOKENS;
1037 int ace_yycount = 1;
1039 ace_yyarg[0] = ace_yytname[ace_yytype];
1040 ace_yyfmt = ace_yystpcpy (ace_yyformat, ace_yyunexpected);
1042 for (ace_yyx = ace_yyxbegin; ace_yyx < ace_yyxend; ++ace_yyx)
1043 if (ace_yycheck[ace_yyx + ace_yyn] == ace_yyx && ace_yyx != YYTERROR)
1045 if (ace_yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1047 ace_yycount = 1;
1048 ace_yysize = ace_yysize0;
1049 ace_yyformat[sizeof ace_yyunexpected - 1] = '\0';
1050 break;
1052 ace_yyarg[ace_yycount++] = ace_yytname[ace_yyx];
1053 ace_yysize1 = ace_yysize + ace_yytnamerr (0, ace_yytname[ace_yyx]);
1054 ace_yysize_overflow |= (ace_yysize1 < ace_yysize);
1055 ace_yysize = ace_yysize1;
1056 ace_yyfmt = ace_yystpcpy (ace_yyfmt, ace_yyprefix);
1057 ace_yyprefix = ace_yyor;
1060 ace_yyf = YY_(ace_yyformat);
1061 ace_yysize1 = ace_yysize + ace_yystrlen (ace_yyf);
1062 ace_yysize_overflow |= (ace_yysize1 < ace_yysize);
1063 ace_yysize = ace_yysize1;
1065 if (ace_yysize_overflow)
1066 return YYSIZE_MAXIMUM;
1068 if (ace_yyresult)
1070 /* Avoid sprintf, as that infringes on the user's name space.
1071 Don't have undefined behavior even if the translation
1072 produced a string with the wrong number of "%s"s. */
1073 char *ace_yyp = ace_yyresult;
1074 int ace_yyi = 0;
1075 while ((*ace_yyp = *ace_yyf) != '\0')
1077 if (*ace_yyp == '%' && ace_yyf[1] == 's' && ace_yyi < ace_yycount)
1079 ace_yyp += ace_yytnamerr (ace_yyp, ace_yyarg[ace_yyi++]);
1080 ace_yyf += 2;
1082 else
1084 ace_yyp++;
1085 ace_yyf++;
1089 return ace_yysize;
1092 #endif /* YYERROR_VERBOSE */
1095 /*-----------------------------------------------.
1096 | Release the memory associated to this symbol. |
1097 `-----------------------------------------------*/
1099 /*ARGSUSED*/
1100 #if (defined __STDC__ || defined __C99__FUNC__ \
1101 || defined __cplusplus || defined _MSC_VER)
1102 static void
1103 ace_yydestruct (const char *ace_yymsg, int ace_yytype, YYSTYPE *ace_yyvaluep)
1104 #else
1105 static void
1106 ace_yydestruct (ace_yymsg, ace_yytype, ace_yyvaluep)
1107 const char *ace_yymsg;
1108 int ace_yytype;
1109 YYSTYPE *ace_yyvaluep;
1110 #endif
1112 YYUSE (ace_yyvaluep);
1114 if (!ace_yymsg)
1115 ace_yymsg = "Deleting";
1116 YY_SYMBOL_PRINT (ace_yymsg, ace_yytype, ace_yyvaluep, ace_yylocationp);
1118 switch (ace_yytype)
1120 default:
1121 break;
1126 /* Prevent warnings from -Wmissing-prototypes. */
1128 #ifdef YYPARSE_PARAM
1129 #if defined __STDC__ || defined __cplusplus
1130 int ace_yyparse (void *YYPARSE_PARAM);
1131 #else
1132 int ace_yyparse ();
1133 #endif
1134 #else /* ! YYPARSE_PARAM */
1135 #if defined __STDC__ || defined __cplusplus
1136 int ace_yyparse ();
1137 #else
1138 int ace_yyparse ();
1139 #endif
1140 #endif /* ! YYPARSE_PARAM */
1146 /*----------.
1147 | ace_yyparse. |
1148 `----------*/
1150 #ifdef YYPARSE_PARAM
1151 #if (defined __STDC__ || defined __C99__FUNC__ \
1152 || defined __cplusplus || defined _MSC_VER)
1154 ace_yyparse (void *YYPARSE_PARAM)
1155 #else
1157 ace_yyparse (YYPARSE_PARAM)
1158 void *YYPARSE_PARAM;
1159 #endif
1160 #else /* ! YYPARSE_PARAM */
1161 #if (defined __STDC__ || defined __C99__FUNC__ \
1162 || defined __cplusplus || defined _MSC_VER)
1164 ace_yyparse ()
1165 #else
1167 ace_yyparse ()
1169 #endif
1170 #endif
1172 /* The look-ahead symbol. */
1173 int ace_yychar;
1175 /* The semantic value of the look-ahead symbol. */
1176 YYSTYPE ace_yylval;
1178 /* Number of syntax errors so far. */
1179 int ace_yynerrs;
1181 int ace_yystate;
1182 int ace_yyn;
1183 int ace_yyresult;
1184 /* Number of tokens to shift before error messages enabled. */
1185 int ace_yyerrstatus;
1186 /* Look-ahead token as an internal (translated) token number. */
1187 int ace_yytoken = 0;
1188 #if YYERROR_VERBOSE
1189 /* Buffer for error messages, and its allocated size. */
1190 char ace_yymsgbuf[128];
1191 char *ace_yymsg = ace_yymsgbuf;
1192 YYSIZE_T ace_yymsg_alloc = sizeof ace_yymsgbuf;
1193 #endif
1195 /* Three stacks and their tools:
1196 `ace_yyss': related to states,
1197 `ace_yyvs': related to semantic values,
1198 `ace_yyls': related to locations.
1200 Refer to the stacks thru separate pointers, to allow ace_yyoverflow
1201 to reallocate them elsewhere. */
1203 /* The state stack. */
1204 ace_yytype_int16 ace_yyssa[YYINITDEPTH];
1205 ace_yytype_int16 *ace_yyss = ace_yyssa;
1206 ace_yytype_int16 *ace_yyssp;
1208 /* The semantic value stack. */
1209 YYSTYPE ace_yyvsa[YYINITDEPTH];
1210 YYSTYPE *ace_yyvs = ace_yyvsa;
1211 YYSTYPE *ace_yyvsp;
1214 #define YYPOPSTACK(N) (ace_yyvsp -= (N), ace_yyssp -= (N))
1216 YYSIZE_T ace_yystacksize = YYINITDEPTH;
1218 /* The variables used to return semantic value and location from the
1219 action routines. */
1220 YYSTYPE ace_yyval;
1223 /* The number of symbols on the RHS of the reduced rule.
1224 Keep to zero when no symbol should be popped. */
1225 int ace_yylen = 0;
1227 YYDPRINTF ((stderr, "Starting parse\n"));
1229 ace_yystate = 0;
1230 ace_yyerrstatus = 0;
1231 ace_yynerrs = 0;
1232 ace_yychar = YYEMPTY; /* Cause a token to be read. */
1234 /* Initialize stack pointers.
1235 Waste one element of value and location stack
1236 so that they stay on the same level as the state stack.
1237 The wasted elements are never initialized. */
1239 ace_yyssp = ace_yyss;
1240 ace_yyvsp = ace_yyvs;
1242 goto ace_yysetstate;
1244 /*------------------------------------------------------------.
1245 | ace_yynewstate -- Push a new state, which is found in ace_yystate. |
1246 `------------------------------------------------------------*/
1247 ace_yynewstate:
1248 /* In all cases, when you get here, the value and location stacks
1249 have just been pushed. So pushing a state here evens the stacks. */
1250 ace_yyssp++;
1252 ace_yysetstate:
1253 *ace_yyssp = ace_yystate;
1255 if (ace_yyss + ace_yystacksize - 1 <= ace_yyssp)
1257 /* Get the current used size of the three stacks, in elements. */
1258 YYSIZE_T ace_yysize = ace_yyssp - ace_yyss + 1;
1260 #ifdef ace_yyoverflow
1262 /* Give user a chance to reallocate the stack. Use copies of
1263 these so that the &'s don't force the real ones into
1264 memory. */
1265 YYSTYPE *ace_yyvs1 = ace_yyvs;
1266 ace_yytype_int16 *ace_yyss1 = ace_yyss;
1269 /* Each stack pointer address is followed by the size of the
1270 data in use in that stack, in bytes. This used to be a
1271 conditional around just the two extra args, but that might
1272 be undefined if ace_yyoverflow is a macro. */
1273 ace_yyoverflow (YY_("memory exhausted"),
1274 &ace_yyss1, ace_yysize * sizeof (*ace_yyssp),
1275 &ace_yyvs1, ace_yysize * sizeof (*ace_yyvsp),
1277 &ace_yystacksize);
1279 ace_yyss = ace_yyss1;
1280 ace_yyvs = ace_yyvs1;
1282 #else /* no ace_yyoverflow */
1283 # ifndef YYSTACK_RELOCATE
1284 goto ace_yyexhaustedlab;
1285 # else
1286 /* Extend the stack our own way. */
1287 if (YYMAXDEPTH <= ace_yystacksize)
1288 goto ace_yyexhaustedlab;
1289 ace_yystacksize *= 2;
1290 if (YYMAXDEPTH < ace_yystacksize)
1291 ace_yystacksize = YYMAXDEPTH;
1294 ace_yytype_int16 *ace_yyss1 = ace_yyss;
1295 union ace_yyalloc *ace_yyptr =
1296 (union ace_yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (ace_yystacksize));
1297 if (! ace_yyptr)
1298 goto ace_yyexhaustedlab;
1299 YYSTACK_RELOCATE (ace_yyss);
1300 YYSTACK_RELOCATE (ace_yyvs);
1302 # undef YYSTACK_RELOCATE
1303 if (ace_yyss1 != ace_yyssa)
1304 YYSTACK_FREE (ace_yyss1);
1306 # endif
1307 #endif /* no ace_yyoverflow */
1309 ace_yyssp = ace_yyss + ace_yysize - 1;
1310 ace_yyvsp = ace_yyvs + ace_yysize - 1;
1313 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1314 (unsigned long int) ace_yystacksize));
1316 if (ace_yyss + ace_yystacksize - 1 <= ace_yyssp)
1317 YYABORT;
1320 YYDPRINTF ((stderr, "Entering state %d\n", ace_yystate));
1322 goto ace_yybackup;
1324 /*-----------.
1325 | ace_yybackup. |
1326 `-----------*/
1327 ace_yybackup:
1329 /* Do appropriate processing given the current state. Read a
1330 look-ahead token if we need one and don't already have one. */
1332 /* First try to decide what to do without reference to look-ahead token. */
1333 ace_yyn = ace_yypact[ace_yystate];
1334 if (ace_yyn == YYPACT_NINF)
1335 goto ace_yydefault;
1337 /* Not known => get a look-ahead token if don't already have one. */
1339 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
1340 if (ace_yychar == YYEMPTY)
1342 YYDPRINTF ((stderr, "Reading a token: "));
1343 ace_yychar = YYLEX;
1346 if (ace_yychar <= YYEOF)
1348 ace_yychar = ace_yytoken = YYEOF;
1349 YYDPRINTF ((stderr, "Now at end of input.\n"));
1351 else
1353 ace_yytoken = YYTRANSLATE (ace_yychar);
1354 YY_SYMBOL_PRINT ("Next token is", ace_yytoken, &ace_yylval, &ace_yylloc);
1357 /* If the proper action on seeing token YYTOKEN is to reduce or to
1358 detect an error, take that action. */
1359 ace_yyn += ace_yytoken;
1360 if (ace_yyn < 0 || YYLAST < ace_yyn || ace_yycheck[ace_yyn] != ace_yytoken)
1361 goto ace_yydefault;
1362 ace_yyn = ace_yytable[ace_yyn];
1363 if (ace_yyn <= 0)
1365 if (ace_yyn == 0 || ace_yyn == YYTABLE_NINF)
1366 goto ace_yyerrlab;
1367 ace_yyn = -ace_yyn;
1368 goto ace_yyreduce;
1371 if (ace_yyn == YYFINAL)
1372 YYACCEPT;
1374 /* Count tokens shifted since error; after three, turn off error
1375 status. */
1376 if (ace_yyerrstatus)
1377 ace_yyerrstatus--;
1379 /* Shift the look-ahead token. */
1380 YY_SYMBOL_PRINT ("Shifting", ace_yytoken, &ace_yylval, &ace_yylloc);
1382 /* Discard the shifted token unless it is eof. */
1383 if (ace_yychar != YYEOF)
1384 ace_yychar = YYEMPTY;
1386 ace_yystate = ace_yyn;
1387 *++ace_yyvsp = ace_yylval;
1389 goto ace_yynewstate;
1392 /*-----------------------------------------------------------.
1393 | ace_yydefault -- do the default action for the current state. |
1394 `-----------------------------------------------------------*/
1395 ace_yydefault:
1396 ace_yyn = ace_yydefact[ace_yystate];
1397 if (ace_yyn == 0)
1398 goto ace_yyerrlab;
1399 goto ace_yyreduce;
1402 /*-----------------------------.
1403 | ace_yyreduce -- Do a reduction. |
1404 `-----------------------------*/
1405 ace_yyreduce:
1406 /* ace_yyn is the number of a rule to reduce with. */
1407 ace_yylen = ace_yyr2[ace_yyn];
1409 /* If YYLEN is nonzero, implement the default value of the action:
1410 `$$ = $1'.
1412 Otherwise, the following line sets YYVAL to garbage.
1413 This behavior is undocumented and Bison
1414 users should not rely upon it. Assigning to YYVAL
1415 unconditionally makes the parser a bit smaller, and it avoids a
1416 GCC warning that YYVAL may be used uninitialized. */
1417 ace_yyval = ace_yyvsp[1-ace_yylen];
1420 YY_REDUCE_PRINT (ace_yyn);
1421 switch (ace_yyn)
1423 case 2:
1426 if ((ace_yyvsp[(2) - (2)].parse_node_) != 0)
1428 (ace_yyvsp[(2) - (2)].parse_node_)->apply (ACE_SVC_CONF_PARAM->config, ACE_SVC_CONF_PARAM->yyerrno);
1429 delete (ace_yyvsp[(2) - (2)].parse_node_);
1431 ACE_SVC_CONF_PARAM->obstack.release ();
1433 break;
1435 case 3:
1438 ACE_SVC_CONF_PARAM->obstack.release ();
1440 break;
1442 case 11:
1445 if ((ace_yyvsp[(2) - (3)].svc_record_) != 0)
1446 (ace_yyval.parse_node_) = new ACE_Dynamic_Node ((ace_yyvsp[(2) - (3)].svc_record_), (ace_yyvsp[(3) - (3)].ident_));
1447 else
1448 (ace_yyval.parse_node_) = 0;
1450 break;
1452 case 12:
1455 (ace_yyval.parse_node_) = new ACE_Static_Node ((ace_yyvsp[(2) - (3)].ident_), (ace_yyvsp[(3) - (3)].ident_));
1457 break;
1459 case 13:
1462 (ace_yyval.parse_node_) = new ACE_Suspend_Node ((ace_yyvsp[(2) - (2)].ident_));
1464 break;
1466 case 14:
1469 (ace_yyval.parse_node_) = new ACE_Resume_Node ((ace_yyvsp[(2) - (2)].ident_));
1471 break;
1473 case 15:
1476 (ace_yyval.parse_node_) = new ACE_Remove_Node ((ace_yyvsp[(2) - (2)].ident_));
1478 break;
1480 case 16:
1483 (ace_yyval.parse_node_) = new ACE_Stream_Node ((ace_yyvsp[(2) - (3)].static_node_), (ace_yyvsp[(3) - (3)].parse_node_));
1485 break;
1487 case 17:
1489 { (ace_yyval.static_node_) = new ACE_Static_Node ((ace_yyvsp[(2) - (2)].ident_)); ;}
1490 break;
1492 case 18:
1495 (ace_yyval.parse_node_) = new ACE_Dummy_Node ((ace_yyvsp[(3) - (4)].static_node_), (ace_yyvsp[(4) - (4)].parse_node_));
1497 break;
1499 case 19:
1503 break;
1505 case 20:
1509 break;
1511 case 21:
1514 // Initialize left context...
1515 (ace_yyval.static_node_) = (ace_yyvsp[(0) - (1)].static_node_);
1517 break;
1519 case 22:
1522 ACE_UNUSED_ARG ((ace_yyvsp[(2) - (4)]));
1523 (ace_yyval.parse_node_) = (ace_yyvsp[(3) - (4)].parse_node_);
1525 break;
1527 case 23:
1529 { (ace_yyval.parse_node_) = 0; ;}
1530 break;
1532 case 24:
1535 if ((ace_yyvsp[(2) - (2)].parse_node_) != 0)
1537 (ace_yyvsp[(2) - (2)].parse_node_)->link ((ace_yyvsp[(1) - (2)].parse_node_));
1538 (ace_yyval.parse_node_) = (ace_yyvsp[(2) - (2)].parse_node_);
1541 break;
1543 case 25:
1545 { (ace_yyval.parse_node_) = 0; ;}
1546 break;
1548 case 26:
1552 break;
1554 case 27:
1557 ACE_Static_Node *sn = (ace_yyvsp[(-1) - (1)].static_node_);
1558 ACE_Module_Type *mt = ace_get_module (sn->record (ACE_SVC_CONF_PARAM->config),
1559 (ace_yyvsp[(1) - (1)].static_node_)->name (),
1560 ACE_SVC_CONF_PARAM->yyerrno);
1562 if (((ACE_Stream_Type *) sn->record (ACE_SVC_CONF_PARAM->config)->type ())->push (mt) == -1)
1564 ACELIB_ERROR ((LM_ERROR,
1565 ACE_TEXT ("Problem with static\n")));
1566 ACE_SVC_CONF_PARAM->yyerrno++;
1569 break;
1571 case 28:
1574 ACE_Static_Node *sn = (ace_yyvsp[(-1) - (1)].static_node_);
1575 ACE_Module_Type *mt = ace_get_module (sn->record (ACE_SVC_CONF_PARAM->config),
1576 sn->name (),
1577 ACE_SVC_CONF_PARAM->yyerrno);
1578 if (mt != 0)
1579 mt->suspend ();
1581 break;
1583 case 29:
1586 ACE_Static_Node *sn = (ace_yyvsp[(-1) - (1)].static_node_);
1587 ACE_Module_Type *mt = ace_get_module (sn->record (ACE_SVC_CONF_PARAM->config),
1588 (ace_yyvsp[(1) - (1)].static_node_)->name (),
1589 ACE_SVC_CONF_PARAM->yyerrno);
1590 if (mt != 0)
1591 mt->resume ();
1593 break;
1595 case 30:
1598 ACE_Static_Node *stream = (ace_yyvsp[(-1) - (1)].static_node_);
1599 ACE_Static_Node *module = (ace_yyvsp[(1) - (1)].static_node_);
1600 ACE_Module_Type *mt = ace_get_module (stream->record (ACE_SVC_CONF_PARAM->config),
1601 module->name (),
1602 ACE_SVC_CONF_PARAM->yyerrno);
1604 ACE_Stream_Type *st =
1605 dynamic_cast<ACE_Stream_Type *> (const_cast<ACE_Service_Type_Impl *> (stream->record (ACE_SVC_CONF_PARAM->config)->type ()));
1606 if (!st || (mt != 0 && st->remove (mt) == -1))
1608 ACELIB_ERROR ((LM_ERROR,
1609 ACE_TEXT ("cannot remove Module_Type %s from STREAM_Type %s\n"),
1610 module->name (),
1611 stream->name ()));
1612 ACE_SVC_CONF_PARAM->yyerrno++;
1615 break;
1617 case 31:
1620 (ace_yyval.svc_record_) = new ACE_Service_Type_Factory ((ace_yyvsp[(1) - (4)].ident_), (ace_yyvsp[(2) - (4)].type_), (ace_yyvsp[(3) - (4)].location_node_), (ace_yyvsp[(4) - (4)].type_));
1622 break;
1624 case 32:
1627 (ace_yyval.type_) = 1;
1629 break;
1631 case 33:
1634 (ace_yyval.type_) = 0;
1636 break;
1638 case 34:
1641 (ace_yyval.type_) = 1;
1643 break;
1645 case 35:
1648 (ace_yyval.location_node_) = new ACE_Object_Node ((ace_yyvsp[(1) - (3)].ident_), (ace_yyvsp[(3) - (3)].ident_));
1650 break;
1652 case 36:
1655 (ace_yyval.location_node_) = new ACE_Function_Node ((ace_yyvsp[(1) - (5)].ident_), (ace_yyvsp[(3) - (5)].ident_));
1657 break;
1659 case 37:
1662 (ace_yyval.location_node_) = new ACE_Static_Function_Node ((ace_yyvsp[(2) - (4)].ident_));
1664 break;
1666 case 38:
1669 (ace_yyval.type_) = ACE_MODULE_T;
1671 break;
1673 case 39:
1676 (ace_yyval.type_) = ACE_SVC_OBJ_T;
1678 break;
1680 case 40:
1683 (ace_yyval.type_) = ACE_STREAM_T;
1685 break;
1687 case 42:
1689 { (ace_yyval.ident_) = 0; ;}
1690 break;
1693 /* Line 1267 of yacc.c. */
1695 default: break;
1697 YY_SYMBOL_PRINT ("-> $$ =", ace_yyr1[ace_yyn], &ace_yyval, &ace_yyloc);
1699 YYPOPSTACK (ace_yylen);
1700 ace_yylen = 0;
1701 YY_STACK_PRINT (ace_yyss, ace_yyssp);
1703 *++ace_yyvsp = ace_yyval;
1706 /* Now `shift' the result of the reduction. Determine what state
1707 that goes to, based on the state we popped back to and the rule
1708 number reduced by. */
1710 ace_yyn = ace_yyr1[ace_yyn];
1712 ace_yystate = ace_yypgoto[ace_yyn - YYNTOKENS] + *ace_yyssp;
1713 if (0 <= ace_yystate && ace_yystate <= YYLAST && ace_yycheck[ace_yystate] == *ace_yyssp)
1714 ace_yystate = ace_yytable[ace_yystate];
1715 else
1716 ace_yystate = ace_yydefgoto[ace_yyn - YYNTOKENS];
1718 goto ace_yynewstate;
1721 /*------------------------------------.
1722 | ace_yyerrlab -- here on detecting error |
1723 `------------------------------------*/
1724 ace_yyerrlab:
1725 /* If not already recovering from an error, report this error. */
1726 if (!ace_yyerrstatus)
1728 ++ace_yynerrs;
1729 #if ! YYERROR_VERBOSE
1730 ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, YY_("syntax error"));
1731 #else
1733 YYSIZE_T ace_yysize = ace_yysyntax_error (0, ace_yystate, ace_yychar);
1734 if (ace_yymsg_alloc < ace_yysize && ace_yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
1736 YYSIZE_T ace_yyalloc = 2 * ace_yysize;
1737 if (! (ace_yysize <= ace_yyalloc && ace_yyalloc <= YYSTACK_ALLOC_MAXIMUM))
1738 ace_yyalloc = YYSTACK_ALLOC_MAXIMUM;
1739 if (ace_yymsg != ace_yymsgbuf)
1740 YYSTACK_FREE (ace_yymsg);
1741 ace_yymsg = (char *) YYSTACK_ALLOC (ace_yyalloc);
1742 if (ace_yymsg)
1743 ace_yymsg_alloc = ace_yyalloc;
1744 else
1746 ace_yymsg = ace_yymsgbuf;
1747 ace_yymsg_alloc = sizeof ace_yymsgbuf;
1751 if (0 < ace_yysize && ace_yysize <= ace_yymsg_alloc)
1753 (void) ace_yysyntax_error (ace_yymsg, ace_yystate, ace_yychar);
1754 ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, ace_yymsg);
1756 else
1758 ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, YY_("syntax error"));
1759 if (ace_yysize != 0)
1760 goto ace_yyexhaustedlab;
1763 #endif
1767 if (ace_yyerrstatus == 3)
1769 /* If just tried and failed to reuse look-ahead token after an
1770 error, discard it. */
1772 if (ace_yychar <= YYEOF)
1774 /* Return failure if at end of input. */
1775 if (ace_yychar == YYEOF)
1776 YYABORT;
1778 else
1780 ace_yydestruct ("Error: discarding",
1781 ace_yytoken, &ace_yylval);
1782 ace_yychar = YYEMPTY;
1786 /* Else will try to reuse look-ahead token after shifting the error
1787 token. */
1788 goto ace_yyerrlab1;
1791 /*---------------------------------------------------.
1792 | ace_yyerrorlab -- error raised explicitly by YYERROR. |
1793 `---------------------------------------------------*/
1794 ace_yyerrorlab:
1796 /* Pacify compilers like GCC when the user code never invokes
1797 YYERROR and the label ace_yyerrorlab therefore never appears in user
1798 code. */
1799 if (/*CONSTCOND*/ 0)
1800 goto ace_yyerrorlab;
1802 /* Do not reclaim the symbols of the rule which action triggered
1803 this YYERROR. */
1804 YYPOPSTACK (ace_yylen);
1805 ace_yylen = 0;
1806 YY_STACK_PRINT (ace_yyss, ace_yyssp);
1807 ace_yystate = *ace_yyssp;
1808 goto ace_yyerrlab1;
1811 /*-------------------------------------------------------------.
1812 | ace_yyerrlab1 -- common code for both syntax error and YYERROR. |
1813 `-------------------------------------------------------------*/
1814 ace_yyerrlab1:
1815 ace_yyerrstatus = 3; /* Each real token shifted decrements this. */
1817 for (;;)
1819 ace_yyn = ace_yypact[ace_yystate];
1820 if (ace_yyn != YYPACT_NINF)
1822 ace_yyn += YYTERROR;
1823 if (0 <= ace_yyn && ace_yyn <= YYLAST && ace_yycheck[ace_yyn] == YYTERROR)
1825 ace_yyn = ace_yytable[ace_yyn];
1826 if (0 < ace_yyn)
1827 break;
1831 /* Pop the current state because it cannot handle the error token. */
1832 if (ace_yyssp == ace_yyss)
1833 YYABORT;
1836 ace_yydestruct ("Error: popping",
1837 ace_yystos[ace_yystate], ace_yyvsp);
1838 YYPOPSTACK (1);
1839 ace_yystate = *ace_yyssp;
1840 YY_STACK_PRINT (ace_yyss, ace_yyssp);
1843 if (ace_yyn == YYFINAL)
1844 YYACCEPT;
1846 *++ace_yyvsp = ace_yylval;
1849 /* Shift the error token. */
1850 YY_SYMBOL_PRINT ("Shifting", ace_yystos[ace_yyn], ace_yyvsp, ace_yylsp);
1852 ace_yystate = ace_yyn;
1853 goto ace_yynewstate;
1856 /*-------------------------------------.
1857 | ace_yyacceptlab -- YYACCEPT comes here. |
1858 `-------------------------------------*/
1859 ace_yyacceptlab:
1860 ace_yyresult = 0;
1861 goto ace_yyreturn;
1863 /*-----------------------------------.
1864 | ace_yyabortlab -- YYABORT comes here. |
1865 `-----------------------------------*/
1866 ace_yyabortlab:
1867 ace_yyresult = 1;
1868 goto ace_yyreturn;
1870 #ifndef ace_yyoverflow
1871 /*-------------------------------------------------.
1872 | ace_yyexhaustedlab -- memory exhaustion comes here. |
1873 `-------------------------------------------------*/
1874 ace_yyexhaustedlab:
1875 ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, YY_("memory exhausted"));
1876 ace_yyresult = 2;
1877 /* Fall through. */
1878 #endif
1880 ace_yyreturn:
1881 if (ace_yychar != YYEOF && ace_yychar != YYEMPTY)
1882 ace_yydestruct ("Cleanup: discarding lookahead",
1883 ace_yytoken, &ace_yylval);
1884 /* Do not reclaim the symbols of the rule which action triggered
1885 this YYABORT or YYACCEPT. */
1886 YYPOPSTACK (ace_yylen);
1887 YY_STACK_PRINT (ace_yyss, ace_yyssp);
1888 while (ace_yyssp != ace_yyss)
1890 ace_yydestruct ("Cleanup: popping",
1891 ace_yystos[*ace_yyssp], ace_yyvsp);
1892 YYPOPSTACK (1);
1894 #if defined ace_yyoverflow && !defined ACE_LACKS_FREE
1895 if (ace_yyss != ace_yyssa)
1896 YYSTACK_FREE (ace_yyss);
1897 #endif
1898 #if YYERROR_VERBOSE
1899 if (ace_yymsg != ace_yymsgbuf)
1900 YYSTACK_FREE (ace_yymsg);
1901 #endif
1902 /* Make sure YYID is used. */
1903 return YYID (ace_yyresult);
1909 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
1911 // Prints the error string to standard output. Cleans up the error
1912 // messages.
1914 void
1915 ace_yyerror (int ace_yyerrno, int ace_yylineno, ACE_TCHAR const * s)
1917 #if defined (ACE_NLOGGING)
1918 ACE_UNUSED_ARG (ace_yyerrno);
1919 ACE_UNUSED_ARG (ace_yylineno);
1920 ACE_UNUSED_ARG (s);
1921 #endif /* ACE_NLOGGING */
1923 ACELIB_ERROR ((LM_ERROR,
1924 ACE_TEXT ("ACE (%P|%t) [error %d] on line %d: %C\n"),
1925 ace_yyerrno,
1926 ace_yylineno,
1927 s));
1930 void
1931 ace_yyerror (ACE_TCHAR const * s)
1933 ace_yyerror (-1, -1, s);
1936 // Note that SRC_REC represents left context, which is the STREAM *
1937 // record.
1939 static ACE_Module_Type *
1940 ace_get_module (ACE_Service_Type const * sr,
1941 ACE_TCHAR const * svc_name,
1942 int & ace_yyerrno)
1944 ACE_Stream_Type const * const st =
1945 (sr == 0
1947 : dynamic_cast<ACE_Stream_Type const *> (sr->type ()));
1948 ACE_Module_Type const * const mt = (st == 0 ? 0 : st->find (svc_name));
1950 if (sr == 0 || st == 0 || mt == 0)
1952 ACELIB_ERROR ((LM_ERROR,
1953 ACE_TEXT ("cannot locate Module_Type %s ")
1954 ACE_TEXT ("in STREAM_Type %s\n"),
1955 svc_name,
1956 (sr ? sr->name () : ACE_TEXT ("(nil)"))));
1957 ++ace_yyerrno;
1960 return const_cast<ACE_Module_Type *> (mt);
1963 #if defined (SVC_CONF_Y_DEBUGGING)
1964 // Main driver program.
1967 ACE_TMAIN (int argc, ACE_TCHAR *argv[])
1969 ACE_Svc_Conf_Param param (0, stdin);
1971 // Try to reopen any filename argument to use YYIN.
1972 if (argc > 1 && (ace_yyin = freopen (argv[1], "r", stdin)) == 0)
1973 (void) ACE_OS::ACE_OS::fprintf (stderr, ACE_TEXT ("usage: %s [file]\n"), argv[0]), ACE_OS::exit (1);
1975 return ::ace_yyparse (&param);
1977 #endif /* SVC_CONF_Y_DEBUGGING */
1979 ACE_END_VERSIONED_NAMESPACE_DECL
1981 #endif /* ACE_USES_CLASSIC_SVC_CONF == 1 */