Svc_Conf_y.cpp

Go to the documentation of this file.
00001 /* A Bison parser, made by GNU Bison 2.0.  */
00002 
00003 /* Skeleton parser for Yacc-like parsing with Bison,
00004    Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
00005 
00006    This program is free software; you can redistribute it and/or modify
00007    it under the terms of the GNU General Public License as published by
00008    the Free Software Foundation; either version 2, or (at your option)
00009    any later version.
00010 
00011    This program is distributed in the hope that it will be useful,
00012    but WITHOUT ANY WARRANTY; without even the implied warranty of
00013    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014    GNU General Public License for more details.
00015 
00016    You should have received a copy of the GNU General Public License
00017    along with this program; if not, write to the Free Software
00018    Foundation, Inc., 59 Temple Place - Suite 330,
00019    Boston, MA 02111-1307, USA.  */
00020 
00021 /* As a special exception, when this file is copied by Bison into a
00022    Bison output file, you may use that output file without restriction.
00023    This special exception was added by the Free Software Foundation
00024    in version 1.24 of Bison.  */
00025 
00026 /* Written by Richard Stallman by simplifying the original so called
00027    ``semantic'' parser.  */
00028 
00029 /* All symbols defined below should begin with ace_yy or ACE_YY, to avoid
00030    infringing on user name space.  This should be done even for local
00031    variables, as they might otherwise be expanded by user macros.
00032    There are some unavoidable exceptions within include files to
00033    define necessary library symbols; they are noted "INFRINGES ON
00034    USER NAME SPACE" below.  */
00035 
00036 /* Identify Bison output.  */
00037 #define ACE_YYBISON 1
00038 
00039 /* Skeleton name.  */
00040 #define ACE_YYSKELETON_NAME "yacc.c"
00041 
00042 /* Pure parsers.  */
00043 #define ACE_YYPURE 1
00044 
00045 /* Using locations.  */
00046 #define ACE_YYLSP_NEEDED 0
00047 
00048 
00049 
00050 /* Tokens.  */
00051 #ifndef ACE_YYTOKENTYPE
00052 # define ACE_YYTOKENTYPE
00053    /* Put the tokens into the symbol table, so that GDB and other debuggers
00054       know about them.  */
00055    enum ace_yytokentype {
00056      ACE_DYNAMIC = 258,
00057      ACE_STATIC = 259,
00058      ACE_SUSPEND = 260,
00059      ACE_RESUME = 261,
00060      ACE_REMOVE = 262,
00061      ACE_USTREAM = 263,
00062      ACE_MODULE_T = 264,
00063      ACE_STREAM_T = 265,
00064      ACE_SVC_OBJ_T = 266,
00065      ACE_ACTIVE = 267,
00066      ACE_INACTIVE = 268,
00067      ACE_PATHNAME = 269,
00068      ACE_IDENT = 270,
00069      ACE_STRING = 271
00070    };
00071 #endif
00072 #define ACE_DYNAMIC 258
00073 #define ACE_STATIC 259
00074 #define ACE_SUSPEND 260
00075 #define ACE_RESUME 261
00076 #define ACE_REMOVE 262
00077 #define ACE_USTREAM 263
00078 #define ACE_MODULE_T 264
00079 #define ACE_STREAM_T 265
00080 #define ACE_SVC_OBJ_T 266
00081 #define ACE_ACTIVE 267
00082 #define ACE_INACTIVE 268
00083 #define ACE_PATHNAME 269
00084 #define ACE_IDENT 270
00085 #define ACE_STRING 271
00086 
00087 
00088 
00089 
00090 /* Copy the first part of user declarations.  */
00091 
00092 
00093 // Svc_Conf_y.cpp,v 4.82 2006/05/03 03:37:40 mesnier_p Exp
00094 
00095 #include "ace/Svc_Conf.h"
00096 
00097 #if (ACE_USES_CLASSIC_SVC_CONF == 1)
00098 
00099 #include "ace/ARGV.h"
00100 #include "ace/Module.h"
00101 #include "ace/Stream.h"
00102 #include "ace/Service_Types.h"
00103 #include "ace/OS_NS_string.h"
00104 
00105 
00106 #include "ace/ace_wchar.h"
00107 
00108 ACE_RCSID (ace,
00109            Svc_Conf_y,
00110            "Svc_Conf_y.cpp,v 4.82 2006/05/03 03:37:40 mesnier_p Exp")
00111 
00112 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00113 
00114 // Prototypes.
00115 
00116 static ACE_Module_Type *ace_get_module (const ACE_Service_Type *sr,
00117                                          const ACE_Service_Type *sv,
00118                                          int & ace_ace_yyerrno);
00119 
00120 static ACE_Module_Type *ace_get_module (const ACE_Service_Type *sr,
00121                                         const ACE_TCHAR *svc_name,
00122                                          int & ace_ace_yyerrno);
00123 
00124 #define ACE_YYDEBUG_LEXER_TEXT (ace_yytext[ace_yyleng] = '\0', ace_yytext)
00125 
00126 // Force the pretty debugging code to compile.
00127 // #define ACE_YYDEBUG 1
00128 
00129 ACE_END_VERSIONED_NAMESPACE_DECL
00130 
00131 
00132 /* Enabling traces.  */
00133 #ifndef ACE_YYDEBUG
00134 # define ACE_YYDEBUG 0
00135 #endif
00136 
00137 /* Enabling verbose error messages.  */
00138 #ifdef ACE_YYERROR_VERBOSE
00139 # undef ACE_YYERROR_VERBOSE
00140 # define ACE_YYERROR_VERBOSE 1
00141 #else
00142 # define ACE_YYERROR_VERBOSE 0
00143 #endif
00144 
00145 #if ! defined (ACE_YYSTYPE) && ! defined (ACE_YYSTYPE_IS_DECLARED)
00146 typedef int ACE_YYSTYPE;
00147 # define ace_yystype ACE_YYSTYPE /* obsolescent; will be withdrawn */
00148 # define ACE_YYSTYPE_IS_DECLARED 1
00149 # define ACE_YYSTYPE_IS_TRIVIAL 1
00150 #endif
00151 
00152 
00153 
00154 /* Copy the second part of user declarations.  */
00155 
00156 
00157 /* Line 213 of yacc.c.  */
00158 
00159 
00160 #if ! defined (ace_yyoverflow) || ACE_YYERROR_VERBOSE
00161 
00162 # ifndef ACE_YYFREE
00163 #  define ACE_YYFREE free
00164 # endif
00165 # ifndef ACE_YYMALLOC
00166 #  define ACE_YYMALLOC malloc
00167 # endif
00168 
00169 /* The parser invokes alloca or malloc; define the necessary symbols.  */
00170 
00171 # ifdef ACE_YYSTACK_USE_ALLOCA
00172 #  if ACE_YYSTACK_USE_ALLOCA
00173 #   ifdef __GNUC__
00174 #    define ACE_YYSTACK_ALLOC __builtin_alloca
00175 #   else
00176 #    define ACE_YYSTACK_ALLOC alloca
00177 #   endif
00178 #  endif
00179 # endif
00180 
00181 # ifdef ACE_YYSTACK_ALLOC
00182    /* Pacify GCC's `empty if-body' warning. */
00183 #  define ACE_YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
00184 # else
00185 #  if defined (__STDC__) || defined (__cplusplus)
00186 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
00187 #   define ACE_YYSIZE_T size_t
00188 #  endif
00189 #  define ACE_YYSTACK_ALLOC ACE_YYMALLOC
00190 #  define ACE_YYSTACK_FREE ACE_YYFREE
00191 # endif
00192 #endif /* ! defined (ace_yyoverflow) || ACE_YYERROR_VERBOSE */
00193 
00194 
00195 #if (! defined (ace_yyoverflow) \
00196      && (! defined (__cplusplus) \
00197    || (defined (ACE_YYSTYPE_IS_TRIVIAL) && ACE_YYSTYPE_IS_TRIVIAL)))
00198 
00199 /* A type that is properly aligned for any stack member.  */
00200 union ace_yyalloc
00201 {
00202   short int ace_yyss;
00203   ACE_YYSTYPE ace_yyvs;
00204   };
00205 
00206 /* The size of the maximum gap between one aligned stack and the next.  */
00207 # define ACE_YYSTACK_GAP_MAXIMUM (sizeof (union ace_yyalloc) - 1)
00208 
00209 /* The size of an array large to enough to hold all stacks, each with
00210    N elements.  */
00211 # define ACE_YYSTACK_BYTES(N) \
00212      ((N) * (sizeof (short int) + sizeof (ACE_YYSTYPE))                 \
00213       + ACE_YYSTACK_GAP_MAXIMUM)
00214 
00215 /* Copy COUNT objects from FROM to TO.  The source and destination do
00216    not overlap.  */
00217 # ifndef ACE_YYCOPY
00218 #  if defined (__GNUC__) && 1 < __GNUC__
00219 #   define ACE_YYCOPY(To, From, Count) \
00220       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
00221 #  else
00222 #   define ACE_YYCOPY(To, From, Count)          \
00223       do                                        \
00224   {                                     \
00225     register ACE_YYSIZE_T ace_yyi;              \
00226     for (ace_yyi = 0; ace_yyi < (Count); ace_yyi++)     \
00227       (To)[ace_yyi] = (From)[ace_yyi];          \
00228   }                                     \
00229       while (0)
00230 #  endif
00231 # endif
00232 
00233 /* Relocate STACK from its old location to the new one.  The
00234    local variables ACE_YYSIZE and ACE_YYSTACKSIZE give the old and new number of
00235    elements in the stack, and ACE_YYPTR gives the new location of the
00236    stack.  Advance ACE_YYPTR to a properly aligned location for the next
00237    stack.  */
00238 # define ACE_YYSTACK_RELOCATE(Stack)                                    \
00239     do                                                                  \
00240       {                                                                 \
00241   ACE_YYSIZE_T ace_yynewbytes;                                          \
00242   ACE_YYCOPY (&ace_yyptr->Stack, Stack, ace_yysize);                            \
00243   Stack = &ace_yyptr->Stack;                                            \
00244   ace_yynewbytes = ace_yystacksize * sizeof (*Stack) + ACE_YYSTACK_GAP_MAXIMUM; \
00245   ace_yyptr += ace_yynewbytes / sizeof (*ace_yyptr);                            \
00246       }                                                                 \
00247     while (0)
00248 
00249 #endif
00250 
00251 #if defined (__STDC__) || defined (__cplusplus)
00252    typedef signed char ace_yysigned_char;
00253 #else
00254    typedef short int ace_yysigned_char;
00255 #endif
00256 
00257 /* ACE_YYFINAL -- State number of the termination state. */
00258 #define ACE_YYFINAL  2
00259 /* ACE_YYLAST -- Last index in ACE_YYTABLE.  */
00260 #define ACE_YYLAST   62
00261 
00262 /* ACE_YYNTOKENS -- Number of terminals. */
00263 #define ACE_YYNTOKENS  23
00264 /* ACE_YYNNTS -- Number of nonterminals. */
00265 #define ACE_YYNNTS  21
00266 /* ACE_YYNRULES -- Number of rules. */
00267 #define ACE_YYNRULES  45
00268 /* ACE_YYNRULES -- Number of states. */
00269 #define ACE_YYNSTATES  66
00270 
00271 /* ACE_YYTRANSLATE(ACE_YYLEX) -- Bison symbol number corresponding to ACE_YYLEX.  */
00272 #define ACE_YYUNDEFTOK  2
00273 #define ACE_YYMAXUTOK   271
00274 
00275 #define ACE_YYTRANSLATE(ACE_YYX)                                                \
00276   ((unsigned int) (ACE_YYX) <= ACE_YYMAXUTOK ? ace_yytranslate[ACE_YYX] : ACE_YYUNDEFTOK)
00277 
00278 /* ACE_YYTRANSLATE[ACE_YYLEX] -- Bison symbol number corresponding to ACE_YYLEX.  */
00279 static const unsigned char ace_yytranslate[] =
00280 {
00281        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00282        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00283        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00284        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00285       20,    21,    22,     2,     2,     2,     2,     2,     2,     2,
00286        2,     2,     2,     2,     2,     2,     2,     2,    19,     2,
00287        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00288        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00289        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00290        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00291        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00292        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00293        2,     2,     2,    17,     2,    18,     2,     2,     2,     2,
00294        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00295        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00296        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00297        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00298        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00299        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00300        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00301        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00302        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00303        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00304        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00305        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00306        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
00307        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
00308       15,    16
00309 };
00310 
00311 #if ACE_YYDEBUG
00312 /* ACE_YYPRHS[ACE_YYN] -- Index of the first RHS symbol of rule number ACE_YYN in
00313    ACE_YYRHS.  */
00314 static const unsigned char ace_yyprhs[] =
00315 {
00316        0,     0,     3,     6,     9,    10,    12,    14,    16,    18,
00317       20,    22,    26,    30,    33,    36,    39,    43,    44,    49,
00318       51,    53,    54,    59,    60,    63,    64,    66,    68,    70,
00319       72,    74,    79,    81,    83,    84,    88,    94,    99,   102,
00320      105,   108,   110,   111,   113,   115
00321 };
00322 
00323 /* ACE_YYRHS -- A `-1'-separated list of the rules' RHS. */
00324 static const ace_yysigned_char ace_yyrhs[] =
00325 {
00326       24,     0,    -1,    24,    25,    -1,    24,     1,    -1,    -1,
00327       26,    -1,    27,    -1,    28,    -1,    29,    -1,    30,    -1,
00328       31,    -1,     3,    38,    42,    -1,     4,    15,    42,    -1,
00329        5,    15,    -1,     6,    15,    -1,     7,    15,    -1,     8,
00330       33,    34,    -1,    -1,     8,    15,    32,    34,    -1,    26,
00331       -1,    27,    -1,    -1,    17,    35,    36,    18,    -1,    -1,
00332       36,    37,    -1,    -1,    26,    -1,    27,    -1,    28,    -1,
00333       29,    -1,    30,    -1,    15,    41,    40,    39,    -1,    12,
00334       -1,    13,    -1,    -1,    43,    19,    15,    -1,    43,    19,
00335       15,    20,    21,    -1,    19,    15,    20,    21,    -1,     9,
00336       22,    -1,    11,    22,    -1,    10,    22,    -1,    16,    -1,
00337       -1,    14,    -1,    15,    -1,    16,    -1
00338 };
00339 
00340 /* ACE_YYRLINE[ACE_YYN] -- source line where rule number ACE_YYN was defined.  */
00341 static const unsigned short int ace_yyrline[] =
00342 {
00343        0,    62,    62,    71,    75,    79,    80,    81,    82,    83,
00344       84,    88,    98,   105,   112,   119,   126,   130,   130,   137,
00345      140,   147,   146,   155,   159,   167,   171,   196,   210,   219,
00346      228,   250,   257,   261,   266,   272,   276,   280,   287,   291,
00347      295,   302,   303,   307,   308,   309
00348 };
00349 #endif
00350 
00351 #if ACE_YYDEBUG || ACE_YYERROR_VERBOSE
00352 /* ACE_YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
00353    First, the terminals, then, starting at ACE_YYNTOKENS, nonterminals. */
00354 static const char *const ace_yytname[] =
00355 {
00356   "$end", "error", "$undefined", "ACE_DYNAMIC", "ACE_STATIC",
00357   "ACE_SUSPEND", "ACE_RESUME", "ACE_REMOVE", "ACE_USTREAM", "ACE_MODULE_T",
00358   "ACE_STREAM_T", "ACE_SVC_OBJ_T", "ACE_ACTIVE", "ACE_INACTIVE",
00359   "ACE_PATHNAME", "ACE_IDENT", "ACE_STRING", "'{'", "'}'", "':'", "'('",
00360   "')'", "'*'", "$accept", "svc_config_entries", "svc_config_entry",
00361   "dynamic", "static", "suspend", "resume", "remove", "stream", "@1",
00362   "stream_ops", "stream_modules", "@2", "module_list", "module",
00363   "svc_location", "status", "svc_initializer", "type", "parameters_opt",
00364   "pathname", 0
00365 };
00366 #endif
00367 
00368 # ifdef ACE_YYPRINT
00369 /* ACE_YYTOKNUM[ACE_YYLEX-NUM] -- Internal token number corresponding to
00370    token ACE_YYLEX-NUM.  */
00371 static const unsigned short int ace_yytoknum[] =
00372 {
00373        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
00374      265,   266,   267,   268,   269,   270,   271,   123,   125,    58,
00375       40,    41,    42
00376 };
00377 # endif
00378 
00379 /* ACE_YYR1[ACE_YYN] -- Symbol number of symbol that rule ACE_YYN derives.  */
00380 static const unsigned char ace_yyr1[] =
00381 {
00382        0,    23,    24,    24,    24,    25,    25,    25,    25,    25,
00383       25,    26,    27,    28,    29,    30,    31,    32,    31,    33,
00384       33,    35,    34,    34,    36,    36,    37,    37,    37,    37,
00385       37,    38,    39,    39,    39,    40,    40,    40,    41,    41,
00386       41,    42,    42,    43,    43,    43
00387 };
00388 
00389 /* ACE_YYR2[ACE_YYN] -- Number of symbols composing right hand side of rule ACE_YYN.  */
00390 static const unsigned char ace_yyr2[] =
00391 {
00392        0,     2,     2,     2,     0,     1,     1,     1,     1,     1,
00393        1,     3,     3,     2,     2,     2,     3,     0,     4,     1,
00394        1,     0,     4,     0,     2,     0,     1,     1,     1,     1,
00395        1,     4,     1,     1,     0,     3,     5,     4,     2,     2,
00396        2,     1,     0,     1,     1,     1
00397 };
00398 
00399 /* ACE_YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
00400    STATE-NUM when ACE_YYTABLE doesn't specify something else to do.  Zero
00401    means the default is an error.  */
00402 static const unsigned char ace_yydefact[] =
00403 {
00404        4,     0,     1,     3,     0,     0,     0,     0,     0,     0,
00405        2,     5,     6,     7,     8,     9,    10,     0,    42,    42,
00406       13,    14,    15,    17,    19,    20,    23,     0,     0,     0,
00407        0,    41,    11,    12,    23,    21,    16,    38,    40,    39,
00408       43,    44,    45,     0,    34,     0,    18,    25,     0,    32,
00409       33,    31,     0,     0,     0,    35,    22,    26,    27,    28,
00410       29,    30,    24,    37,     0,    36
00411 };
00412 
00413 /* ACE_YYDEFGOTO[NTERM-NUM]. */
00414 static const ace_yysigned_char ace_yydefgoto[] =
00415 {
00416       -1,     1,    10,    11,    12,    13,    14,    15,    16,    34,
00417       26,    36,    47,    53,    62,    18,    51,    44,    30,    32,
00418       45
00419 };
00420 
00421 /* ACE_YYPACT[STATE-NUM] -- Index in ACE_YYTABLE of the portion describing
00422    STATE-NUM.  */
00423 #define ACE_YYPACT_NINF -13
00424 static const ace_yysigned_char ace_yypact[] =
00425 {
00426      -13,    20,   -13,   -13,     1,     3,     7,    14,    18,     4,
00427      -13,   -13,   -13,   -13,   -13,   -13,   -13,    21,    19,    19,
00428      -13,   -13,   -13,   -13,   -13,   -13,    -2,    12,    15,    16,
00429       -5,   -13,   -13,   -13,    -2,   -13,   -13,   -13,   -13,   -13,
00430      -13,   -13,   -13,    24,     0,    17,   -13,   -13,    22,   -13,
00431      -13,   -13,    25,    -1,    26,    23,   -13,   -13,   -13,   -13,
00432      -13,   -13,   -13,   -13,    27,   -13
00433 };
00434 
00435 /* ACE_YYPGOTO[NTERM-NUM].  */
00436 static const ace_yysigned_char ace_yypgoto[] =
00437 {
00438      -13,   -13,   -13,    -9,    -8,   -12,    -7,    -4,   -13,   -13,
00439      -13,    28,   -13,   -13,   -13,   -13,   -13,   -13,   -13,    31,
00440      -13
00441 };
00442 
00443 /* ACE_YYTABLE[ACE_YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
00444    positive, shift that token.  If negative, reduce the rule which
00445    number is the opposite.  If zero, do what ACE_YYDEFACT says.
00446    If ACE_YYTABLE_NINF, syntax error.  */
00447 #define ACE_YYTABLE_NINF -1
00448 static const unsigned char ace_yytable[] =
00449 {
00450       24,    25,     4,     5,     6,     7,     8,     4,     5,    40,
00451       41,    42,    49,    50,    43,    35,    17,    56,    19,    23,
00452        2,     3,    20,     4,     5,     6,     7,     8,     9,    21,
00453       27,    28,    29,    22,    37,    31,    52,    38,    39,    48,
00454       55,    59,    54,    64,    57,    58,    60,    63,    65,    61,
00455       33,     0,     0,     0,     0,     0,     0,     0,     0,     0,
00456        0,     0,    46
00457 };
00458 
00459 static const ace_yysigned_char ace_yycheck[] =
00460 {
00461        9,     9,     3,     4,     5,     6,     7,     3,     4,    14,
00462       15,    16,    12,    13,    19,    17,    15,    18,    15,    15,
00463        0,     1,    15,     3,     4,     5,     6,     7,     8,    15,
00464        9,    10,    11,    15,    22,    16,    19,    22,    22,    15,
00465       15,    53,    20,    20,    53,    53,    53,    21,    21,    53,
00466       19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
00467       -1,    -1,    34
00468 };
00469 
00470 /* ACE_YYSTOS[STATE-NUM] -- The (internal number of the) accessing
00471    symbol of state STATE-NUM.  */
00472 static const unsigned char ace_yystos[] =
00473 {
00474        0,    24,     0,     1,     3,     4,     5,     6,     7,     8,
00475       25,    26,    27,    28,    29,    30,    31,    15,    38,    15,
00476       15,    15,    15,    15,    26,    27,    33,     9,    10,    11,
00477       41,    16,    42,    42,    32,    17,    34,    22,    22,    22,
00478       14,    15,    16,    19,    40,    43,    34,    35,    15,    12,
00479       13,    39,    19,    36,    20,    15,    18,    26,    27,    28,
00480       29,    30,    37,    21,    20,    21
00481 };
00482 
00483 #if ! defined (ACE_YYSIZE_T) && defined (__SIZE_TYPE__)
00484 # define ACE_YYSIZE_T __SIZE_TYPE__
00485 #endif
00486 #if ! defined (ACE_YYSIZE_T) && defined (size_t)
00487 # define ACE_YYSIZE_T size_t
00488 #endif
00489 #if ! defined (ACE_YYSIZE_T)
00490 # if defined (__STDC__) || defined (__cplusplus)
00491 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
00492 #  define ACE_YYSIZE_T size_t
00493 # endif
00494 #endif
00495 #if ! defined (ACE_YYSIZE_T)
00496 # define ACE_YYSIZE_T unsigned int
00497 #endif
00498 
00499 #define ace_yyerrok             (ace_yyerrstatus = 0)
00500 #define ace_yyclearin   (ace_yychar = ACE_YYEMPTY)
00501 #define ACE_YYEMPTY             (-2)
00502 #define ACE_YYEOF               0
00503 
00504 #define ACE_YYACCEPT    goto ace_yyacceptlab
00505 #define ACE_YYABORT             goto ace_yyabortlab
00506 #define ACE_YYERROR             goto ace_yyerrorlab
00507 
00508 
00509 /* Like ACE_YYERROR except do call ace_yyerror.  This remains here temporarily
00510    to ease the transition to the new meaning of ACE_YYERROR, for GCC.
00511    Once GCC version 2 has supplanted version 1, this can go.  */
00512 
00513 #define ACE_YYFAIL              goto ace_yyerrlab
00514 
00515 #define ACE_YYRECOVERING()  (!!ace_yyerrstatus)
00516 
00517 #define ACE_YYBACKUP(Token, Value)                                      \
00518 do                                                              \
00519   if (ace_yychar == ACE_YYEMPTY && ace_yylen == 1)                              \
00520     {                                                           \
00521       ace_yychar = (Token);                                             \
00522       ace_yylval = (Value);                                             \
00523       ace_yytoken = ACE_YYTRANSLATE (ace_yychar);                               \
00524       ACE_YYPOPSTACK;                                           \
00525       goto ace_yybackup;                                                \
00526     }                                                           \
00527   else                                                          \
00528     {                                                           \
00529       ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, "syntax error: cannot back up");\
00530       ACE_YYERROR;                                                      \
00531     }                                                           \
00532 while (0)
00533 
00534 
00535 #define ACE_YYTERROR    1
00536 #define ACE_YYERRCODE   256
00537 
00538 
00539 /* ACE_YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
00540    If N is 0, then set CURRENT to the empty location which ends
00541    the previous symbol: RHS[0] (always defined).  */
00542 
00543 #define ACE_YYRHSLOC(Rhs, K) ((Rhs)[K])
00544 #ifndef ACE_YYLLOC_DEFAULT
00545 # define ACE_YYLLOC_DEFAULT(Current, Rhs, N)                            \
00546     do                                                                  \
00547       if (N)                                                            \
00548   {                                                             \
00549     (Current).first_line   = ACE_YYRHSLOC (Rhs, 1).first_line;  \
00550     (Current).first_column = ACE_YYRHSLOC (Rhs, 1).first_column;        \
00551     (Current).last_line    = ACE_YYRHSLOC (Rhs, N).last_line;           \
00552     (Current).last_column  = ACE_YYRHSLOC (Rhs, N).last_column; \
00553   }                                                             \
00554       else                                                              \
00555   {                                                             \
00556     (Current).first_line   = (Current).last_line   =            \
00557       ACE_YYRHSLOC (Rhs, 0).last_line;                          \
00558     (Current).first_column = (Current).last_column =            \
00559       ACE_YYRHSLOC (Rhs, 0).last_column;                                \
00560   }                                                             \
00561     while (0)
00562 #endif
00563 
00564 
00565 /* ACE_YY_LOCATION_PRINT -- Print the location on the stream.
00566    This macro was not mandated originally: define only if we know
00567    we won't break user code: when these are the locations we know.  */
00568 
00569 #ifndef ACE_YY_LOCATION_PRINT
00570 # if ACE_YYLTYPE_IS_TRIVIAL
00571 #  define ACE_YY_LOCATION_PRINT(File, Loc)                      \
00572      ACE_OS::fprintf (File, "%d.%d-%d.%d",                      \
00573               (Loc).first_line, (Loc).first_column,     \
00574               (Loc).last_line,  (Loc).last_column)
00575 # else
00576 #  define ACE_YY_LOCATION_PRINT(File, Loc) ((void) 0)
00577 # endif
00578 #endif
00579 
00580 
00581 /* ACE_YYLEX -- calling `ace_yylex' with the right arguments.  */
00582 
00583 #ifdef ACE_YYLEX_PARAM
00584 # define ACE_YYLEX ace_yylex (&ace_yylval, ACE_YYLEX_PARAM)
00585 #else
00586 # define ACE_YYLEX ace_yylex (&ace_yylval)
00587 #endif
00588 
00589 /* Enable debugging if requested.  */
00590 #if ACE_YYDEBUG
00591 
00592 # ifndef ACE_YYFPRINTF
00593 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
00594 #  define ACE_YYFPRINTF ACE_OS::fprintf
00595 # endif
00596 
00597 # define ACE_YYDPRINTF(Args)                    \
00598 do {                                            \
00599   if (ace_yydebug)                                      \
00600     ACE_YYFPRINTF Args;                         \
00601 } while (0)
00602 
00603 # define ACE_YY_SYMBOL_PRINT(Title, Type, Value, Location)              \
00604 do {                                                            \
00605   if (ace_yydebug)                                                      \
00606     {                                                           \
00607       ACE_YYFPRINTF (stderr, "%s ", Title);                             \
00608       ace_yysymprint (stderr,                                   \
00609                   Type, Value); \
00610       ACE_YYFPRINTF (stderr, "\n");                                     \
00611     }                                                           \
00612 } while (0)
00613 
00614 /*------------------------------------------------------------------.
00615 | ace_yy_stack_print -- Print the state stack from its BOTTOM up to its |
00616 | TOP (included).                                                   |
00617 `------------------------------------------------------------------*/
00618 
00619 #if defined (__STDC__) || defined (__cplusplus)
00620 static void
00621 ace_yy_stack_print (short int *bottom, short int *top)
00622 #else
00623 static void
00624 ace_yy_stack_print (bottom, top)
00625     short int *bottom;
00626     short int *top;
00627 #endif
00628 {
00629   ACE_YYFPRINTF (stderr, "Stack now");
00630   for (/* Nothing. */; bottom <= top; ++bottom)
00631     ACE_YYFPRINTF (stderr, " %d", *bottom);
00632   ACE_YYFPRINTF (stderr, "\n");
00633 }
00634 
00635 # define ACE_YY_STACK_PRINT(Bottom, Top)                                \
00636 do {                                                            \
00637   if (ace_yydebug)                                                      \
00638     ace_yy_stack_print ((Bottom), (Top));                               \
00639 } while (0)
00640 
00641 
00642 /*------------------------------------------------.
00643 | Report that the ACE_YYRULE is going to be reduced.  |
00644 `------------------------------------------------*/
00645 
00646 #if defined (__STDC__) || defined (__cplusplus)
00647 static void
00648 ace_yy_reduce_print (int ace_yyrule)
00649 #else
00650 static void
00651 ace_yy_reduce_print (ace_yyrule)
00652     int ace_yyrule;
00653 #endif
00654 {
00655   int ace_yyi;
00656   unsigned int ace_yylno = ace_yyrline[ace_yyrule];
00657   ACE_YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
00658              ace_yyrule - 1, ace_yylno);
00659   /* Print the symbols being reduced, and their result.  */
00660   for (ace_yyi = ace_yyprhs[ace_yyrule]; 0 <= ace_yyrhs[ace_yyi]; ace_yyi++)
00661     ACE_YYFPRINTF (stderr, "%s ", ace_yytname [ace_yyrhs[ace_yyi]]);
00662   ACE_YYFPRINTF (stderr, "-> %s\n", ace_yytname [ace_yyr1[ace_yyrule]]);
00663 }
00664 
00665 # define ACE_YY_REDUCE_PRINT(Rule)              \
00666 do {                                    \
00667   if (ace_yydebug)                              \
00668     ace_yy_reduce_print (Rule);         \
00669 } while (0)
00670 
00671 /* Nonzero means print parse trace.  It is left uninitialized so that
00672    multiple parsers can coexist.  */
00673 int ace_yydebug;
00674 #else /* !ACE_YYDEBUG */
00675 # define ACE_YYDPRINTF(Args)
00676 # define ACE_YY_SYMBOL_PRINT(Title, Type, Value, Location)
00677 # define ACE_YY_STACK_PRINT(Bottom, Top)
00678 # define ACE_YY_REDUCE_PRINT(Rule)
00679 #endif /* !ACE_YYDEBUG */
00680 
00681 
00682 /* ACE_YYINITDEPTH -- initial size of the parser's stacks.  */
00683 #ifndef ACE_YYINITDEPTH
00684 # define ACE_YYINITDEPTH 200
00685 #endif
00686 
00687 /* ACE_YYMAXDEPTH -- maximum size the stacks can grow to (effective only
00688    if the built-in stack extension method is used).
00689 
00690    Do not make this value too large; the results are undefined if
00691    SIZE_MAX < ACE_YYSTACK_BYTES (ACE_YYMAXDEPTH)
00692    evaluated with infinite-precision integer arithmetic.  */
00693 
00694 #ifndef ACE_YYMAXDEPTH
00695 # define ACE_YYMAXDEPTH 10000
00696 #endif
00697 
00698 
00699 
00700 #if ACE_YYERROR_VERBOSE
00701 
00702 # ifndef ace_yystrlen
00703 #  if defined (__GLIBC__) && defined (_STRING_H)
00704 #   define ace_yystrlen strlen
00705 #  else
00706 /* Return the length of ACE_YYSTR.  */
00707 static ACE_YYSIZE_T
00708 #   if defined (__STDC__) || defined (__cplusplus)
00709 ace_yystrlen (const char *ace_yystr)
00710 #   else
00711 ace_yystrlen (ace_yystr)
00712      const char *ace_yystr;
00713 #   endif
00714 {
00715   register const char *ace_yys = ace_yystr;
00716 
00717   while (*ace_yys++ != '\0')
00718     continue;
00719 
00720   return ace_yys - ace_yystr - 1;
00721 }
00722 #  endif
00723 # endif
00724 
00725 # ifndef ace_yystpcpy
00726 #  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
00727 #   define ace_yystpcpy stpcpy
00728 #  else
00729 /* Copy ACE_YYSRC to ACE_YYDEST, returning the address of the terminating '\0' in
00730    ACE_YYDEST.  */
00731 static char *
00732 #   if defined (__STDC__) || defined (__cplusplus)
00733 ace_yystpcpy (ACE_TCHAR *ace_yydest, const char *ace_yysrc)
00734 #   else
00735 ace_yystpcpy (ace_yydest, ace_yysrc)
00736      char *ace_yydest;
00737      const char *ace_yysrc;
00738 #   endif
00739 {
00740   register char *ace_yyd = ace_yydest;
00741   register const char *ace_yys = ace_yysrc;
00742 
00743   while ((*ace_yyd++ = *ace_yys++) != '\0')
00744     continue;
00745 
00746   return ace_yyd - 1;
00747 }
00748 #  endif
00749 # endif
00750 
00751 #endif /* !ACE_YYERROR_VERBOSE */
00752 
00753 
00754 
00755 #if ACE_YYDEBUG
00756 /*--------------------------------.
00757 | Print this symbol on ACE_YYOUTPUT.  |
00758 `--------------------------------*/
00759 
00760 #if defined (__STDC__) || defined (__cplusplus)
00761 static void
00762 ace_yysymprint (FILE *ace_yyoutput, int ace_yytype, ACE_YYSTYPE *ace_yyvaluep)
00763 #else
00764 static void
00765 ace_yysymprint (ace_yyoutput, ace_yytype, ace_yyvaluep)
00766     FILE *ace_yyoutput;
00767     int ace_yytype;
00768     ACE_YYSTYPE *ace_yyvaluep;
00769 #endif
00770 {
00771   /* Pacify ``unused variable'' warnings.  */
00772   (void) ace_yyvaluep;
00773 
00774   if (ace_yytype < ACE_YYNTOKENS)
00775     ACE_YYFPRINTF (ace_yyoutput, "token %s (", ace_yytname[ace_yytype]);
00776   else
00777     ACE_YYFPRINTF (ace_yyoutput, "nterm %s (", ace_yytname[ace_yytype]);
00778 
00779 
00780 # ifdef ACE_YYPRINT
00781   if (ace_yytype < ACE_YYNTOKENS)
00782     ACE_YYPRINT (ace_yyoutput, ace_yytoknum[ace_yytype], *ace_yyvaluep);
00783 # endif
00784   switch (ace_yytype)
00785     {
00786       default:
00787         break;
00788     }
00789   ACE_YYFPRINTF (ace_yyoutput, ")");
00790 }
00791 
00792 #endif /* ! ACE_YYDEBUG */
00793 /*-----------------------------------------------.
00794 | Release the memory associated to this symbol.  |
00795 `-----------------------------------------------*/
00796 
00797 #if defined (__STDC__) || defined (__cplusplus)
00798 static void
00799 ace_yydestruct (const char *ace_yymsg, int ace_yytype, ACE_YYSTYPE *ace_yyvaluep)
00800 #else
00801 static void
00802 ace_yydestruct (ace_yymsg, ace_yytype, ace_yyvaluep)
00803     const char *ace_yymsg;
00804     int ace_yytype;
00805     ACE_YYSTYPE *ace_yyvaluep;
00806 #endif
00807 {
00808   /* Pacify ``unused variable'' warnings.  */
00809   (void) ace_yyvaluep;
00810   (void) ace_yytype;
00811 
00812   if (!ace_yymsg)
00813     ace_yymsg = "Deleting";
00814   ACE_YY_SYMBOL_PRINT (ace_yymsg, ace_yytype, ace_yyvaluep, ace_yylocationp);
00815 }
00816 
00817 
00818 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00819 
00820 /* Prevent warnings from -Wmissing-prototypes.  */
00821 
00822 #ifdef ACE_YYPARSE_PARAM
00823 # if defined (__STDC__) || defined (__cplusplus)
00824 int ace_yyparse (void *ACE_YYPARSE_PARAM);
00825 # else
00826 int ace_yyparse ();
00827 # endif
00828 #else /* ! ACE_YYPARSE_PARAM */
00829 #if defined (__STDC__) || defined (__cplusplus)
00830 int ace_yyparse (void);
00831 #else
00832 int ace_yyparse ();
00833 #endif
00834 #endif /* ! ACE_YYPARSE_PARAM */
00835 
00836 
00837 /*----------.
00838 | ace_yyparse.  |
00839 `----------*/
00840 
00841 #ifdef ACE_YYPARSE_PARAM
00842 # if defined (__STDC__) || defined (__cplusplus)
00843 int ace_yyparse (void *ACE_YYPARSE_PARAM)
00844 # else
00845 int ace_yyparse (ACE_YYPARSE_PARAM)
00846   void *ACE_YYPARSE_PARAM;
00847 # endif
00848 #else /* ! ACE_YYPARSE_PARAM */
00849 #if defined (__STDC__) || defined (__cplusplus)
00850 int
00851 ace_yyparse (void)
00852 #else
00853 int
00854 ace_yyparse ()
00855 
00856 #endif
00857 #endif
00858 {
00859   /* The look-ahead symbol.  */
00860 int ace_yychar;
00861 
00862 /* The semantic value of the look-ahead symbol.  */
00863 ACE_YYSTYPE ace_yylval;
00864 
00865 #if defined (ACE_YYSTYPE_IS_TRIVIAL)
00866   ace_yylval = 0;
00867 #else
00868   ace_yylval.type_ = 0;
00869 #endif /* ACE_YYSTYPE_IS_TRIVIAL */
00870 
00871 /* Number of syntax errors so far.  */
00872 int ace_yynerrs;
00873 
00874   register int ace_yystate;
00875   register int ace_yyn;
00876   int ace_yyresult;
00877   /* Number of tokens to shift before error messages enabled.  */
00878   int ace_yyerrstatus;
00879   /* Look-ahead token as an internal (translated) token number.  */
00880   int ace_yytoken = 0;
00881 
00882   /* Three stacks and their tools:
00883      `ace_yyss': related to states,
00884      `ace_yyvs': related to semantic values,
00885      `ace_yyls': related to locations.
00886 
00887      Refer to the stacks thru separate pointers, to allow ace_yyoverflow
00888      to reallocate them elsewhere.  */
00889 
00890   /* The state stack.  */
00891   short int ace_yyssa[ACE_YYINITDEPTH];
00892   short int *ace_yyss = ace_yyssa;
00893   register short int *ace_yyssp;
00894 
00895   /* The semantic value stack.  */
00896   ACE_YYSTYPE ace_yyvsa[ACE_YYINITDEPTH];
00897   ACE_YYSTYPE *ace_yyvs = ace_yyvsa;
00898   register ACE_YYSTYPE *ace_yyvsp;
00899 
00900 
00901 
00902 #define ACE_YYPOPSTACK   (ace_yyvsp--, ace_yyssp--)
00903 
00904   ACE_YYSIZE_T ace_yystacksize = ACE_YYINITDEPTH;
00905 
00906   /* The variables used to return semantic value and location from the
00907      action routines.  */
00908   ACE_YYSTYPE ace_yyval;
00909 
00910 
00911   /* When reducing, the number of symbols on the RHS of the reduced
00912      rule.  */
00913   int ace_yylen;
00914 
00915   ACE_YYDPRINTF ((stderr, "Starting parse\n"));
00916 
00917   ace_yystate = 0;
00918   ace_yyerrstatus = 0;
00919   ace_yynerrs = 0;
00920   ace_yychar = ACE_YYEMPTY;             /* Cause a token to be read.  */
00921 
00922   /* Initialize stack pointers.
00923      Waste one element of value and location stack
00924      so that they stay on the same level as the state stack.
00925      The wasted elements are never initialized.  */
00926 
00927   ace_yyssp = ace_yyss;
00928   ace_yyvsp = ace_yyvs;
00929 
00930 
00931   ace_yyvsp[0] = ace_yylval;
00932 
00933   goto ace_yysetstate;
00934 
00935 /*------------------------------------------------------------.
00936 | ace_yynewstate -- Push a new state, which is found in ace_yystate.  |
00937 `------------------------------------------------------------*/
00938  ace_yynewstate:
00939   /* In all cases, when you get here, the value and location stacks
00940      have just been pushed. so pushing a state here evens the stacks.
00941      */
00942   ace_yyssp++;
00943 
00944  ace_yysetstate:
00945   *ace_yyssp = ace_yystate;
00946 
00947   if (ace_yyss + ace_yystacksize - 1 <= ace_yyssp)
00948     {
00949       /* Get the current used size of the three stacks, in elements.  */
00950       ACE_YYSIZE_T ace_yysize = ace_yyssp - ace_yyss + 1;
00951 
00952 #ifdef ace_yyoverflow
00953       {
00954   /* Give user a chance to reallocate the stack. Use copies of
00955      these so that the &'s don't force the real ones into
00956      memory.  */
00957   ACE_YYSTYPE *ace_yyvs1 = ace_yyvs;
00958   short int *ace_yyss1 = ace_yyss;
00959 
00960 
00961   /* Each stack pointer address is followed by the size of the
00962      data in use in that stack, in bytes.  This used to be a
00963      conditional around just the two extra args, but that might
00964      be undefined if ace_yyoverflow is a macro.  */
00965   ace_yyoverflow ("parser stack overflow",
00966         &ace_yyss1, ace_yysize * sizeof (*ace_yyssp),
00967         &ace_yyvs1, ace_yysize * sizeof (*ace_yyvsp),
00968 
00969         &ace_yystacksize);
00970 
00971   ace_yyss = ace_yyss1;
00972   ace_yyvs = ace_yyvs1;
00973       }
00974 #else /* no ace_yyoverflow */
00975 # ifndef ACE_YYSTACK_RELOCATE
00976       goto ace_yyoverflowlab;
00977 # else
00978       /* Extend the stack our own way.  */
00979       if (ACE_YYMAXDEPTH <= ace_yystacksize)
00980   goto ace_yyoverflowlab;
00981       ace_yystacksize *= 2;
00982       if (ACE_YYMAXDEPTH < ace_yystacksize)
00983   ace_yystacksize = ACE_YYMAXDEPTH;
00984 
00985       {
00986   short int *ace_yyss1 = ace_yyss;
00987   union ace_yyalloc *ace_yyptr =
00988     (union ace_yyalloc *) ACE_YYSTACK_ALLOC (ACE_YYSTACK_BYTES (ace_yystacksize));
00989   if (! ace_yyptr)
00990     goto ace_yyoverflowlab;
00991   ACE_YYSTACK_RELOCATE (ace_yyss);
00992   ACE_YYSTACK_RELOCATE (ace_yyvs);
00993 
00994 #  undef ACE_YYSTACK_RELOCATE
00995   if (ace_yyss1 != ace_yyssa)
00996     ACE_YYSTACK_FREE (ace_yyss1);
00997       }
00998 # endif
00999 #endif /* no ace_yyoverflow */
01000 
01001       ace_yyssp = ace_yyss + ace_yysize - 1;
01002       ace_yyvsp = ace_yyvs + ace_yysize - 1;
01003 
01004 
01005       ACE_YYDPRINTF ((stderr, "Stack size increased to %lu\n",
01006       (unsigned long int) ace_yystacksize));
01007 
01008       if (ace_yyss + ace_yystacksize - 1 <= ace_yyssp)
01009   ACE_YYABORT;
01010     }
01011 
01012   ACE_YYDPRINTF ((stderr, "Entering state %d\n", ace_yystate));
01013 
01014   goto ace_yybackup;
01015 
01016 /*-----------.
01017 | ace_yybackup.  |
01018 `-----------*/
01019 ace_yybackup:
01020 
01021 /* Do appropriate processing given the current state.  */
01022 /* Read a look-ahead token if we need one and don't already have one.  */
01023 /* ace_yyresume: */
01024 
01025   /* First try to decide what to do without reference to look-ahead token.  */
01026 
01027   ace_yyn = ace_yypact[ace_yystate];
01028   if (ace_yyn == ACE_YYPACT_NINF)
01029     goto ace_yydefault;
01030 
01031   /* Not known => get a look-ahead token if don't already have one.  */
01032 
01033   /* ACE_YYCHAR is either ACE_YYEMPTY or ACE_YYEOF or a valid look-ahead symbol.  */
01034   if (ace_yychar == ACE_YYEMPTY)
01035     {
01036       ACE_YYDPRINTF ((stderr, "Reading a token: "));
01037       ace_yychar = ACE_YYLEX;
01038     }
01039 
01040   if (ace_yychar <= ACE_YYEOF)
01041     {
01042       ace_yychar = ace_yytoken = ACE_YYEOF;
01043       ACE_YYDPRINTF ((stderr, "Now at end of input.\n"));
01044     }
01045   else
01046     {
01047       ace_yytoken = ACE_YYTRANSLATE (ace_yychar);
01048       ACE_YY_SYMBOL_PRINT ("Next token is", ace_yytoken, &ace_yylval, &ace_yylloc);
01049     }
01050 
01051   /* If the proper action on seeing token ACE_YYTOKEN is to reduce or to
01052      detect an error, take that action.  */
01053   ace_yyn += ace_yytoken;
01054   if (ace_yyn < 0 || ACE_YYLAST < ace_yyn || ace_yycheck[ace_yyn] != ace_yytoken)
01055     goto ace_yydefault;
01056   ace_yyn = ace_yytable[ace_yyn];
01057   if (ace_yyn <= 0)
01058     {
01059       if (ace_yyn == 0 || ace_yyn == ACE_YYTABLE_NINF)
01060   goto ace_yyerrlab;
01061       ace_yyn = -ace_yyn;
01062       goto ace_yyreduce;
01063     }
01064 
01065   if (ace_yyn == ACE_YYFINAL)
01066     ACE_YYACCEPT;
01067 
01068   /* Shift the look-ahead token.  */
01069   ACE_YY_SYMBOL_PRINT ("Shifting", ace_yytoken, &ace_yylval, &ace_yylloc);
01070 
01071   /* Discard the token being shifted unless it is eof.  */
01072   if (ace_yychar != ACE_YYEOF)
01073     ace_yychar = ACE_YYEMPTY;
01074 
01075   *++ace_yyvsp = ace_yylval;
01076 
01077 
01078   /* Count tokens shifted since error; after three, turn off error
01079      status.  */
01080   if (ace_yyerrstatus)
01081     ace_yyerrstatus--;
01082 
01083   ace_yystate = ace_yyn;
01084   goto ace_yynewstate;
01085 
01086 
01087 /*-----------------------------------------------------------.
01088 | ace_yydefault -- do the default action for the current state.  |
01089 `-----------------------------------------------------------*/
01090 ace_yydefault:
01091   ace_yyn = ace_yydefact[ace_yystate];
01092   if (ace_yyn == 0)
01093     goto ace_yyerrlab;
01094   goto ace_yyreduce;
01095 
01096 
01097 /*-----------------------------.
01098 | ace_yyreduce -- Do a reduction.  |
01099 `-----------------------------*/
01100 ace_yyreduce:
01101   /* ace_yyn is the number of a rule to reduce with.  */
01102   ace_yylen = ace_yyr2[ace_yyn];
01103 
01104   /* If ACE_YYLEN is nonzero, implement the default value of the action:
01105      `$$ = $1'.
01106 
01107      Otherwise, the following line sets ACE_YYVAL to garbage.
01108      This behavior is undocumented and Bison
01109      users should not rely upon it.  Assigning to ACE_YYVAL
01110      unconditionally makes the parser a bit smaller, and it avoids a
01111      GCC warning that ACE_YYVAL may be used uninitialized.  */
01112   ace_yyval = ace_yyvsp[1-ace_yylen];
01113 
01114 
01115   ACE_YY_REDUCE_PRINT (ace_yyn);
01116   switch (ace_yyn)
01117     {
01118         case 2:
01119 
01120     {
01121       if ((ace_yyvsp[0].parse_node_) != 0)
01122       {
01123         (ace_yyvsp[0].parse_node_)->apply (ACE_SVC_CONF_PARAM->config, ACE_SVC_CONF_PARAM->yyerrno);
01124         delete (ace_yyvsp[0].parse_node_);
01125       }
01126       ACE_SVC_CONF_PARAM->obstack.release ();
01127     ;}
01128     break;
01129 
01130   case 3:
01131 
01132     {
01133       ACE_SVC_CONF_PARAM->obstack.release ();
01134     ;}
01135     break;
01136 
01137   case 11:
01138 
01139     {
01140       if ((ace_yyvsp[-1].svc_record_) != 0)
01141         (ace_yyval.parse_node_) = new ACE_Dynamic_Node ((ace_yyvsp[-1].svc_record_), (ace_yyvsp[0].ident_));
01142       else
01143         (ace_yyval.parse_node_) = 0;
01144     ;}
01145     break;
01146 
01147   case 12:
01148 
01149     {
01150       (ace_yyval.parse_node_) = new ACE_Static_Node ((ace_yyvsp[-1].ident_), (ace_yyvsp[0].ident_));
01151     ;}
01152     break;
01153 
01154   case 13:
01155 
01156     {
01157       (ace_yyval.parse_node_) = new ACE_Suspend_Node ((ace_yyvsp[0].ident_));
01158     ;}
01159     break;
01160 
01161   case 14:
01162 
01163     {
01164       (ace_yyval.parse_node_) = new ACE_Resume_Node ((ace_yyvsp[0].ident_));
01165     ;}
01166     break;
01167 
01168   case 15:
01169 
01170     {
01171       (ace_yyval.parse_node_) = new ACE_Remove_Node ((ace_yyvsp[0].ident_));
01172     ;}
01173     break;
01174 
01175   case 16:
01176 
01177     {
01178       (ace_yyval.parse_node_) = new ACE_Stream_Node ((ace_yyvsp[-1].static_node_), (ace_yyvsp[0].parse_node_));
01179     ;}
01180     break;
01181 
01182   case 17:
01183 
01184     { (ace_yyval.static_node_) = new ACE_Static_Node ((ace_yyvsp[0].ident_)); ;}
01185     break;
01186 
01187   case 18:
01188 
01189     {
01190       (ace_yyval.parse_node_) = new ACE_Dummy_Node ((ace_yyvsp[-1].static_node_), (ace_yyvsp[0].parse_node_));
01191     ;}
01192     break;
01193 
01194   case 19:
01195 
01196     {
01197     ;}
01198     break;
01199 
01200   case 20:
01201 
01202     {
01203     ;}
01204     break;
01205 
01206   case 21:
01207 
01208     {
01209       // Initialize left context...
01210       (ace_yyval.static_node_) = (ace_yyvsp[-1].static_node_);
01211     ;}
01212     break;
01213 
01214   case 22:
01215 
01216     {
01217       (ace_yyval.parse_node_) = (ace_yyvsp[-1].parse_node_);
01218     ;}
01219     break;
01220 
01221   case 23:
01222 
01223     { (ace_yyval.parse_node_) = 0; ;}
01224     break;
01225 
01226   case 24:
01227 
01228     {
01229       if ((ace_yyvsp[0].parse_node_) != 0)
01230         {
01231           (ace_yyvsp[0].parse_node_)->link ((ace_yyvsp[-1].parse_node_));
01232           (ace_yyval.parse_node_) = (ace_yyvsp[0].parse_node_);
01233         }
01234     ;}
01235     break;
01236 
01237   case 25:
01238 
01239     { (ace_yyval.parse_node_) = 0; ;}
01240     break;
01241 
01242   case 26:
01243 
01244     {
01245       ACE_Static_Node *svc_type = (ace_yyvsp[0].static_node_);
01246 
01247       if (svc_type != 0)
01248         {
01249           ACE_Static_Node *module = (ace_yyvsp[-2].static_node_);
01250 
01251           ACE_ARGV args (svc_type->parameters ());
01252           ACE_Module_Type *mt = ace_get_module (module->record (ACE_SVC_CONF_PARAM->config),
01253                                                 svc_type->record (ACE_SVC_CONF_PARAM->config),
01254                                                 ACE_SVC_CONF_PARAM->yyerrno);
01255           ACE_Stream_Type *st =
01256             dynamic_cast<ACE_Stream_Type *> (const_cast<ACE_Service_Type_Impl *> (module->record (ACE_SVC_CONF_PARAM->config)->type ()));
01257 
01258           if (mt->init (args.argc (), args.argv ()) == -1
01259               || st->push (mt) == -1)
01260             {
01261               ACE_ERROR ((LM_ERROR,
01262                           ACE_LIB_TEXT ("dynamic initialization failed for Module %s\n"),
01263                           svc_type->name ()));
01264               ACE_SVC_CONF_PARAM->yyerrno++;
01265             }
01266         }
01267     ;}
01268     break;
01269 
01270   case 27:
01271 
01272     {
01273       ACE_Static_Node *sn = (ace_yyvsp[-2].static_node_);
01274       ACE_Module_Type *mt = ace_get_module (sn->record (ACE_SVC_CONF_PARAM->config),
01275                                             (ace_yyvsp[0].static_node_)->name (),
01276                                             ACE_SVC_CONF_PARAM->yyerrno);
01277 
01278       if (((ACE_Stream_Type *) sn->record (ACE_SVC_CONF_PARAM->config)->type ())->push (mt) == -1)
01279         {
01280           ACE_ERROR ((LM_ERROR,
01281                       ACE_LIB_TEXT ("Problem with static\n")));
01282           ACE_SVC_CONF_PARAM->yyerrno++;
01283         }
01284     ;}
01285     break;
01286 
01287   case 28:
01288 
01289     {
01290       ACE_Static_Node *sn = (ace_yyvsp[-2].static_node_);
01291       ACE_Module_Type *mt = ace_get_module (sn->record (ACE_SVC_CONF_PARAM->config),
01292                                             sn->name (),
01293                                             ACE_SVC_CONF_PARAM->yyerrno);
01294       if (mt != 0)
01295         mt->suspend ();
01296     ;}
01297     break;
01298 
01299   case 29:
01300 
01301     {
01302       ACE_Static_Node *sn = (ace_yyvsp[-2].static_node_);
01303       ACE_Module_Type *mt = ace_get_module (sn->record (ACE_SVC_CONF_PARAM->config),
01304                                             (ace_yyvsp[0].static_node_)->name (),
01305                                             ACE_SVC_CONF_PARAM->yyerrno);
01306       if (mt != 0)
01307         mt->resume ();
01308     ;}
01309     break;
01310 
01311   case 30:
01312 
01313     {
01314       ACE_Static_Node *stream = (ace_yyvsp[-2].static_node_);
01315       ACE_Static_Node *module = (ace_yyvsp[0].static_node_);
01316       ACE_Module_Type *mt = ace_get_module (stream->record (ACE_SVC_CONF_PARAM->config),
01317                                             module->name (),
01318                                             ACE_SVC_CONF_PARAM->yyerrno);
01319 
01320       ACE_Stream_Type *st =
01321         dynamic_cast<ACE_Stream_Type *> (const_cast<ACE_Service_Type_Impl *> (stream->record (ACE_SVC_CONF_PARAM->config)->type ()));
01322       if (mt != 0 && st->remove (mt) == -1)
01323         {
01324           ACE_ERROR ((LM_ERROR,
01325                       ACE_LIB_TEXT ("cannot remove Module_Type %s from STREAM_Type %s\n"),
01326                       module->name (),
01327                       stream->name ()));
01328           ACE_SVC_CONF_PARAM->yyerrno++;
01329         }
01330     ;}
01331     break;
01332 
01333   case 31:
01334 
01335     {
01336       (ace_yyval.svc_record_) = new ACE_Service_Type_Factory ((ace_yyvsp[-3].ident_), (ace_yyvsp[-2].type_), (ace_yyvsp[-1].location_node_), (ace_yyvsp[0].type_));
01337     ;}
01338     break;
01339 
01340   case 32:
01341 
01342     {
01343       (ace_yyval.type_) = 1;
01344     ;}
01345     break;
01346 
01347   case 33:
01348 
01349     {
01350       (ace_yyval.type_) = 0;
01351     ;}
01352     break;
01353 
01354   case 34:
01355 
01356     {
01357       (ace_yyval.type_) = 1;
01358     ;}
01359     break;
01360 
01361   case 35:
01362 
01363     {
01364       (ace_yyval.location_node_) = new ACE_Object_Node ((ace_yyvsp[-2].ident_), (ace_yyvsp[0].ident_));
01365     ;}
01366     break;
01367 
01368   case 36:
01369 
01370     {
01371       (ace_yyval.location_node_) = new ACE_Function_Node ((ace_yyvsp[-4].ident_), (ace_yyvsp[-2].ident_));
01372     ;}
01373     break;
01374 
01375   case 37:
01376 
01377     {
01378       (ace_yyval.location_node_) = new ACE_Static_Function_Node ((ace_yyvsp[-2].ident_));
01379     ;}
01380     break;
01381 
01382   case 38:
01383 
01384     {
01385       (ace_yyval.type_) = ACE_MODULE_T;
01386     ;}
01387     break;
01388 
01389   case 39:
01390 
01391     {
01392       (ace_yyval.type_) = ACE_SVC_OBJ_T;
01393     ;}
01394     break;
01395 
01396   case 40:
01397 
01398     {
01399       (ace_yyval.type_) = ACE_STREAM_T;
01400     ;}
01401     break;
01402 
01403   case 42:
01404 
01405     { (ace_yyval.ident_) = 0; ;}
01406     break;
01407 
01408 
01409     }
01410 
01411 /* Line 1037 of yacc.c.  */
01412 
01413 
01414   ace_yyvsp -= ace_yylen;
01415   ace_yyssp -= ace_yylen;
01416 
01417 
01418   ACE_YY_STACK_PRINT (ace_yyss, ace_yyssp);
01419 
01420   *++ace_yyvsp = ace_yyval;
01421 
01422 
01423   /* Now `shift' the result of the reduction.  Determine what state
01424      that goes to, based on the state we popped back to and the rule
01425      number reduced by.  */
01426 
01427   ace_yyn = ace_yyr1[ace_yyn];
01428 
01429   ace_yystate = ace_yypgoto[ace_yyn - ACE_YYNTOKENS] + *ace_yyssp;
01430   if (0 <= ace_yystate && ace_yystate <= ACE_YYLAST && ace_yycheck[ace_yystate] == *ace_yyssp)
01431     ace_yystate = ace_yytable[ace_yystate];
01432   else
01433     ace_yystate = ace_yydefgoto[ace_yyn - ACE_YYNTOKENS];
01434 
01435   goto ace_yynewstate;
01436 
01437 
01438 /*------------------------------------.
01439 | ace_yyerrlab -- here on detecting error |
01440 `------------------------------------*/
01441 ace_yyerrlab:
01442   /* If not already recovering from an error, report this error.  */
01443   if (!ace_yyerrstatus)
01444     {
01445       ++ace_yynerrs;
01446 #if ACE_YYERROR_VERBOSE
01447       ace_yyn = ace_yypact[ace_yystate];
01448 
01449       if (ACE_YYPACT_NINF < ace_yyn && ace_yyn < ACE_YYLAST)
01450   {
01451     ACE_YYSIZE_T ace_yysize = 0;
01452     int ace_yytype = ACE_YYTRANSLATE (ace_yychar);
01453     const char* ace_yyprefix;
01454     char *ace_yymsg;
01455     int ace_yyx;
01456 
01457     /* Start ACE_YYX at -ACE_YYN if negative to avoid negative indexes in
01458        ACE_YYCHECK.  */
01459     int ace_yyxbegin = ace_yyn < 0 ? -ace_yyn : 0;
01460 
01461     /* Stay within bounds of both ace_yycheck and ace_yytname.  */
01462     int ace_yychecklim = ACE_YYLAST - ace_yyn;
01463     int ace_yyxend = ace_yychecklim < ACE_YYNTOKENS ? ace_yychecklim : ACE_YYNTOKENS;
01464     int ace_yycount = 0;
01465 
01466     ace_yyprefix = ", expecting ";
01467     for (ace_yyx = ace_yyxbegin; ace_yyx < ace_yyxend; ++ace_yyx)
01468       if (ace_yycheck[ace_yyx + ace_yyn] == ace_yyx && ace_yyx != ACE_YYTERROR)
01469         {
01470     ace_yysize += ace_yystrlen (ace_yyprefix) + ace_yystrlen (ace_yytname [ace_yyx]);
01471     ace_yycount += 1;
01472     if (ace_yycount == 5)
01473       {
01474         ace_yysize = 0;
01475         break;
01476       }
01477         }
01478     ace_yysize += (sizeof ("syntax error, unexpected ")
01479          + ace_yystrlen (ace_yytname[ace_yytype]));
01480     ace_yymsg = (ACE_TCHAR *) ACE_YYSTACK_ALLOC (ace_yysize);
01481     if (ace_yymsg != 0)
01482       {
01483         char *ace_yyp = ace_yystpcpy (ace_yymsg, "syntax error, unexpected ");
01484         ace_yyp = ace_yystpcpy (ace_yyp, ace_yytname[ace_yytype]);
01485 
01486         if (ace_yycount < 5)
01487     {
01488       ace_yyprefix = ", expecting ";
01489       for (ace_yyx = ace_yyxbegin; ace_yyx < ace_yyxend; ++ace_yyx)
01490         if (ace_yycheck[ace_yyx + ace_yyn] == ace_yyx && ace_yyx != ACE_YYTERROR)
01491           {
01492       ace_yyp = ace_yystpcpy (ace_yyp, ace_yyprefix);
01493       ace_yyp = ace_yystpcpy (ace_yyp, ace_yytname[ace_yyx]);
01494       ace_yyprefix = " or ";
01495           }
01496     }
01497         ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, ace_yymsg);
01498         ACE_YYSTACK_FREE (ace_yymsg);
01499       }
01500     else
01501       ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, "syntax error; also virtual memory exhausted");
01502   }
01503       else
01504 #endif /* ACE_YYERROR_VERBOSE */
01505   ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, "syntax error");
01506     }
01507 
01508 
01509 
01510   if (ace_yyerrstatus == 3)
01511     {
01512       /* If just tried and failed to reuse look-ahead token after an
01513    error, discard it.  */
01514 
01515       if (ace_yychar <= ACE_YYEOF)
01516         {
01517           /* If at end of input, pop the error token,
01518        then the rest of the stack, then return failure.  */
01519     if (ace_yychar == ACE_YYEOF)
01520        for (;;)
01521          {
01522 
01523      ACE_YYPOPSTACK;
01524      if (ace_yyssp == ace_yyss)
01525        ACE_YYABORT;
01526      ace_yydestruct ("Error: popping",
01527                              ace_yystos[*ace_yyssp], ace_yyvsp);
01528          }
01529         }
01530       else
01531   {
01532     ace_yydestruct ("Error: discarding", ace_yytoken, &ace_yylval);
01533     ace_yychar = ACE_YYEMPTY;
01534   }
01535     }
01536 
01537   /* Else will try to reuse look-ahead token after shifting the error
01538      token.  */
01539   goto ace_yyerrlab1;
01540 
01541 
01542 /*---------------------------------------------------.
01543 | ace_yyerrorlab -- error raised explicitly by ACE_YYERROR.  |
01544 `---------------------------------------------------*/
01545 ace_yyerrorlab:
01546 
01547 #if defined (__GNUC__)  || defined (ACE_WIN32)
01548   /* Pacify GCC when the user code never invokes ACE_YYERROR and the label
01549      ace_yyerrorlab therefore never appears in user code.  */
01550   if (0)
01551      goto ace_yyerrorlab;
01552 #endif
01553 
01554 ace_yyvsp -= ace_yylen;
01555   ace_yyssp -= ace_yylen;
01556   ace_yystate = *ace_yyssp;
01557   goto ace_yyerrlab1;
01558 
01559 
01560 /*-------------------------------------------------------------.
01561 | ace_yyerrlab1 -- common code for both syntax error and ACE_YYERROR.  |
01562 `-------------------------------------------------------------*/
01563 ace_yyerrlab1:
01564   ace_yyerrstatus = 3;  /* Each real token shifted decrements this.  */
01565 
01566   for (;;)
01567     {
01568       ace_yyn = ace_yypact[ace_yystate];
01569       if (ace_yyn != ACE_YYPACT_NINF)
01570   {
01571     ace_yyn += ACE_YYTERROR;
01572     if (0 <= ace_yyn && ace_yyn <= ACE_YYLAST && ace_yycheck[ace_yyn] == ACE_YYTERROR)
01573       {
01574         ace_yyn = ace_yytable[ace_yyn];
01575         if (0 < ace_yyn)
01576     break;
01577       }
01578   }
01579 
01580       /* Pop the current state because it cannot handle the error token.  */
01581       if (ace_yyssp == ace_yyss)
01582   ACE_YYABORT;
01583 
01584 
01585       ace_yydestruct ("Error: popping", ace_yystos[ace_yystate], ace_yyvsp);
01586       ACE_YYPOPSTACK;
01587       ace_yystate = *ace_yyssp;
01588       ACE_YY_STACK_PRINT (ace_yyss, ace_yyssp);
01589     }
01590 
01591   if (ace_yyn == ACE_YYFINAL)
01592     ACE_YYACCEPT;
01593 
01594   *++ace_yyvsp = ace_yylval;
01595 
01596 
01597   /* Shift the error token. */
01598   ACE_YY_SYMBOL_PRINT ("Shifting", ace_yystos[ace_yyn], ace_yyvsp, ace_yylsp);
01599 
01600   ace_yystate = ace_yyn;
01601   goto ace_yynewstate;
01602 
01603 
01604 /*-------------------------------------.
01605 | ace_yyacceptlab -- ACE_YYACCEPT comes here.  |
01606 `-------------------------------------*/
01607 ace_yyacceptlab:
01608   ace_yyresult = 0;
01609   goto ace_yyreturn;
01610 
01611 /*-----------------------------------.
01612 | ace_yyabortlab -- ACE_YYABORT comes here.  |
01613 `-----------------------------------*/
01614 ace_yyabortlab:
01615   ace_yydestruct ("Error: discarding lookahead",
01616               ace_yytoken, &ace_yylval);
01617   ace_yychar = ACE_YYEMPTY;
01618   ace_yyresult = 1;
01619   goto ace_yyreturn;
01620 
01621 #ifndef ace_yyoverflow
01622 /*----------------------------------------------.
01623 | ace_yyoverflowlab -- parser overflow comes here.  |
01624 `----------------------------------------------*/
01625 ace_yyoverflowlab:
01626   ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, "parser stack overflow");
01627   ace_yyresult = 2;
01628   /* Fall through.  */
01629 #endif
01630 
01631 ace_yyreturn:
01632 #ifndef ace_yyoverflow
01633   if (ace_yyss != ace_yyssa)
01634     ACE_YYSTACK_FREE (ace_yyss);
01635 #endif
01636   return ace_yyresult;
01637 }
01638 
01639 // Prints the error string to standard output.  Cleans up the error
01640 // messages.
01641 
01642 void
01643 ace_yyerror (int ace_yyerrno, int ace_yylineno, const char *s)
01644 {
01645 #if defined (ACE_NLOGGING)
01646   ACE_UNUSED_ARG (ace_yyerrno);
01647   ACE_UNUSED_ARG (ace_yylineno);
01648   ACE_UNUSED_ARG (s);
01649 #endif /* ACE_NLOGGING */
01650 
01651   ACE_ERROR ((LM_ERROR,
01652               ACE_LIB_TEXT ("[error %d] on line %d: %s\n"),
01653               ace_yyerrno,
01654               ace_yylineno,
01655               s));
01656 }
01657 
01658 // Note that SRC_REC represents left context, which is the STREAM *
01659 // record.
01660 
01661 static ACE_Module_Type *
01662 ace_get_module (const ACE_Service_Type *sr,
01663                 const ACE_TCHAR *svc_name,
01664                 int & ace_yyerrno)
01665 {
01666   const ACE_Service_Type_Impl *type = sr->type ();
01667   ACE_Stream_Type *st = sr == 0
01668     ? 0
01669     : dynamic_cast<ACE_Stream_Type *> (const_cast<ACE_Service_Type_Impl *> (type));
01670   ACE_Module_Type *mt = st == 0 ? 0 : st->find (svc_name);
01671 
01672   if (sr == 0 || st == 0 || mt == 0)
01673     {
01674       ACE_ERROR ((LM_ERROR,
01675                   ACE_LIB_TEXT ("cannot locate Module_Type %s in STREAM_Type %s\n"),
01676                   svc_name,
01677                   sr->name ()));
01678       ace_yyerrno++;
01679     }
01680 
01681   return mt;
01682 }
01683 
01684 static ACE_Module_Type *
01685 ace_get_module (const ACE_Service_Type *sr,
01686                 const ACE_Service_Type *sv,
01687                 int & ace_yyerrno)
01688 {
01689   const ACE_Service_Type_Impl *type = sr->type ();
01690   ACE_Stream_Type *st = sr == 0 ? 0 : (ACE_Stream_Type *) type;
01691 
01692   type = sv->type ();
01693   ACE_Module_Type *mt = (ACE_Module_Type *) type;
01694   const ACE_TCHAR *module_type_name = sr->name ();
01695 
01696   if (sr == 0 || st == 0 || mt == 0)
01697     {
01698       ACE_ERROR ((LM_ERROR,
01699                   ACE_LIB_TEXT ("cannot locate Module_Type %s or STREAM_Type %s\n"),
01700                   module_type_name,
01701                   sr->name ()));
01702       ace_yyerrno++;
01703     }
01704 
01705   // Make sure that the Module has the same name as the
01706   // Module_Type object from the svc.conf file.
01707   ACE_Module<ACE_SYNCH> *mp = (ACE_Module<ACE_SYNCH> *) mt->object ();
01708 
01709   if (ACE_OS::strcmp (mp->name (), module_type_name) != 0)
01710     {
01711       ACE_DEBUG ((LM_DEBUG,
01712                   ACE_LIB_TEXT ("warning: assigning Module_Type name %s to Module %s since names differ\n"),
01713                   module_type_name,
01714                   mp->name ()));
01715       mp->name (module_type_name);
01716     }
01717 
01718   return mt;
01719 }
01720 
01721 #if defined (DEBUGGING)
01722 // Main driver program.
01723 
01724 int
01725 main (int argc, char *argv[])
01726 {
01727   ACE_Svc_Conf_Param param (stdin);
01728 
01729   // Try to reopen any filename argument to use ACE_YYIN.
01730   if (argc > 1 && (ace_yyin = freopen (argv[1], "r", stdin)) == 0)
01731     (void) ACE_OS::ACE_OS::fprintf (stderr, ACE_LIB_TEXT ("usage: %s [file]\n"), argv[0]), ACE_OS::exit (1);
01732 
01733   return ::ace_yyparse (&param);
01734 }
01735 #endif /* DEBUGGING */
01736 
01737 ACE_END_VERSIONED_NAMESPACE_DECL
01738 
01739 #endif  /* ACE_USES_CLASSIC_SVC_CONF == 1 */

Generated on Thu Nov 9 09:42:06 2006 for ACE by doxygen 1.3.6