summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriliyan <iliyan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2008-03-25 16:51:17 +0000
committeriliyan <iliyan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2008-03-25 16:51:17 +0000
commit3e5bced071cf593e64dbb22a240370f27235863e (patch)
tree0a14e30d8738a6da5ff6801130457164ee17f7ea
parent4cbf5752999bfd22aa1f7b0c87573539154d7088 (diff)
downloadATCD-3e5bced071cf593e64dbb22a240370f27235863e.tar.gz
ChangeLogTag: Tue Mar 25 16:44:29 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
-rw-r--r--ACE/ChangeLog.iliyan-gestalt44
-rw-r--r--ACE/ace/Parse_Node.cpp60
-rw-r--r--ACE/ace/Service_Config.h21
-rw-r--r--ACE/ace/Service_Gestalt.cpp26
-rw-r--r--ACE/ace/Service_Repository.cpp165
-rw-r--r--ACE/ace/Service_Types.cpp2
-rw-r--r--ACE/ace/Svc_Conf.h3
-rw-r--r--ACE/ace/Svc_Conf.y30
-rw-r--r--ACE/ace/Svc_Conf_Tokens.h35
-rw-r--r--ACE/ace/Svc_Conf_y.cpp1215
-rw-r--r--ACE/ace/svcconf.mpb1
-rw-r--r--ACE/examples/ASX/CCM_App/ASX_CCM_App.mpc2
-rw-r--r--ACE/examples/ASX/CCM_App/CCM_App.cpp5
13 files changed, 996 insertions, 613 deletions
diff --git a/ACE/ChangeLog.iliyan-gestalt b/ACE/ChangeLog.iliyan-gestalt
index b4662596375..88d71a43916 100644
--- a/ACE/ChangeLog.iliyan-gestalt
+++ b/ACE/ChangeLog.iliyan-gestalt
@@ -1,3 +1,47 @@
+Tue Mar 25 16:44:29 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
+
+ * examples/ASX/CCM_App/ASX_CCM_App.mpc:
+ * examples/ASX/CCM_App/CCM_App.cpp:
+
+ The DLL names are case-sensitive on *nix. Minor layout changes.
+
+ * ace/Parse_Node.cpp:
+
+ Fixing ACE_Stream_Node::{apply,link} to ensure the modules are linked
+ together and initialized correctly - see bug#2916. Moving the
+ initialization code out of the yacc parser, here.
+
+ * ace/Service_Config.h:
+
+ Making singleton() a public method. Updated comments on static
+ methods to indicate that those are now deprecated and should be
+ avoided in favor of the coresponding instance methods.
+
+ * ace/Service_Gestalt.cpp:
+
+ Renaming a local variable
+
+ * ace/Service_Repository.cpp:
+ * ace/Service_Types.cpp:
+
+ Adding/improved logging to remove_i, fini, close. Layout changes.
+
+ * ace/Svc_Conf.h:
+ * ace/Svc_Conf.y:
+ * ace/Svc_Conf_y.cpp:
+
+ Adding an overloaded yyerror that takes just a string to comply
+ with the changed bison template. Moving the module initialization
+ code out of the parser. See ACE_Stream_Node class.
+
+ * ace/Svc_Conf_Tokens.h:
+
+ Cosmetic changes (generated file)
+
+ * ace/svcconf.mpb:
+
+ Updated for Bison 2.3
+
Sat Mar 22 04:27:10 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
* ace/Service_Object.cpp:
diff --git a/ACE/ace/Parse_Node.cpp b/ACE/ace/Parse_Node.cpp
index 376866af7fb..1504290c95f 100644
--- a/ACE/ace/Parse_Node.cpp
+++ b/ACE/ace/Parse_Node.cpp
@@ -30,14 +30,55 @@ ACE_Stream_Node::dump (void) const
#endif /* ACE_HAS_DUMP */
}
+#include "ace/ARGV.h"
+
void
ACE_Stream_Node::apply (ACE_Service_Gestalt *config, int &yyerrno)
{
ACE_TRACE ("ACE_Stream_Node::apply");
- if (config->initialize (this->node_->record (config),
- this->node_->parameters ()) == -1)
- ++yyerrno;
+ const ACE_Service_Type *sst = this->node_->record (config);
+ if (sst == 0)
+ const_cast<ACE_Static_Node *> (this->node_)->apply (config, yyerrno);
+
+ if (yyerrno != 0) return;
+
+ sst = this->node_->record (config);
+ ACE_Stream_Type *st =
+ dynamic_cast<ACE_Stream_Type *> (const_cast<ACE_Service_Type_Impl *> (sst->type ()));
+
+ for (const ACE_Static_Node *module = dynamic_cast<const ACE_Static_Node*> (this->mods_);
+ module != 0;
+ module = dynamic_cast<ACE_Static_Node*> (module->link()))
+ {
+ ACE_ARGV args (module->parameters ());
+
+ const ACE_Service_Type *mst = module->record (config);
+ if (mst == 0)
+ const_cast<ACE_Static_Node *> (module)->apply (config, yyerrno);
+
+ if (yyerrno != 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_LIB_TEXT ("dynamic initialization failed for Module %s\n"),
+ module->name ()));
+ ++yyerrno;
+ }
+
+ ACE_Module_Type const * const mt1 =
+ static_cast <ACE_Module_Type const *> (module->record (config)->type());
+
+ ACE_Module_Type *mt = const_cast<ACE_Module_Type *>(mt1);
+
+ if (st->push (mt) == -1)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_LIB_TEXT ("dynamic initialization failed for Stream %s\n"),
+ this->node_->name ()));
+ ++yyerrno;
+ }
+
+ }
#ifndef ACE_NLOGGING
if (ACE::debug ())
@@ -76,7 +117,14 @@ void
ACE_Parse_Node::link (ACE_Parse_Node *n)
{
ACE_TRACE ("ACE_Parse_Node::link");
- this->next_ = n;
+
+ // Find the last list entry (if any) ...
+ ACE_Parse_Node *t = this;
+ while (t->next_ != 0)
+ t = t->next_;
+
+ // ... and insert n there.
+ t->next_ = n;
}
ACE_Stream_Node::ACE_Stream_Node (const ACE_Static_Node *str_ops,
@@ -718,7 +766,7 @@ ACE_Static_Function_Node::symbol (ACE_Service_Gestalt *config,
ACE_Static_Svc_Descriptor *ssd = 0;
if (config->find_static_svc_descriptor (this->function_name_, &ssd) == -1)
{
- yyerrno++;
+ ++yyerrno;
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("(%P|%t) No static service ")
ACE_TEXT ("registered for function %s\n"),
@@ -728,7 +776,7 @@ ACE_Static_Function_Node::symbol (ACE_Service_Gestalt *config,
if (ssd->alloc_ == 0)
{
- yyerrno++;
+ ++yyerrno;
if (this->symbol_ == 0)
{
diff --git a/ACE/ace/Service_Config.h b/ACE/ace/Service_Config.h
index fc164b5c697..181803da6a1 100644
--- a/ACE/ace/Service_Config.h
+++ b/ACE/ace/Service_Config.h
@@ -263,14 +263,13 @@ protected:
/// = Static interfaces
+ public:
/**
* Returns the process-wide global singleton instance. It would
* have been created and will be managed by the Object Manager.
*/
static ACE_Service_Config* singleton (void);
-
- public:
/**
* Mutator to set the "global" instance. Intended for use by helper
* classes like @see ACE_Service_Config_Guard. Stack-based instances
@@ -530,6 +529,7 @@ protected:
* for a list of files and here a list of services.
*/
static int parse_args (int, ACE_TCHAR *argv[]);
+
#if (ACE_USES_CLASSIC_SVC_CONF == 0)
static ACE_Service_Type *create_service_type (const ACE_TCHAR *n,
ACE_Service_Type_Impl *o,
@@ -546,22 +546,25 @@ protected:
protected:
- /// Process service configuration requests that were provided on the
- /// command-line. Returns the number of errors that occurred.
+ // @deprecated
+ // Process service configuration requests that were provided on the
+ // command-line. Returns the number of errors that occurred.
static int process_commandline_directives (void);
#if (ACE_USES_CLASSIC_SVC_CONF == 1)
- /// This is the implementation function that process_directives()
- /// and process_directive() both call. Returns the number of errors
- /// that occurred.
+ // @deprecated
+ // This is the implementation function that process_directives()
+ // and process_directive() both call. Returns the number of errors
+ // that occurred.
static int process_directives_i (ACE_Svc_Conf_Param *param);
#endif /* ACE_USES_CLASSIC_SVC_CONF == 1 */
/// Become a daemon.
static int start_daemon (void);
- /// Add the default statically-linked services to the
- /// ACE_Service_Repository.
+ // @deprecated
+ // Add the default statically-linked services to the
+ // ACE_Service_Repository.
static int load_static_svcs (void);
diff --git a/ACE/ace/Service_Gestalt.cpp b/ACE/ace/Service_Gestalt.cpp
index 829ae3e3040..b2b2abf9340 100644
--- a/ACE/ace/Service_Gestalt.cpp
+++ b/ACE/ace/Service_Gestalt.cpp
@@ -274,11 +274,11 @@ ACE_Service_Gestalt::init_i (void)
// for processing
FILE *fp = ACE_OS::fopen (ACE_DEFAULT_SVC_CONF,
ACE_TEXT ("r"));
- bool no_static_svcs_ = (fp == 0);
+ bool skip_static_svcs = (fp == 0);
if (fp != 0)
ACE_OS::fclose (fp);
- if (!no_static_svcs_) {
+ if (!skip_static_svcs) {
// Load the default "svc.conf" entry here if there weren't
// overriding -f arguments in <parse_args>.
if (svc_conf_file_queue_->enqueue_tail
@@ -813,6 +813,17 @@ ACE_Service_Gestalt::process_directive_i (const ACE_Static_Svc_Descriptor &ssd,
int
ACE_Service_Gestalt::process_directives_i (ACE_Svc_Conf_Param *param)
{
+#ifndef ACE_NLOGGING
+ if (ACE::debug ())
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("ACE (%P|%t) SG::process_directives_i, ")
+ ACE_TEXT ("repo=%@ - %s\n"),
+ this->repo_,
+ (param->type == ACE_Svc_Conf_Param::SVC_CONF_FILE)
+ ? ACE_TEXT ("<from file>")
+ : param->source.directive));
+#endif
+
// AC 970827 Skip the heap check because yacc allocates a buffer
// here which will be reported as a memory leak for some reason.
ACE_NO_HEAP_CHECK
@@ -829,17 +840,6 @@ ACE_Service_Gestalt::process_directives_i (ACE_Svc_Conf_Param *param)
// correct order, i.e. prior to finalizing the DLL
ACE_Service_Config_Guard guard (this);
-#ifndef ACE_NLOGGING
- if (ACE::debug ())
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("ACE (%P|%t) SG::process_directives_i, ")
- ACE_TEXT ("repo=%@ - %s\n"),
- this->repo_,
- (param->type == ACE_Svc_Conf_Param::SVC_CONF_FILE)
- ? ACE_TEXT ("<from file>")
- : param->source.directive));
-#endif
-
::ace_yyparse (param);
// This is a hack, better errors should be provided...
diff --git a/ACE/ace/Service_Repository.cpp b/ACE/ace/Service_Repository.cpp
index 8413ad6371b..7e6757f30b2 100644
--- a/ACE/ace/Service_Repository.cpp
+++ b/ACE/ace/Service_Repository.cpp
@@ -138,41 +138,49 @@ ACE_Service_Repository::fini (void)
{
ACE_TRACE ("ACE_Service_Repository::fini");
ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, this->lock_, -1));
+
+ if (this->service_vector_ == 0)
+ return 0;
+
int retval = 0;
- if (this->service_vector_ != 0)
+ // Do not be tempted to use the prefix decrement operator. Use
+ // postfix decrement operator since the index is unsigned and may
+ // wrap around the 0
+ for (size_t i = this->current_size_; i-- != 0; )
{
- // <fini> the services in reverse order. Note that if services
- // were removed from the middle of the repository the order
- // won't necessarily be maintained since the <remove> method
- // performs compaction. However, the common case is not to
- // remove services, so typically they are deleted in reverse
- // order.
-
- // Do not be tempted to use the prefix decrement operator. We
- // need to use the postfix decrement operator in this case since
- // the index is unsigned and may wrap around the 0
- for (size_t i = this->current_size_; i-- != 0; )
- {
- ACE_Service_Type *s =
- const_cast<ACE_Service_Type *> (this->service_vector_[i]);
+ // <fini> the services in reverse order.
+ ACE_Service_Type *s =
+ const_cast<ACE_Service_Type *> (this->service_vector_[i]);
- if (s == 0) continue; // skip any gaps
#ifndef ACE_NLOGGING
- if (ACE::debug ())
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("ACE (%P|%t) SR::fini, repo=%@ [%d] (%d), ")
- ACE_TEXT ("name=%s, type=%@, impl=%@, object=%@, active=%d\n"),
- this, i, this->total_size_, s->name(), s->type (),
- (s->type () != 0) ? s->type ()->object () : 0,
- s->active ()));
+ if (ACE::debug ())
+ {
+ if (s != 0)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("ACE (%P|%t) SR::fini, repo=%@ [%d] (%d), ")
+ ACE_TEXT ("name=%s, type=%@, object=%@, active=%d\n"),
+ this,
+ i,
+ this->total_size_,
+ s->name(),
+ s->type (),
+ (s->type () != 0) ? s->type ()->object () : 0,
+ s->active ()));
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("ACE (%P|%t) SR::fini, repo=%@ [%d] (%d) -> 0\n"),
+ this,
+ i,
+ this->total_size_));
+ }
+
#endif
- // Collect any errors.
- int ret = s->fini ();
- retval += ret;
- }
+ // Collect any errors.
+ if (s != 0)
+ retval += s->fini ();
}
return (retval == 0) ? 0 : -1;
@@ -186,51 +194,50 @@ ACE_Service_Repository::close (void)
ACE_TRACE ("ACE_Service_Repository::close");
ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, this->lock_, -1));
- if (this->service_vector_ != 0)
- {
- // Delete services in reverse order. Note that if services were
- // removed from the middle of the repository the order won't
- // necessarily be maintained since the <remove> method performs
- // compaction. However, the common case is not to remove
- // services, so typically they are deleted in reverse order.
+ if (this->service_vector_ == 0)
+ return 0;
#ifndef ACE_NLOGGING
- if(ACE::debug ())
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("(%P|%t) SR::close - repo=%@, size=%d\n"),
- this,
- this->current_size_));
+ if(ACE::debug ())
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) SR::close - repo=%@, size=%d\n"),
+ this,
+ this->current_size_));
#endif
- // Do not be tempted to use the prefix decrement operator. We
- // need to use the postfix decrement operator in this case since
- // the index is unsigned and may wrap around the 0.
- for (size_t i = this->current_size_; i-- != 0; )
- {
- ACE_Service_Type *s =
- const_cast<ACE_Service_Type *> (this->service_vector_[i]);
-
- if (s == 0) continue;
+ // Do not use the prefix decrement operator since the index is
+ // unsigned and may wrap around the 0.
+ for (size_t i = this->current_size_; i-- != 0; )
+ {
+ // Delete services in reverse order.
+ ACE_Service_Type *s =
+ const_cast<ACE_Service_Type *> (this->service_vector_[i]);
#ifndef ACE_NLOGGING
- if(ACE::debug ())
+ if(ACE::debug ())
+ {
+ if (s == 0)
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("(%P|%t) SR::close - repo=%@ [%d], name=%s, object=%@\n"),
+ ACE_TEXT ("(%P|%t) SR::close - repo=%@ [%d] -> 0\n"),
this,
- i,
- s->name (),
- s));
-#endif
-
- --this->current_size_;
- delete s;
+ i));
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) SR::close - repo=%@ [%d], name=%s, object=%@\n"),
+ this,
+ i,
+ s->name (),
+ s));
}
-
- delete [] this->service_vector_;
- this->service_vector_ = 0;
- this->current_size_ = 0;
+#endif
+ --this->current_size_;
+ delete s;
}
+ delete [] this->service_vector_;
+ this->service_vector_ = 0;
+ this->current_size_ = 0;
+
return 0;
}
@@ -313,20 +320,23 @@ ACE_Service_Repository::relocate_i (size_t begin,
ACE_SHLIB_HANDLE old_handle = type->dll ().get_handle (0);
if (old_handle == ACE_SHLIB_INVALID_HANDLE && new_handle != old_handle)
- {
+ {
#ifndef ACE_NLOGGING
- if (ACE::debug ())
+ if (ACE::debug ())
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("ACE (%P|%t) SR::relocate dependent, repo=%@ [%d] (size=%d)")
- ACE_TEXT (": name=%s, handle: %d -> %d\n"),
- this, i, this->total_size_, type->name (),
- old_handle,
- new_handle));
+ ACE_TEXT ("ACE (%P|%t) SR::relocate - repo=%@ [%d] (size=%d)")
+ ACE_TEXT (": name=%s, handle: %d -> %d\n"),
+ this,
+ i,
+ this->total_size_,
+ type->name (),
+ old_handle,
+ new_handle));
#else
- ACE_UNUSED_ARG (new_handle);
+ ACE_UNUSED_ARG (new_handle);
#endif
- type->dll (adll); // ups the refcount on adll
- }
+ type->dll (adll); // ups the refcount on adll
+ }
}
return 0;
@@ -511,6 +521,19 @@ ACE_Service_Repository::remove_i (const ACE_TCHAR name[], ACE_Service_Type **ps)
// We may need the old ptr - to be delete outside the lock!
*ps = const_cast<ACE_Service_Type *> (this->service_vector_[i]);
+#ifndef ACE_NLOGGING
+ if (ACE::debug ())
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("ACE (%P|%t) SR::remove_i - repo=%@ [%d] (%d),")
+ ACE_TEXT (" name=%s (removed) (type=%@, active=%d)\n"),
+ this,
+ i,
+ this->total_size_,
+ name,
+ *ps,
+ (*ps)->active ()));
+#endif
+
this->service_vector_[i] = 0; // simply leave a gap
return 0;
}
diff --git a/ACE/ace/Service_Types.cpp b/ACE/ace/Service_Types.cpp
index dabedab22e0..1bd5856d21f 100644
--- a/ACE/ace/Service_Types.cpp
+++ b/ACE/ace/Service_Types.cpp
@@ -120,7 +120,7 @@ ACE_Service_Object_Type::fini (void) const
// Call fini() if an only if, the object was successfuly
// initialized, i.e. init() returned 0. This is necessary to
// maintain the ctor/dtor-like semantics for init/fini.
- if (so && initialized_ == 0)
+ if (so != 0 && this->initialized_ == 0)
so->fini ();
return ACE_Service_Type_Impl::fini ();
diff --git a/ACE/ace/Svc_Conf.h b/ACE/ace/Svc_Conf.h
index f22fcb9a5f3..dbab2ddf8da 100644
--- a/ACE/ace/Svc_Conf.h
+++ b/ACE/ace/Svc_Conf.h
@@ -69,7 +69,8 @@ ACE_YY_DECL;
/// Name of input stream
extern FILE *ace_yyin;
-/// Error handling routine required by YACC or BISON
+/// Error handling routines required by YACC or BISON
+void ace_yyerror (char const *);
void ace_yyerror (int yyerrno, int yylineno, char const *);
/// Holds the lexeme for the current token
diff --git a/ACE/ace/Svc_Conf.y b/ACE/ace/Svc_Conf.y
index 6b8ee2a1ad7..a47e25e1abd 100644
--- a/ACE/ace/Svc_Conf.y
+++ b/ACE/ace/Svc_Conf.y
@@ -170,30 +170,6 @@ module_list
module
: dynamic
{
- ACE_Static_Node *svc_type = $<static_node_>1;
-
- if (svc_type != 0)
- {
- ACE_Static_Node *module = $<static_node_>-1;
-
- ACE_ARGV args (svc_type->parameters ());
- ACE_Module_Type *mt = ace_get_module (module->record (ACE_SVC_CONF_PARAM->config),
- svc_type->record (ACE_SVC_CONF_PARAM->config),
- ACE_SVC_CONF_PARAM->yyerrno);
- ACE_Stream_Type *st =
- dynamic_cast<ACE_Stream_Type *> (const_cast<ACE_Service_Type_Impl *> (module->record (ACE_SVC_CONF_PARAM->config)->type ()));
-
- if (!st
- || !mt
- || mt->init (args.argc (), args.argv ()) == -1
- || st->push (mt) == -1)
- {
- ACE_ERROR ((LM_ERROR,
- ACE_LIB_TEXT ("dynamic initialization failed for Module %s\n"),
- svc_type->name ()));
- ACE_SVC_CONF_PARAM->yyerrno++;
- }
- }
}
| static
{
@@ -319,6 +295,12 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
// messages.
void
+yyerror (char const * s)
+{
+ yyerror (-1, -1, s);
+}
+
+void
yyerror (int yyerrno, int yylineno, char const * s)
{
#if defined (ACE_NLOGGING)
diff --git a/ACE/ace/Svc_Conf_Tokens.h b/ACE/ace/Svc_Conf_Tokens.h
index 8c514a0a582..d52b66aeedc 100644
--- a/ACE/ace/Svc_Conf_Tokens.h
+++ b/ACE/ace/Svc_Conf_Tokens.h
@@ -1,11 +1,13 @@
-// $Id$
+// $Id:$
#ifndef BISON_SVC_CONF_TAB_H
# define BISON_SVC_CONF_TAB_H
# define ACE_YYSTYPE_IS_DECLARED 1
-/* A Bison parser, made by GNU Bison 2.0. */
+/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton parser for Yacc-like parsing with Bison,
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+/* Skeleton interface for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+ Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -19,13 +21,21 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
+
+/* As a special exception, you may create a larger work that contains
+ part or all of the Bison parser skeleton and distribute that work
+ under terms of your choice, so long as that work isn't itself a
+ parser generator using the skeleton or a modified version thereof
+ as a parser skeleton. Alternatively, if you modify or redistribute
+ the parser skeleton itself, you may (at your option) remove this
+ special exception, which will cause the skeleton and the resulting
+ Bison output files to be licensed under the GNU General Public
+ License without this special exception.
-/* As a special exception, when this file is copied by Bison into a
- Bison output file, you may use that output file without restriction.
- This special exception was added by the Free Software Foundation
- in version 1.24 of Bison. */
+ This special exception was added by the Free Software Foundation in
+ version 2.2 of Bison. */
/* Tokens. */
#ifndef ACE_YYTOKENTYPE
@@ -49,6 +59,7 @@
ACE_STRING = 271
};
#endif
+/* Tokens. */
#define ACE_DYNAMIC 258
#define ACE_STATIC 259
#define ACE_SUSPEND 260
@@ -67,7 +78,7 @@
-#if ! defined (ACE_YYSTYPE) && ! defined (ACE_YYSTYPE_IS_DECLARED)
+#if ! defined ACE_YYSTYPE && ! defined ACE_YYSTYPE_IS_DECLARED
typedef int ACE_YYSTYPE;
# define ace_yystype ACE_YYSTYPE /* obsolescent; will be withdrawn */
# define ACE_YYSTYPE_IS_DECLARED 1
@@ -76,6 +87,4 @@ typedef int ACE_YYSTYPE;
-
-
#endif /* ifndef BISON_SVC_CONF_TAB_H */
diff --git a/ACE/ace/Svc_Conf_y.cpp b/ACE/ace/Svc_Conf_y.cpp
index cc303d98d31..c319ac0cc73 100644
--- a/ACE/ace/Svc_Conf_y.cpp
+++ b/ACE/ace/Svc_Conf_y.cpp
@@ -1,7 +1,9 @@
-/* A Bison parser, made by GNU Bison 2.0. */
+/* A Bison parser, made by GNU Bison 2.3. */
-/* Skeleton parser for Yacc-like parsing with Bison,
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+ Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -15,16 +17,24 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
+
+/* As a special exception, you may create a larger work that contains
+ part or all of the Bison parser skeleton and distribute that work
+ under terms of your choice, so long as that work isn't itself a
+ parser generator using the skeleton or a modified version thereof
+ as a parser skeleton. Alternatively, if you modify or redistribute
+ the parser skeleton itself, you may (at your option) remove this
+ special exception, which will cause the skeleton and the resulting
+ Bison output files to be licensed under the GNU General Public
+ License without this special exception.
-/* As a special exception, when this file is copied by Bison into a
- Bison output file, you may use that output file without restriction.
- This special exception was added by the Free Software Foundation
- in version 1.24 of Bison. */
+ This special exception was added by the Free Software Foundation in
+ version 2.2 of Bison. */
-/* Written by Richard Stallman by simplifying the original so called
- ``semantic'' parser. */
+/* C LALR(1) parser skeleton written by Richard Stallman, by
+ simplifying the original so-called "semantic" parser. */
/* All symbols defined below should begin with ace_yy or ACE_YY, to avoid
infringing on user name space. This should be done even for local
@@ -36,6 +46,9 @@
/* Identify Bison output. */
#define ACE_YYBISON 1
+/* Bison version. */
+#define ACE_YYBISON_VERSION "2.3"
+
/* Skeleton name. */
#define ACE_YYSKELETON_NAME "yacc.c"
@@ -45,10 +58,7 @@
/* Using locations. */
#define ACE_YYLSP_NEEDED 0
-/* On HP-UX aC++ on Itanium, disable warning 2111, statement is unreachable. */
-#if defined (__HP_aCC) && defined (__ia64)
-# pragma diag_suppress 2111
-#endif
+
/* Tokens. */
#ifndef ACE_YYTOKENTYPE
@@ -72,6 +82,7 @@
ACE_STRING = 271
};
#endif
+/* Tokens. */
#define ACE_DYNAMIC 258
#define ACE_STATIC 259
#define ACE_SUSPEND 260
@@ -116,13 +127,13 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL
// Prototypes.
-static ACE_Module_Type *ace_get_module (const ACE_Service_Type *sr,
- const ACE_Service_Type *sv,
- int & ace_ace_yyerrno);
+static ACE_Module_Type *ace_get_module (ACE_Service_Type const * sr,
+ ACE_Service_Type const * sv,
+ int & ace_ace_yyerrno);
-static ACE_Module_Type *ace_get_module (const ACE_Service_Type *sr,
- const ACE_TCHAR *svc_name,
- int & ace_ace_yyerrno);
+static ACE_Module_Type *ace_get_module (ACE_Service_Type const * sr,
+ ACE_TCHAR const * svc_name,
+ int & ace_ace_yyerrno);
#define ACE_YYDEBUG_LEXER_TEXT (ace_yytext[ace_yyleng] = '\0', ace_yytext)
@@ -132,6 +143,7 @@ static ACE_Module_Type *ace_get_module (const ACE_Service_Type *sr,
ACE_END_VERSIONED_NAMESPACE_DECL
+
/* Enabling traces. */
#ifndef ACE_YYDEBUG
# define ACE_YYDEBUG 0
@@ -145,7 +157,12 @@ ACE_END_VERSIONED_NAMESPACE_DECL
# define ACE_YYERROR_VERBOSE 0
#endif
-#if ! defined (ACE_YYSTYPE) && ! defined (ACE_YYSTYPE_IS_DECLARED)
+/* Enabling the token table. */
+#ifndef ACE_YYTOKEN_TABLE
+# define ACE_YYTOKEN_TABLE 0
+#endif
+
+#if ! defined ACE_YYSTYPE && ! defined ACE_YYSTYPE_IS_DECLARED
typedef int ACE_YYSTYPE;
# define ace_yystype ACE_YYSTYPE /* obsolescent; will be withdrawn */
# define ACE_YYSTYPE_IS_DECLARED 1
@@ -157,17 +174,94 @@ typedef int ACE_YYSTYPE;
/* Copy the second part of user declarations. */
-/* Line 213 of yacc.c. */
+/* Line 216 of yacc.c. */
+
+
+#ifdef short
+# undef short
+#endif
+
+#ifdef ACE_YYTYPE_UINT8
+typedef ACE_YYTYPE_UINT8 ace_yytype_uint8;
+#else
+typedef unsigned char ace_yytype_uint8;
+#endif
+
+#ifdef ACE_YYTYPE_INT8
+typedef ACE_YYTYPE_INT8 ace_yytype_int8;
+#elif (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+typedef signed char ace_yytype_int8;
+#else
+typedef short int ace_yytype_int8;
+#endif
+
+#ifdef ACE_YYTYPE_UINT16
+typedef ACE_YYTYPE_UINT16 ace_yytype_uint16;
+#else
+typedef unsigned short int ace_yytype_uint16;
+#endif
+#ifdef ACE_YYTYPE_INT16
+typedef ACE_YYTYPE_INT16 ace_yytype_int16;
+#else
+typedef short int ace_yytype_int16;
+#endif
-#if ! defined (ace_yyoverflow) || ACE_YYERROR_VERBOSE
+#ifndef ACE_YYSIZE_T
+# ifdef __SIZE_TYPE__
+# define ACE_YYSIZE_T __SIZE_TYPE__
+# elif defined size_t
+# define ACE_YYSIZE_T size_t
+# elif ! defined ACE_YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+# define ACE_YYSIZE_T size_t
+# else
+# define ACE_YYSIZE_T unsigned int
+# endif
+#endif
+
+#define ACE_YYSIZE_MAXIMUM ((ACE_YYSIZE_T) -1)
-# ifndef ACE_YYFREE
-# define ACE_YYFREE free
+#ifndef ACE_YY_
+# if ACE_YYENABLE_NLS
+# if ENABLE_NLS
+# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+# define ACE_YY_(msgid) dgettext ("bison-runtime", msgid)
+# endif
# endif
-# ifndef ACE_YYMALLOC
-# define ACE_YYMALLOC malloc
+# ifndef ACE_YY_
+# define ACE_YY_(msgid) msgid
# endif
+#endif
+
+/* Suppress unused-variable warnings by "using" E. */
+#if ! defined lint || defined __GNUC__
+# define ACE_YYUSE(e) ((void) (e))
+#else
+# define ACE_YYUSE(e) /* empty */
+#endif
+
+/* Identity function, used to suppress warnings about constant conditions. */
+#ifndef lint
+# define ACE_YYID(n) (n)
+#else
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static int
+ACE_YYID (int i)
+#else
+static int
+ACE_YYID (i)
+ int i;
+#endif
+{
+ return i;
+}
+#endif
+
+#if ! defined ace_yyoverflow || ACE_YYERROR_VERBOSE
/* The parser invokes alloca or malloc; define the necessary symbols. */
@@ -175,34 +269,76 @@ typedef int ACE_YYSTYPE;
# if ACE_YYSTACK_USE_ALLOCA
# ifdef __GNUC__
# define ACE_YYSTACK_ALLOC __builtin_alloca
+# elif defined __BUILTIN_VA_ARG_INCR
+# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
+# elif defined _AIX
+# define ACE_YYSTACK_ALLOC __alloca
+# elif defined _MSC_VER
+# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
+# define alloca _alloca
# else
# define ACE_YYSTACK_ALLOC alloca
+# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+# ifndef _STDLIB_H
+# define _STDLIB_H 1
+# endif
+# endif
# endif
# endif
# endif
# ifdef ACE_YYSTACK_ALLOC
- /* Pacify GCC's `empty if-body' warning. */
-# define ACE_YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
-# else
-# if defined (__STDC__) || defined (__cplusplus)
-# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# define ACE_YYSIZE_T size_t
+ /* Pacify GCC's `empty if-body' warning. */
+# define ACE_YYSTACK_FREE(Ptr) do { /* empty */; } while (ACE_YYID (0))
+# ifndef ACE_YYSTACK_ALLOC_MAXIMUM
+ /* The OS might guarantee only one guard page at the bottom of the stack,
+ and a page size can be as small as 4096 bytes. So we cannot safely
+ invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
+ to allow for a few compiler-allocated temporary stack slots. */
+# define ACE_YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
# endif
+# else
# define ACE_YYSTACK_ALLOC ACE_YYMALLOC
# define ACE_YYSTACK_FREE ACE_YYFREE
+# ifndef ACE_YYSTACK_ALLOC_MAXIMUM
+# define ACE_YYSTACK_ALLOC_MAXIMUM ACE_YYSIZE_MAXIMUM
+# endif
+# if (defined __cplusplus && ! defined _STDLIB_H \
+ && ! ((defined ACE_YYMALLOC || defined malloc) \
+ && (defined ACE_YYFREE || defined free)))
+# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+# ifndef _STDLIB_H
+# define _STDLIB_H 1
+# endif
+# endif
+# ifndef ACE_YYMALLOC
+# define ACE_YYMALLOC malloc
+# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+void *malloc (ACE_YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+# endif
+# endif
+# ifndef ACE_YYFREE
+# define ACE_YYFREE free
+# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+void free (void *); /* INFRINGES ON USER NAME SPACE */
+# endif
+# endif
# endif
-#endif /* ! defined (ace_yyoverflow) || ACE_YYERROR_VERBOSE */
+#endif /* ! defined ace_yyoverflow || ACE_YYERROR_VERBOSE */
-#if (! defined (ace_yyoverflow) \
- && (! defined (__cplusplus) \
- || (defined (ACE_YYSTYPE_IS_TRIVIAL) && ACE_YYSTYPE_IS_TRIVIAL)))
+#if (! defined ace_yyoverflow \
+ && (! defined __cplusplus \
+ || (defined ACE_YYSTYPE_IS_TRIVIAL && ACE_YYSTYPE_IS_TRIVIAL)))
/* A type that is properly aligned for any stack member. */
union ace_yyalloc
{
- short int ace_yyss;
+ ace_yytype_int16 ace_yyss;
ACE_YYSTYPE ace_yyvs;
};
@@ -212,24 +348,24 @@ union ace_yyalloc
/* The size of an array large to enough to hold all stacks, each with
N elements. */
# define ACE_YYSTACK_BYTES(N) \
- ((N) * (sizeof (short int) + sizeof (ACE_YYSTYPE)) \
+ ((N) * (sizeof (ace_yytype_int16) + sizeof (ACE_YYSTYPE)) \
+ ACE_YYSTACK_GAP_MAXIMUM)
/* Copy COUNT objects from FROM to TO. The source and destination do
not overlap. */
# ifndef ACE_YYCOPY
-# if defined (__GNUC__) && 1 < __GNUC__
+# if defined __GNUC__ && 1 < __GNUC__
# define ACE_YYCOPY(To, From, Count) \
__builtin_memcpy (To, From, (Count) * sizeof (*(From)))
# else
-# define ACE_YYCOPY(To, From, Count) \
- do \
- { \
- register ACE_YYSIZE_T ace_yyi; \
- for (ace_yyi = 0; ace_yyi < (Count); ace_yyi++) \
- (To)[ace_yyi] = (From)[ace_yyi]; \
- } \
- while (0)
+# define ACE_YYCOPY(To, From, Count) \
+ do \
+ { \
+ ACE_YYSIZE_T ace_yyi; \
+ for (ace_yyi = 0; ace_yyi < (Count); ace_yyi++) \
+ (To)[ace_yyi] = (From)[ace_yyi]; \
+ } \
+ while (ACE_YYID (0))
# endif
# endif
@@ -238,48 +374,42 @@ union ace_yyalloc
elements in the stack, and ACE_YYPTR gives the new location of the
stack. Advance ACE_YYPTR to a properly aligned location for the next
stack. */
-# define ACE_YYSTACK_RELOCATE(Stack) \
- do \
- { \
- ACE_YYSIZE_T ace_yynewbytes; \
- ACE_YYCOPY (&ace_yyptr->Stack, Stack, ace_yysize); \
- Stack = &ace_yyptr->Stack; \
- ace_yynewbytes = ace_yystacksize * sizeof (*Stack) + ACE_YYSTACK_GAP_MAXIMUM; \
- ace_yyptr += ace_yynewbytes / sizeof (*ace_yyptr); \
- } \
- while (0)
-
-#endif
+# define ACE_YYSTACK_RELOCATE(Stack) \
+ do \
+ { \
+ ACE_YYSIZE_T ace_yynewbytes; \
+ ACE_YYCOPY (&ace_yyptr->Stack, Stack, ace_yysize); \
+ Stack = &ace_yyptr->Stack; \
+ ace_yynewbytes = ace_yystacksize * sizeof (*Stack) + ACE_YYSTACK_GAP_MAXIMUM; \
+ ace_yyptr += ace_yynewbytes / sizeof (*ace_yyptr); \
+ } \
+ while (ACE_YYID (0))
-#if defined (__STDC__) || defined (__cplusplus)
- typedef signed char ace_yysigned_char;
-#else
- typedef short int ace_yysigned_char;
#endif
-/* ACE_YYFINAL -- State number of the termination state. */
+/* ACE_YYFINAL -- State number of the termination state. */
#define ACE_YYFINAL 2
/* ACE_YYLAST -- Last index in ACE_YYTABLE. */
#define ACE_YYLAST 62
-/* ACE_YYNTOKENS -- Number of terminals. */
+/* ACE_YYNTOKENS -- Number of terminals. */
#define ACE_YYNTOKENS 23
-/* ACE_YYNNTS -- Number of nonterminals. */
+/* ACE_YYNNTS -- Number of nonterminals. */
#define ACE_YYNNTS 21
-/* ACE_YYNRULES -- Number of rules. */
+/* ACE_YYNRULES -- Number of rules. */
#define ACE_YYNRULES 45
-/* ACE_YYNRULES -- Number of states. */
+/* ACE_YYNRULES -- Number of states. */
#define ACE_YYNSTATES 66
/* ACE_YYTRANSLATE(ACE_YYLEX) -- Bison symbol number corresponding to ACE_YYLEX. */
#define ACE_YYUNDEFTOK 2
#define ACE_YYMAXUTOK 271
-#define ACE_YYTRANSLATE(ACE_YYX) \
+#define ACE_YYTRANSLATE(ACE_YYX) \
((unsigned int) (ACE_YYX) <= ACE_YYMAXUTOK ? ace_yytranslate[ACE_YYX] : ACE_YYUNDEFTOK)
/* ACE_YYTRANSLATE[ACE_YYLEX] -- Bison symbol number corresponding to ACE_YYLEX. */
-static const unsigned char ace_yytranslate[] =
+static const ace_yytype_uint8 ace_yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@@ -314,7 +444,7 @@ static const unsigned char ace_yytranslate[] =
#if ACE_YYDEBUG
/* ACE_YYPRHS[ACE_YYN] -- Index of the first RHS symbol of rule number ACE_YYN in
ACE_YYRHS. */
-static const unsigned char ace_yyprhs[] =
+static const ace_yytype_uint8 ace_yyprhs[] =
{
0, 0, 3, 6, 9, 10, 12, 14, 16, 18,
20, 22, 26, 30, 33, 36, 39, 43, 44, 49,
@@ -323,8 +453,8 @@ static const unsigned char ace_yyprhs[] =
105, 108, 110, 111, 113, 115
};
-/* ACE_YYRHS -- A `-1'-separated list of the rules' RHS. */
-static const ace_yysigned_char ace_yyrhs[] =
+/* ACE_YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const ace_yytype_int8 ace_yyrhs[] =
{
24, 0, -1, 24, 25, -1, 24, 1, -1, -1,
26, -1, 27, -1, 28, -1, 29, -1, 30, -1,
@@ -341,19 +471,19 @@ static const ace_yysigned_char ace_yyrhs[] =
};
/* ACE_YYRLINE[ACE_YYN] -- source line where rule number ACE_YYN was defined. */
-static const unsigned short int ace_yyrline[] =
+static const ace_yytype_uint16 ace_yyrline[] =
{
0, 62, 62, 71, 75, 79, 80, 81, 82, 83,
84, 88, 98, 105, 112, 119, 126, 130, 130, 137,
- 140, 147, 146, 155, 159, 167, 171, 196, 210, 219,
- 228, 250, 257, 261, 266, 272, 276, 280, 287, 291,
- 295, 302, 303, 307, 308, 309
+ 140, 147, 146, 155, 159, 167, 171, 174, 188, 197,
+ 206, 228, 235, 239, 244, 250, 254, 258, 265, 269,
+ 273, 280, 281, 285, 286, 287
};
#endif
-#if ACE_YYDEBUG || ACE_YYERROR_VERBOSE
-/* ACE_YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
- First, the terminals, then, starting at ACE_YYNTOKENS, nonterminals. */
+#if ACE_YYDEBUG || ACE_YYERROR_VERBOSE || ACE_YYTOKEN_TABLE
+/* ACE_YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+ First, the terminals, then, starting at ACE_YYNTOKENS, nonterminals. */
static const char *const ace_yytname[] =
{
"$end", "error", "$undefined", "ACE_DYNAMIC", "ACE_STATIC",
@@ -371,7 +501,7 @@ static const char *const ace_yytname[] =
# ifdef ACE_YYPRINT
/* ACE_YYTOKNUM[ACE_YYLEX-NUM] -- Internal token number corresponding to
token ACE_YYLEX-NUM. */
-static const unsigned short int ace_yytoknum[] =
+static const ace_yytype_uint16 ace_yytoknum[] =
{
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 123, 125, 58,
@@ -380,7 +510,7 @@ static const unsigned short int ace_yytoknum[] =
# endif
/* ACE_YYR1[ACE_YYN] -- Symbol number of symbol that rule ACE_YYN derives. */
-static const unsigned char ace_yyr1[] =
+static const ace_yytype_uint8 ace_yyr1[] =
{
0, 23, 24, 24, 24, 25, 25, 25, 25, 25,
25, 26, 27, 28, 29, 30, 31, 32, 31, 33,
@@ -390,7 +520,7 @@ static const unsigned char ace_yyr1[] =
};
/* ACE_YYR2[ACE_YYN] -- Number of symbols composing right hand side of rule ACE_YYN. */
-static const unsigned char ace_yyr2[] =
+static const ace_yytype_uint8 ace_yyr2[] =
{
0, 2, 2, 2, 0, 1, 1, 1, 1, 1,
1, 3, 3, 2, 2, 2, 3, 0, 4, 1,
@@ -402,7 +532,7 @@ static const unsigned char ace_yyr2[] =
/* ACE_YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
STATE-NUM when ACE_YYTABLE doesn't specify something else to do. Zero
means the default is an error. */
-static const unsigned char ace_yydefact[] =
+static const ace_yytype_uint8 ace_yydefact[] =
{
4, 0, 1, 3, 0, 0, 0, 0, 0, 0,
2, 5, 6, 7, 8, 9, 10, 0, 42, 42,
@@ -413,8 +543,8 @@ static const unsigned char ace_yydefact[] =
29, 30, 24, 37, 0, 36
};
-/* ACE_YYDEFGOTO[NTERM-NUM]. */
-static const ace_yysigned_char ace_yydefgoto[] =
+/* ACE_YYDEFGOTO[NTERM-NUM]. */
+static const ace_yytype_int8 ace_yydefgoto[] =
{
-1, 1, 10, 11, 12, 13, 14, 15, 16, 34,
26, 36, 47, 53, 62, 18, 51, 44, 30, 32,
@@ -424,7 +554,7 @@ static const ace_yysigned_char ace_yydefgoto[] =
/* ACE_YYPACT[STATE-NUM] -- Index in ACE_YYTABLE of the portion describing
STATE-NUM. */
#define ACE_YYPACT_NINF -13
-static const ace_yysigned_char ace_yypact[] =
+static const ace_yytype_int8 ace_yypact[] =
{
-13, 20, -13, -13, 1, 3, 7, 14, 18, 4,
-13, -13, -13, -13, -13, -13, -13, 21, 19, 19,
@@ -436,7 +566,7 @@ static const ace_yysigned_char ace_yypact[] =
};
/* ACE_YYPGOTO[NTERM-NUM]. */
-static const ace_yysigned_char ace_yypgoto[] =
+static const ace_yytype_int8 ace_yypgoto[] =
{
-13, -13, -13, -9, -8, -12, -7, -4, -13, -13,
-13, 28, -13, -13, -13, -13, -13, -13, -13, 31,
@@ -448,7 +578,7 @@ static const ace_yysigned_char ace_yypgoto[] =
number is the opposite. If zero, do what ACE_YYDEFACT says.
If ACE_YYTABLE_NINF, syntax error. */
#define ACE_YYTABLE_NINF -1
-static const unsigned char ace_yytable[] =
+static const ace_yytype_uint8 ace_yytable[] =
{
24, 25, 4, 5, 6, 7, 8, 4, 5, 40,
41, 42, 49, 50, 43, 35, 17, 56, 19, 23,
@@ -459,7 +589,7 @@ static const unsigned char ace_yytable[] =
0, 0, 46
};
-static const ace_yysigned_char ace_yycheck[] =
+static const ace_yytype_int8 ace_yycheck[] =
{
9, 9, 3, 4, 5, 6, 7, 3, 4, 14,
15, 16, 12, 13, 19, 17, 15, 18, 15, 15,
@@ -472,7 +602,7 @@ static const ace_yysigned_char ace_yycheck[] =
/* ACE_YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
-static const unsigned char ace_yystos[] =
+static const ace_yytype_uint8 ace_yystos[] =
{
0, 24, 0, 1, 3, 4, 5, 6, 7, 8,
25, 26, 27, 28, 29, 30, 31, 15, 38, 15,
@@ -483,60 +613,44 @@ static const unsigned char ace_yystos[] =
29, 30, 37, 21, 20, 21
};
-#if ! defined (ACE_YYSIZE_T) && defined (__SIZE_TYPE__)
-# define ACE_YYSIZE_T __SIZE_TYPE__
-#endif
-#if ! defined (ACE_YYSIZE_T) && defined (size_t)
-# define ACE_YYSIZE_T size_t
-#endif
-#if ! defined (ACE_YYSIZE_T)
-# if defined (__STDC__) || defined (__cplusplus)
-# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-# define ACE_YYSIZE_T size_t
-# endif
-#endif
-#if ! defined (ACE_YYSIZE_T)
-# define ACE_YYSIZE_T unsigned int
-#endif
-
-#define ace_yyerrok (ace_yyerrstatus = 0)
-#define ace_yyclearin (ace_yychar = ACE_YYEMPTY)
-#define ACE_YYEMPTY (-2)
-#define ACE_YYEOF 0
+#define ace_yyerrok (ace_yyerrstatus = 0)
+#define ace_yyclearin (ace_yychar = ACE_YYEMPTY)
+#define ACE_YYEMPTY (-2)
+#define ACE_YYEOF 0
-#define ACE_YYACCEPT goto ace_yyacceptlab
-#define ACE_YYABORT goto ace_yyabortlab
-#define ACE_YYERROR goto ace_yyerrorlab
+#define ACE_YYACCEPT goto ace_yyacceptlab
+#define ACE_YYABORT goto ace_yyabortlab
+#define ACE_YYERROR goto ace_yyerrorlab
/* Like ACE_YYERROR except do call ace_yyerror. This remains here temporarily
to ease the transition to the new meaning of ACE_YYERROR, for GCC.
Once GCC version 2 has supplanted version 1, this can go. */
-#define ACE_YYFAIL goto ace_yyerrlab
+#define ACE_YYFAIL goto ace_yyerrlab
#define ACE_YYRECOVERING() (!!ace_yyerrstatus)
-#define ACE_YYBACKUP(Token, Value) \
- do \
- if (ace_yychar == ACE_YYEMPTY && ace_yylen == 1) \
- { \
- ace_yychar = (Token); \
- ace_yylval = (Value); \
- ace_yytoken = ACE_YYTRANSLATE (ace_yychar); \
- ACE_YYPOPSTACK; \
- goto ace_yybackup; \
- } \
- else \
- { \
- ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, "syntax error: cannot back up");\
- ACE_YYERROR; \
- } \
- while (0)
+#define ACE_YYBACKUP(Token, Value) \
+do \
+ if (ace_yychar == ACE_YYEMPTY && ace_yylen == 1) \
+ { \
+ ace_yychar = (Token); \
+ ace_yylval = (Value); \
+ ace_yytoken = ACE_YYTRANSLATE (ace_yychar); \
+ ACE_YYPOPSTACK (1); \
+ goto ace_yybackup; \
+ } \
+ else \
+ { \
+ ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, ACE_YY_("syntax error: cannot back up")); \
+ ACE_YYERROR; \
+ } \
+while (ACE_YYID (0))
-#define ACE_YYTERROR 1
-#define ACE_YYERRCODE 256
+#define ACE_YYTERROR 1
+#define ACE_YYERRCODE 256
/* ACE_YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
@@ -545,23 +659,23 @@ static const unsigned char ace_yystos[] =
#define ACE_YYRHSLOC(Rhs, K) ((Rhs)[K])
#ifndef ACE_YYLLOC_DEFAULT
-# define ACE_YYLLOC_DEFAULT(Current, Rhs, N) \
- do \
- if (N) \
- { \
- (Current).first_line = ACE_YYRHSLOC (Rhs, 1).first_line; \
- (Current).first_column = ACE_YYRHSLOC (Rhs, 1).first_column; \
- (Current).last_line = ACE_YYRHSLOC (Rhs, N).last_line; \
- (Current).last_column = ACE_YYRHSLOC (Rhs, N).last_column; \
- } \
- else \
- { \
- (Current).first_line = (Current).last_line = \
- ACE_YYRHSLOC (Rhs, 0).last_line; \
- (Current).first_column = (Current).last_column = \
- ACE_YYRHSLOC (Rhs, 0).last_column; \
- } \
- while (0)
+# define ACE_YYLLOC_DEFAULT(Current, Rhs, N) \
+ do \
+ if (ACE_YYID (N)) \
+ { \
+ (Current).first_line = ACE_YYRHSLOC (Rhs, 1).first_line; \
+ (Current).first_column = ACE_YYRHSLOC (Rhs, 1).first_column; \
+ (Current).last_line = ACE_YYRHSLOC (Rhs, N).last_line; \
+ (Current).last_column = ACE_YYRHSLOC (Rhs, N).last_column; \
+ } \
+ else \
+ { \
+ (Current).first_line = (Current).last_line = \
+ ACE_YYRHSLOC (Rhs, 0).last_line; \
+ (Current).first_column = (Current).last_column = \
+ ACE_YYRHSLOC (Rhs, 0).last_column; \
+ } \
+ while (ACE_YYID (0))
#endif
@@ -571,10 +685,10 @@ static const unsigned char ace_yystos[] =
#ifndef ACE_YY_LOCATION_PRINT
# if ACE_YYLTYPE_IS_TRIVIAL
-# define ACE_YY_LOCATION_PRINT(File, Loc) \
- ACE_OS::fprintf (File, "%d.%d-%d.%d", \
- (Loc).first_line, (Loc).first_column, \
- (Loc).last_line, (Loc).last_column)
+# define ACE_YY_LOCATION_PRINT(File, Loc) \
+ ACE_OS::fprintf (File, "%d.%d-%d.%d", \
+ (Loc).first_line, (Loc).first_column, \
+ (Loc).last_line, (Loc).last_column)
# else
# define ACE_YY_LOCATION_PRINT(File, Loc) ((void) 0)
# endif
@@ -597,87 +711,147 @@ static const unsigned char ace_yystos[] =
# define ACE_YYFPRINTF ACE_OS::fprintf
# endif
-# define ACE_YYDPRINTF(Args) \
- do \
- { \
- if (ace_yydebug) \
- ACE_YYFPRINTF Args; \
- } \
- while (0)
-
-# define ACE_YY_SYMBOL_PRINT(Title, Type, Value, Location) \
- do \
- { \
- if (ace_yydebug) \
- { \
- ACE_YYFPRINTF (stderr, "%s ", Title); \
- ace_yysymprint (stderr, \
- Type, Value); \
- ACE_YYFPRINTF (stderr, "\n"); \
- } \
- } \
- while (0)
+# define ACE_YYDPRINTF(Args) \
+do { \
+ if (ace_yydebug) \
+ ACE_YYFPRINTF Args; \
+} while (ACE_YYID (0))
+
+# define ACE_YY_SYMBOL_PRINT(Title, Type, Value, Location) \
+do { \
+ if (ace_yydebug) \
+ { \
+ ACE_YYFPRINTF (stderr, "%s ", Title); \
+ ace_yy_symbol_print (stderr, \
+ Type, Value); \
+ ACE_YYFPRINTF (stderr, "\n"); \
+ } \
+} while (ACE_YYID (0))
+
+
+/*--------------------------------.
+| Print this symbol on ACE_YYOUTPUT. |
+`--------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+ace_yy_symbol_value_print (FILE *ace_yyoutput, int ace_yytype, ACE_YYSTYPE const * const ace_yyvaluep)
+#else
+static void
+ace_yy_symbol_value_print (ace_yyoutput, ace_yytype, ace_yyvaluep)
+ FILE *ace_yyoutput;
+ int ace_yytype;
+ ACE_YYSTYPE const * const ace_yyvaluep;
+#endif
+{
+ if (!ace_yyvaluep)
+ return;
+# ifdef ACE_YYPRINT
+ if (ace_yytype < ACE_YYNTOKENS)
+ ACE_YYPRINT (ace_yyoutput, ace_yytoknum[ace_yytype], *ace_yyvaluep);
+# else
+ ACE_YYUSE (ace_yyoutput);
+# endif
+ switch (ace_yytype)
+ {
+ default:
+ break;
+ }
+}
+
+
+/*--------------------------------.
+| Print this symbol on ACE_YYOUTPUT. |
+`--------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+static void
+ace_yy_symbol_print (FILE *ace_yyoutput, int ace_yytype, ACE_YYSTYPE const * const ace_yyvaluep)
+#else
+static void
+ace_yy_symbol_print (ace_yyoutput, ace_yytype, ace_yyvaluep)
+ FILE *ace_yyoutput;
+ int ace_yytype;
+ ACE_YYSTYPE const * const ace_yyvaluep;
+#endif
+{
+ if (ace_yytype < ACE_YYNTOKENS)
+ ACE_YYFPRINTF (ace_yyoutput, "token %s (", ace_yytname[ace_yytype]);
+ else
+ ACE_YYFPRINTF (ace_yyoutput, "nterm %s (", ace_yytname[ace_yytype]);
+
+ ace_yy_symbol_value_print (ace_yyoutput, ace_yytype, ace_yyvaluep);
+ ACE_YYFPRINTF (ace_yyoutput, ")");
+}
/*------------------------------------------------------------------.
| ace_yy_stack_print -- Print the state stack from its BOTTOM up to its |
| TOP (included). |
`------------------------------------------------------------------*/
-#if defined (__STDC__) || defined (__cplusplus)
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
static void
-ace_yy_stack_print (short int *bottom, short int *top)
+ace_yy_stack_print (ace_yytype_int16 *bottom, ace_yytype_int16 *top)
#else
static void
ace_yy_stack_print (bottom, top)
- short int *bottom;
- short int *top;
+ ace_yytype_int16 *bottom;
+ ace_yytype_int16 *top;
#endif
{
ACE_YYFPRINTF (stderr, "Stack now");
- for (/* Nothing. */; bottom <= top; ++bottom)
+ for (; bottom <= top; ++bottom)
ACE_YYFPRINTF (stderr, " %d", *bottom);
ACE_YYFPRINTF (stderr, "\n");
}
-# define ACE_YY_STACK_PRINT(Bottom, Top) \
- do \
- { \
- if (ace_yydebug) \
- ace_yy_stack_print ((Bottom), (Top)); \
- } \
- while (0)
+# define ACE_YY_STACK_PRINT(Bottom, Top) \
+do { \
+ if (ace_yydebug) \
+ ace_yy_stack_print ((Bottom), (Top)); \
+} while (ACE_YYID (0))
/*------------------------------------------------.
| Report that the ACE_YYRULE is going to be reduced. |
`------------------------------------------------*/
-#if defined (__STDC__) || defined (__cplusplus)
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
static void
-ace_yy_reduce_print (int ace_yyrule)
+ace_yy_reduce_print (ACE_YYSTYPE *ace_yyvsp, int ace_yyrule)
#else
static void
-ace_yy_reduce_print (ace_yyrule)
+ace_yy_reduce_print (ace_yyvsp, ace_yyrule)
+ ACE_YYSTYPE *ace_yyvsp;
int ace_yyrule;
#endif
{
+ int ace_yynrhs = ace_yyr2[ace_yyrule];
int ace_yyi;
- unsigned int ace_yylno = ace_yyrline[ace_yyrule];
- ACE_YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
- ace_yyrule - 1, ace_yylno);
- /* Print the symbols being reduced, and their result. */
- for (ace_yyi = ace_yyprhs[ace_yyrule]; 0 <= ace_yyrhs[ace_yyi]; ace_yyi++)
- ACE_YYFPRINTF (stderr, "%s ", ace_yytname [ace_yyrhs[ace_yyi]]);
- ACE_YYFPRINTF (stderr, "-> %s\n", ace_yytname [ace_yyr1[ace_yyrule]]);
+ unsigned long int ace_yylno = ace_yyrline[ace_yyrule];
+ ACE_YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
+ ace_yyrule - 1, ace_yylno);
+ /* The symbols being reduced. */
+ for (ace_yyi = 0; ace_yyi < ace_yynrhs; ace_yyi++)
+ {
+ ACE_OS::fprintf (stderr, " $%d = ", ace_yyi + 1);
+ ace_yy_symbol_print (stderr, ace_yyrhs[ace_yyprhs[ace_yyrule] + ace_yyi],
+ &(ace_yyvsp[(ace_yyi + 1) - (ace_yynrhs)])
+ );
+ ACE_OS::fprintf (stderr, "\n");
+ }
}
-# define ACE_YY_REDUCE_PRINT(Rule) \
- do \
- { \
- if (ace_yydebug) \
- ace_yy_reduce_print (Rule); \
- } \
- while (0)
+# define ACE_YY_REDUCE_PRINT(Rule) \
+do { \
+ if (ace_yydebug) \
+ ace_yy_reduce_print (ace_yyvsp, Rule); \
+} while (ACE_YYID (0))
/* Nonzero means print parse trace. It is left uninitialized so that
multiple parsers can coexist. */
@@ -691,7 +865,7 @@ int ace_yydebug;
/* ACE_YYINITDEPTH -- initial size of the parser's stacks. */
-#ifndef ACE_YYINITDEPTH
+#ifndef ACE_YYINITDEPTH
# define ACE_YYINITDEPTH 200
#endif
@@ -699,7 +873,7 @@ int ace_yydebug;
if the built-in stack extension method is used).
Do not make this value too large; the results are undefined if
- SIZE_MAX < ACE_YYSTACK_BYTES (ACE_YYMAXDEPTH)
+ ACE_YYSTACK_ALLOC_MAXIMUM < ACE_YYSTACK_BYTES (ACE_YYMAXDEPTH)
evaluated with infinite-precision integer arithmetic. */
#ifndef ACE_YYMAXDEPTH
@@ -711,45 +885,47 @@ int ace_yydebug;
#if ACE_YYERROR_VERBOSE
# ifndef ace_yystrlen
-# if defined (__GLIBC__) && defined (_STRING_H)
+# if defined __GLIBC__ && defined _STRING_H
# define ace_yystrlen strlen
# else
/* Return the length of ACE_YYSTR. */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
static ACE_YYSIZE_T
-# if defined (__STDC__) || defined (__cplusplus)
ace_yystrlen (const char *ace_yystr)
-# else
+#else
+static ACE_YYSIZE_T
ace_yystrlen (ace_yystr)
- const char *ace_yystr;
-# endif
+ const char *ace_yystr;
+#endif
{
- register const char *ace_yys = ace_yystr;
-
- while (*ace_yys++ != '\0')
+ ACE_YYSIZE_T ace_yylen;
+ for (ace_yylen = 0; ace_yystr[ace_yylen]; ace_yylen++)
continue;
-
- return ace_yys - ace_yystr - 1;
+ return ace_yylen;
}
# endif
# endif
# ifndef ace_yystpcpy
-# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
+# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
# define ace_yystpcpy stpcpy
# else
/* Copy ACE_YYSRC to ACE_YYDEST, returning the address of the terminating '\0' in
ACE_YYDEST. */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
static char *
-# if defined (__STDC__) || defined (__cplusplus)
ace_yystpcpy (ACE_TCHAR *ace_yydest, const char *ace_yysrc)
-# else
+#else
+static char *
ace_yystpcpy (ace_yydest, ace_yysrc)
- char *ace_yydest;
- const char *ace_yysrc;
-# endif
+ char *ace_yydest;
+ const char *ace_yysrc;
+#endif
{
- register char *ace_yyd = ace_yydest;
- register const char *ace_yys = ace_yysrc;
+ char *ace_yyd = ace_yydest;
+ const char *ace_yys = ace_yysrc;
while ((*ace_yyd++ = *ace_yys++) != '\0')
continue;
@@ -759,53 +935,171 @@ ace_yystpcpy (ace_yydest, ace_yysrc)
# endif
# endif
-#endif /* !ACE_YYERROR_VERBOSE */
+# ifndef ace_yytnamerr
+/* Copy to ACE_YYRES the contents of ACE_YYSTR after stripping away unnecessary
+ quotes and backslashes, so that it's suitable for ace_yyerror. The
+ heuristic is that double-quoting is unnecessary unless the string
+ contains an apostrophe, a comma, or backslash (other than
+ backslash-backslash). ACE_YYSTR is taken from ace_yytname. If ACE_YYRES is
+ null, do not copy; instead, return the length of what the result
+ would have been. */
+static ACE_YYSIZE_T
+ace_yytnamerr (ACE_TCHAR *ace_yyres, const char *ace_yystr)
+{
+ if (*ace_yystr == '"')
+ {
+ ACE_YYSIZE_T ace_yyn = 0;
+ char const *ace_yyp = ace_yystr;
+ for (;;)
+ switch (*++ace_yyp)
+ {
+ case '\'':
+ case ',':
+ goto do_not_strip_quotes;
+
+ case '\\':
+ if (*++ace_yyp != '\\')
+ goto do_not_strip_quotes;
+ /* Fall through. */
+ default:
+ if (ace_yyres)
+ ace_yyres[ace_yyn] = *ace_yyp;
+ ace_yyn++;
+ break;
+
+ case '"':
+ if (ace_yyres)
+ ace_yyres[ace_yyn] = '\0';
+ return ace_yyn;
+ }
+ do_not_strip_quotes: ;
+ }
+ if (! ace_yyres)
+ return ace_yystrlen (ace_yystr);
-#if ACE_YYDEBUG
-/*--------------------------------.
-| Print this symbol on ACE_YYOUTPUT. |
-`--------------------------------*/
+ return ace_yystpcpy (ace_yyres, ace_yystr) - ace_yyres;
+}
+# endif
-#if defined (__STDC__) || defined (__cplusplus)
-static void
-ace_yysymprint (FILE *ace_yyoutput, int ace_yytype, ACE_YYSTYPE *ace_yyvaluep)
-#else
-static void
-ace_yysymprint (ace_yyoutput, ace_yytype, ace_yyvaluep)
- FILE *ace_yyoutput;
- int ace_yytype;
- ACE_YYSTYPE *ace_yyvaluep;
-#endif
+/* Copy into ACE_YYRESULT an error message about the unexpected token
+ ACE_YYCHAR while in state ACE_YYSTATE. Return the number of bytes copied,
+ including the terminating null byte. If ACE_YYRESULT is null, do not
+ copy anything; just return the number of bytes that would be
+ copied. As a special case, return 0 if an ordinary "syntax error"
+ message will do. Return ACE_YYSIZE_MAXIMUM if overflow occurs during
+ size calculation. */
+static ACE_YYSIZE_T
+ace_yysyntax_error (ACE_TCHAR *ace_yyresult, int ace_yystate, int ace_yychar)
{
- /* Pacify ``unused variable'' warnings. */
- (void) ace_yyvaluep;
+ int ace_yyn = ace_yypact[ace_yystate];
- if (ace_yytype < ACE_YYNTOKENS)
- ACE_YYFPRINTF (ace_yyoutput, "token %s (", ace_yytname[ace_yytype]);
+ if (! (ACE_YYPACT_NINF < ace_yyn && ace_yyn <= ACE_YYLAST))
+ return 0;
else
- ACE_YYFPRINTF (ace_yyoutput, "nterm %s (", ace_yytname[ace_yytype]);
+ {
+ int ace_yytype = ACE_YYTRANSLATE (ace_yychar);
+ ACE_YYSIZE_T ace_yysize0 = ace_yytnamerr (0, ace_yytname[ace_yytype]);
+ ACE_YYSIZE_T ace_yysize = ace_yysize0;
+ ACE_YYSIZE_T ace_yysize1;
+ int ace_yysize_overflow = 0;
+ enum { ACE_YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+ char const *ace_yyarg[ACE_YYERROR_VERBOSE_ARGS_MAXIMUM];
+ int ace_yyx;
+
+# if 0
+ /* This is so xgettext sees the translatable formats that are
+ constructed on the fly. */
+ ACE_YY_("syntax error, unexpected %s");
+ ACE_YY_("syntax error, unexpected %s, expecting %s");
+ ACE_YY_("syntax error, unexpected %s, expecting %s or %s");
+ ACE_YY_("syntax error, unexpected %s, expecting %s or %s or %s");
+ ACE_YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
+# endif
+ char *ace_yyfmt;
+ char const *ace_yyf;
+ static char const ace_yyunexpected[] = "syntax error, unexpected %s";
+ static char const ace_yyexpecting[] = ", expecting %s";
+ static char const ace_yyor[] = " or %s";
+ char ace_yyformat[sizeof ace_yyunexpected
+ + sizeof ace_yyexpecting - 1
+ + ((ACE_YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
+ * (sizeof ace_yyor - 1))];
+ char const *ace_yyprefix = ace_yyexpecting;
+
+ /* Start ACE_YYX at -ACE_YYN if negative to avoid negative indexes in
+ ACE_YYCHECK. */
+ int ace_yyxbegin = ace_yyn < 0 ? -ace_yyn : 0;
+
+ /* Stay within bounds of both ace_yycheck and ace_yytname. */
+ int ace_yychecklim = ACE_YYLAST - ace_yyn + 1;
+ int ace_yyxend = ace_yychecklim < ACE_YYNTOKENS ? ace_yychecklim : ACE_YYNTOKENS;
+ int ace_yycount = 1;
+
+ ace_yyarg[0] = ace_yytname[ace_yytype];
+ ace_yyfmt = ace_yystpcpy (ace_yyformat, ace_yyunexpected);
+
+ for (ace_yyx = ace_yyxbegin; ace_yyx < ace_yyxend; ++ace_yyx)
+ if (ace_yycheck[ace_yyx + ace_yyn] == ace_yyx && ace_yyx != ACE_YYTERROR)
+ {
+ if (ace_yycount == ACE_YYERROR_VERBOSE_ARGS_MAXIMUM)
+ {
+ ace_yycount = 1;
+ ace_yysize = ace_yysize0;
+ ace_yyformat[sizeof ace_yyunexpected - 1] = '\0';
+ break;
+ }
+ ace_yyarg[ace_yycount++] = ace_yytname[ace_yyx];
+ ace_yysize1 = ace_yysize + ace_yytnamerr (0, ace_yytname[ace_yyx]);
+ ace_yysize_overflow |= (ace_yysize1 < ace_yysize);
+ ace_yysize = ace_yysize1;
+ ace_yyfmt = ace_yystpcpy (ace_yyfmt, ace_yyprefix);
+ ace_yyprefix = ace_yyor;
+ }
+ ace_yyf = ACE_YY_(ace_yyformat);
+ ace_yysize1 = ace_yysize + ace_yystrlen (ace_yyf);
+ ace_yysize_overflow |= (ace_yysize1 < ace_yysize);
+ ace_yysize = ace_yysize1;
-# ifdef ACE_YYPRINT
- if (ace_yytype < ACE_YYNTOKENS)
- ACE_YYPRINT (ace_yyoutput, ace_yytoknum[ace_yytype], *ace_yyvaluep);
-# endif
- switch (ace_yytype)
+ if (ace_yysize_overflow)
+ return ACE_YYSIZE_MAXIMUM;
+
+ if (ace_yyresult)
+ {
+ /* Avoid sprintf, as that infringes on the user's name space.
+ Don't have undefined behavior even if the translation
+ produced a string with the wrong number of "%s"s. */
+ char *ace_yyp = ace_yyresult;
+ int ace_yyi = 0;
+ while ((*ace_yyp = *ace_yyf) != '\0')
+ {
+ if (*ace_yyp == '%' && ace_yyf[1] == 's' && ace_yyi < ace_yycount)
{
- default:
- break;
+ ace_yyp += ace_yytnamerr (ace_yyp, ace_yyarg[ace_yyi++]);
+ ace_yyf += 2;
+ }
+ else
+ {
+ ace_yyp++;
+ ace_yyf++;
+ }
+ }
+ }
+ return ace_yysize;
}
- ACE_YYFPRINTF (ace_yyoutput, ")");
}
+#endif /* ACE_YYERROR_VERBOSE */
+
-#endif /* ! ACE_YYDEBUG */
/*-----------------------------------------------.
| Release the memory associated to this symbol. |
`-----------------------------------------------*/
-#if defined (__STDC__) || defined (__cplusplus)
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
static void
ace_yydestruct (const char *ace_yymsg, int ace_yytype, ACE_YYSTYPE *ace_yyvaluep)
#else
@@ -816,28 +1110,31 @@ ace_yydestruct (ace_yymsg, ace_yytype, ace_yyvaluep)
ACE_YYSTYPE *ace_yyvaluep;
#endif
{
- /* Pacify ``unused variable'' warnings. */
- (void) ace_yyvaluep;
- (void) ace_yytype;
+ ACE_YYUSE (ace_yyvaluep);
if (!ace_yymsg)
ace_yymsg = "Deleting";
ACE_YY_SYMBOL_PRINT (ace_yymsg, ace_yytype, ace_yyvaluep, ace_yylocationp);
-}
+ switch (ace_yytype)
+ {
+
+ default:
+ break;
+ }
+}
-ACE_BEGIN_VERSIONED_NAMESPACE_DECL
/* Prevent warnings from -Wmissing-prototypes. */
#ifdef ACE_YYPARSE_PARAM
-# if defined (__STDC__) || defined (__cplusplus)
+#if defined __STDC__ || defined __cplusplus
int ace_yyparse (void *ACE_YYPARSE_PARAM);
-# else
+#else
int ace_yyparse ();
-# endif
+#endif
#else /* ! ACE_YYPARSE_PARAM */
-#if defined (__STDC__) || defined (__cplusplus)
+#if defined __STDC__ || defined __cplusplus
int ace_yyparse (void);
#else
int ace_yyparse ();
@@ -845,19 +1142,27 @@ int ace_yyparse ();
#endif /* ! ACE_YYPARSE_PARAM */
+
+
+
+
/*----------.
| ace_yyparse. |
`----------*/
#ifdef ACE_YYPARSE_PARAM
-# if defined (__STDC__) || defined (__cplusplus)
-int ace_yyparse (void *ACE_YYPARSE_PARAM)
-# else
-int ace_yyparse (ACE_YYPARSE_PARAM)
- void *ACE_YYPARSE_PARAM;
-# endif
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
+int
+ace_yyparse (void *ACE_YYPARSE_PARAM)
+#else
+int
+ace_yyparse (ACE_YYPARSE_PARAM)
+ void *ACE_YYPARSE_PARAM;
+#endif
#else /* ! ACE_YYPARSE_PARAM */
-#if defined (__STDC__) || defined (__cplusplus)
+#if (defined __STDC__ || defined __C99__FUNC__ \
+ || defined __cplusplus || defined _MSC_VER)
int
ace_yyparse (void)
#else
@@ -873,22 +1178,22 @@ int ace_yychar;
/* The semantic value of the look-ahead symbol. */
ACE_YYSTYPE ace_yylval;
-#if defined (ACE_YYSTYPE_IS_TRIVIAL)
- ace_yylval = 0;
-#else
- ace_yylval.type_ = 0;
-#endif /* ACE_YYSTYPE_IS_TRIVIAL */
-
/* Number of syntax errors so far. */
int ace_yynerrs;
- register int ace_yystate;
- register int ace_yyn;
+ int ace_yystate;
+ int ace_yyn;
int ace_yyresult;
/* Number of tokens to shift before error messages enabled. */
int ace_yyerrstatus;
/* Look-ahead token as an internal (translated) token number. */
int ace_yytoken = 0;
+#if ACE_YYERROR_VERBOSE
+ /* Buffer for error messages, and its allocated size. */
+ char ace_yymsgbuf[128];
+ char *ace_yymsg = ace_yymsgbuf;
+ ACE_YYSIZE_T ace_yymsg_alloc = sizeof ace_yymsgbuf;
+#endif
/* Three stacks and their tools:
`ace_yyss': related to states,
@@ -899,18 +1204,18 @@ int ace_yynerrs;
to reallocate them elsewhere. */
/* The state stack. */
- short int ace_yyssa[ACE_YYINITDEPTH];
- short int *ace_yyss = ace_yyssa;
- register short int *ace_yyssp;
+ ace_yytype_int16 ace_yyssa[ACE_YYINITDEPTH];
+ ace_yytype_int16 *ace_yyss = ace_yyssa;
+ ace_yytype_int16 *ace_yyssp;
/* The semantic value stack. */
ACE_YYSTYPE ace_yyvsa[ACE_YYINITDEPTH];
ACE_YYSTYPE *ace_yyvs = ace_yyvsa;
- register ACE_YYSTYPE *ace_yyvsp;
+ ACE_YYSTYPE *ace_yyvsp;
-#define ACE_YYPOPSTACK (ace_yyvsp--, ace_yyssp--)
+#define ACE_YYPOPSTACK(N) (ace_yyvsp -= (N), ace_yyssp -= (N))
ACE_YYSIZE_T ace_yystacksize = ACE_YYINITDEPTH;
@@ -919,16 +1224,16 @@ int ace_yynerrs;
ACE_YYSTYPE ace_yyval;
- /* When reducing, the number of symbols on the RHS of the reduced
- rule. */
- int ace_yylen;
+ /* The number of symbols on the RHS of the reduced rule.
+ Keep to zero when no symbol should be popped. */
+ int ace_yylen = 0;
ACE_YYDPRINTF ((stderr, "Starting parse\n"));
ace_yystate = 0;
ace_yyerrstatus = 0;
ace_yynerrs = 0;
- ace_yychar = ACE_YYEMPTY; /* Cause a token to be read. */
+ ace_yychar = ACE_YYEMPTY; /* Cause a token to be read. */
/* Initialize stack pointers.
Waste one element of value and location stack
@@ -938,9 +1243,6 @@ int ace_yynerrs;
ace_yyssp = ace_yyss;
ace_yyvsp = ace_yyvs;
-
- ace_yyvsp[0] = ace_yylval;
-
goto ace_yysetstate;
/*------------------------------------------------------------.
@@ -948,8 +1250,7 @@ int ace_yynerrs;
`------------------------------------------------------------*/
ace_yynewstate:
/* In all cases, when you get here, the value and location stacks
- have just been pushed. so pushing a state here evens the stacks.
- */
+ have just been pushed. So pushing a state here evens the stacks. */
ace_yyssp++;
ace_yysetstate:
@@ -962,18 +1263,18 @@ int ace_yynerrs;
#ifdef ace_yyoverflow
{
- /* Give user a chance to reallocate the stack. Use copies of
+ /* Give user a chance to reallocate the stack. Use copies of
these so that the &'s don't force the real ones into
memory. */
ACE_YYSTYPE *ace_yyvs1 = ace_yyvs;
- short int *ace_yyss1 = ace_yyss;
+ ace_yytype_int16 *ace_yyss1 = ace_yyss;
/* Each stack pointer address is followed by the size of the
data in use in that stack, in bytes. This used to be a
conditional around just the two extra args, but that might
be undefined if ace_yyoverflow is a macro. */
- ace_yyoverflow ("parser stack overflow",
+ ace_yyoverflow (ACE_YY_("memory exhausted"),
&ace_yyss1, ace_yysize * sizeof (*ace_yyssp),
&ace_yyvs1, ace_yysize * sizeof (*ace_yyvsp),
@@ -984,21 +1285,21 @@ int ace_yynerrs;
}
#else /* no ace_yyoverflow */
# ifndef ACE_YYSTACK_RELOCATE
- goto ace_yyoverflowlab;
+ goto ace_yyexhaustedlab;
# else
/* Extend the stack our own way. */
if (ACE_YYMAXDEPTH <= ace_yystacksize)
- goto ace_yyoverflowlab;
+ goto ace_yyexhaustedlab;
ace_yystacksize *= 2;
if (ACE_YYMAXDEPTH < ace_yystacksize)
ace_yystacksize = ACE_YYMAXDEPTH;
{
- short int *ace_yyss1 = ace_yyss;
+ ace_yytype_int16 *ace_yyss1 = ace_yyss;
union ace_yyalloc *ace_yyptr =
(union ace_yyalloc *) ACE_YYSTACK_ALLOC (ACE_YYSTACK_BYTES (ace_yystacksize));
if (! ace_yyptr)
- goto ace_yyoverflowlab;
+ goto ace_yyexhaustedlab;
ACE_YYSTACK_RELOCATE (ace_yyss);
ACE_YYSTACK_RELOCATE (ace_yyvs);
@@ -1029,12 +1330,10 @@ int ace_yynerrs;
`-----------*/
ace_yybackup:
-/* Do appropriate processing given the current state. */
-/* Read a look-ahead token if we need one and don't already have one. */
-/* ace_yyresume: */
+ /* Do appropriate processing given the current state. Read a
+ look-ahead token if we need one and don't already have one. */
/* First try to decide what to do without reference to look-ahead token. */
-
ace_yyn = ace_yypact[ace_yystate];
if (ace_yyn == ACE_YYPACT_NINF)
goto ace_yydefault;
@@ -1076,22 +1375,21 @@ ace_yybackup:
if (ace_yyn == ACE_YYFINAL)
ACE_YYACCEPT;
+ /* Count tokens shifted since error; after three, turn off error
+ status. */
+ if (ace_yyerrstatus)
+ ace_yyerrstatus--;
+
/* Shift the look-ahead token. */
ACE_YY_SYMBOL_PRINT ("Shifting", ace_yytoken, &ace_yylval, &ace_yylloc);
- /* Discard the token being shifted unless it is eof. */
+ /* Discard the shifted token unless it is eof. */
if (ace_yychar != ACE_YYEOF)
ace_yychar = ACE_YYEMPTY;
+ ace_yystate = ace_yyn;
*++ace_yyvsp = ace_yylval;
-
- /* Count tokens shifted since error; after three, turn off error
- status. */
- if (ace_yyerrstatus)
- ace_yyerrstatus--;
-
- ace_yystate = ace_yyn;
goto ace_yynewstate;
@@ -1129,10 +1427,10 @@ ace_yyreduce:
case 2:
{
- if ((ace_yyvsp[0].parse_node_) != 0)
+ if ((ace_yyvsp[(2) - (2)].parse_node_) != 0)
{
- (ace_yyvsp[0].parse_node_)->apply (ACE_SVC_CONF_PARAM->config, ACE_SVC_CONF_PARAM->yyerrno);
- delete (ace_yyvsp[0].parse_node_);
+ (ace_yyvsp[(2) - (2)].parse_node_)->apply (ACE_SVC_CONF_PARAM->config, ACE_SVC_CONF_PARAM->yyerrno);
+ delete (ace_yyvsp[(2) - (2)].parse_node_);
}
ACE_SVC_CONF_PARAM->obstack.release ();
;}
@@ -1148,8 +1446,8 @@ ace_yyreduce:
case 11:
{
- if ((ace_yyvsp[-1].svc_record_) != 0)
- (ace_yyval.parse_node_) = new ACE_Dynamic_Node ((ace_yyvsp[-1].svc_record_), (ace_yyvsp[0].ident_));
+ if ((ace_yyvsp[(2) - (3)].svc_record_) != 0)
+ (ace_yyval.parse_node_) = new ACE_Dynamic_Node ((ace_yyvsp[(2) - (3)].svc_record_), (ace_yyvsp[(3) - (3)].ident_));
else
(ace_yyval.parse_node_) = 0;
;}
@@ -1158,47 +1456,47 @@ ace_yyreduce:
case 12:
{
- (ace_yyval.parse_node_) = new ACE_Static_Node ((ace_yyvsp[-1].ident_), (ace_yyvsp[0].ident_));
+ (ace_yyval.parse_node_) = new ACE_Static_Node ((ace_yyvsp[(2) - (3)].ident_), (ace_yyvsp[(3) - (3)].ident_));
;}
break;
case 13:
{
- (ace_yyval.parse_node_) = new ACE_Suspend_Node ((ace_yyvsp[0].ident_));
+ (ace_yyval.parse_node_) = new ACE_Suspend_Node ((ace_yyvsp[(2) - (2)].ident_));
;}
break;
case 14:
{
- (ace_yyval.parse_node_) = new ACE_Resume_Node ((ace_yyvsp[0].ident_));
+ (ace_yyval.parse_node_) = new ACE_Resume_Node ((ace_yyvsp[(2) - (2)].ident_));
;}
break;
case 15:
{
- (ace_yyval.parse_node_) = new ACE_Remove_Node ((ace_yyvsp[0].ident_));
+ (ace_yyval.parse_node_) = new ACE_Remove_Node ((ace_yyvsp[(2) - (2)].ident_));
;}
break;
case 16:
{
- (ace_yyval.parse_node_) = new ACE_Stream_Node ((ace_yyvsp[-1].static_node_), (ace_yyvsp[0].parse_node_));
+ (ace_yyval.parse_node_) = new ACE_Stream_Node ((ace_yyvsp[(2) - (3)].static_node_), (ace_yyvsp[(3) - (3)].parse_node_));
;}
break;
case 17:
- { (ace_yyval.static_node_) = new ACE_Static_Node ((ace_yyvsp[0].ident_)); ;}
+ { (ace_yyval.static_node_) = new ACE_Static_Node ((ace_yyvsp[(2) - (2)].ident_)); ;}
break;
case 18:
{
- (ace_yyval.parse_node_) = new ACE_Dummy_Node ((ace_yyvsp[-1].static_node_), (ace_yyvsp[0].parse_node_));
+ (ace_yyval.parse_node_) = new ACE_Dummy_Node ((ace_yyvsp[(3) - (4)].static_node_), (ace_yyvsp[(4) - (4)].parse_node_));
;}
break;
@@ -1218,14 +1516,14 @@ ace_yyreduce:
{
// Initialize left context...
- (ace_yyval.static_node_) = (ace_yyvsp[-1].static_node_);
+ (ace_yyval.static_node_) = (ace_yyvsp[(0) - (1)].static_node_);
;}
break;
case 22:
{
- (ace_yyval.parse_node_) = (ace_yyvsp[-1].parse_node_);
+ (ace_yyval.parse_node_) = (ace_yyvsp[(3) - (4)].parse_node_);
;}
break;
@@ -1237,10 +1535,10 @@ ace_yyreduce:
case 24:
{
- if ((ace_yyvsp[0].parse_node_) != 0)
+ if ((ace_yyvsp[(2) - (2)].parse_node_) != 0)
{
- (ace_yyvsp[0].parse_node_)->link ((ace_yyvsp[-1].parse_node_));
- (ace_yyval.parse_node_) = (ace_yyvsp[0].parse_node_);
+ (ace_yyvsp[(2) - (2)].parse_node_)->link ((ace_yyvsp[(1) - (2)].parse_node_));
+ (ace_yyval.parse_node_) = (ace_yyvsp[(2) - (2)].parse_node_);
}
;}
break;
@@ -1253,45 +1551,21 @@ ace_yyreduce:
case 26:
{
- ACE_Static_Node *svc_type = (ace_yyvsp[0].static_node_);
-
- if (svc_type != 0)
- {
- ACE_Static_Node *module = (ace_yyvsp[-2].static_node_);
-
- ACE_ARGV args (svc_type->parameters ());
- ACE_Module_Type *mt = ace_get_module (module->record (ACE_SVC_CONF_PARAM->config),
- svc_type->record (ACE_SVC_CONF_PARAM->config),
- ACE_SVC_CONF_PARAM->yyerrno);
- ACE_Stream_Type *st =
- dynamic_cast<ACE_Stream_Type *> (const_cast<ACE_Service_Type_Impl *> (module->record (ACE_SVC_CONF_PARAM->config)->type ()));
-
- if (!st
- || !mt
- || mt->init (args.argc (), args.argv ()) == -1
- || st->push (mt) == -1)
- {
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("dynamic initialization failed for Module %s\n"),
- svc_type->name ()));
- ACE_SVC_CONF_PARAM->yyerrno++;
- }
- }
;}
break;
case 27:
{
- ACE_Static_Node *sn = (ace_yyvsp[-2].static_node_);
+ ACE_Static_Node *sn = (ace_yyvsp[(-1) - (1)].static_node_);
ACE_Module_Type *mt = ace_get_module (sn->record (ACE_SVC_CONF_PARAM->config),
- (ace_yyvsp[0].static_node_)->name (),
+ (ace_yyvsp[(1) - (1)].static_node_)->name (),
ACE_SVC_CONF_PARAM->yyerrno);
if (((ACE_Stream_Type *) sn->record (ACE_SVC_CONF_PARAM->config)->type ())->push (mt) == -1)
{
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Problem with static\n")));
+ ACE_LIB_TEXT ("Problem with static\n")));
ACE_SVC_CONF_PARAM->yyerrno++;
}
;}
@@ -1300,7 +1574,7 @@ ace_yyreduce:
case 28:
{
- ACE_Static_Node *sn = (ace_yyvsp[-2].static_node_);
+ ACE_Static_Node *sn = (ace_yyvsp[(-1) - (1)].static_node_);
ACE_Module_Type *mt = ace_get_module (sn->record (ACE_SVC_CONF_PARAM->config),
sn->name (),
ACE_SVC_CONF_PARAM->yyerrno);
@@ -1312,9 +1586,9 @@ ace_yyreduce:
case 29:
{
- ACE_Static_Node *sn = (ace_yyvsp[-2].static_node_);
+ ACE_Static_Node *sn = (ace_yyvsp[(-1) - (1)].static_node_);
ACE_Module_Type *mt = ace_get_module (sn->record (ACE_SVC_CONF_PARAM->config),
- (ace_yyvsp[0].static_node_)->name (),
+ (ace_yyvsp[(1) - (1)].static_node_)->name (),
ACE_SVC_CONF_PARAM->yyerrno);
if (mt != 0)
mt->resume ();
@@ -1324,8 +1598,8 @@ ace_yyreduce:
case 30:
{
- ACE_Static_Node *stream = (ace_yyvsp[-2].static_node_);
- ACE_Static_Node *module = (ace_yyvsp[0].static_node_);
+ ACE_Static_Node *stream = (ace_yyvsp[(-1) - (1)].static_node_);
+ ACE_Static_Node *module = (ace_yyvsp[(1) - (1)].static_node_);
ACE_Module_Type *mt = ace_get_module (stream->record (ACE_SVC_CONF_PARAM->config),
module->name (),
ACE_SVC_CONF_PARAM->yyerrno);
@@ -1335,7 +1609,7 @@ ace_yyreduce:
if (!st || (mt != 0 && st->remove (mt) == -1))
{
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("cannot remove Module_Type %s from STREAM_Type %s\n"),
+ ACE_LIB_TEXT ("cannot remove Module_Type %s from STREAM_Type %s\n"),
module->name (),
stream->name ()));
ACE_SVC_CONF_PARAM->yyerrno++;
@@ -1346,7 +1620,7 @@ ace_yyreduce:
case 31:
{
- (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_));
+ (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_));
;}
break;
@@ -1374,21 +1648,21 @@ ace_yyreduce:
case 35:
{
- (ace_yyval.location_node_) = new ACE_Object_Node ((ace_yyvsp[-2].ident_), (ace_yyvsp[0].ident_));
+ (ace_yyval.location_node_) = new ACE_Object_Node ((ace_yyvsp[(1) - (3)].ident_), (ace_yyvsp[(3) - (3)].ident_));
;}
break;
case 36:
{
- (ace_yyval.location_node_) = new ACE_Function_Node ((ace_yyvsp[-4].ident_), (ace_yyvsp[-2].ident_));
+ (ace_yyval.location_node_) = new ACE_Function_Node ((ace_yyvsp[(1) - (5)].ident_), (ace_yyvsp[(3) - (5)].ident_));
;}
break;
case 37:
{
- (ace_yyval.location_node_) = new ACE_Static_Function_Node ((ace_yyvsp[-2].ident_));
+ (ace_yyval.location_node_) = new ACE_Static_Function_Node ((ace_yyvsp[(2) - (4)].ident_));
;}
break;
@@ -1419,15 +1693,14 @@ ace_yyreduce:
break;
- }
-
-/* Line 1037 of yacc.c. */
-
-
- ace_yyvsp -= ace_yylen;
- ace_yyssp -= ace_yylen;
+/* Line 1267 of yacc.c. */
+ default: break;
+ }
+ ACE_YY_SYMBOL_PRINT ("-> $$ =", ace_yyr1[ace_yyn], &ace_yyval, &ace_yyloc);
+ ACE_YYPOPSTACK (ace_yylen);
+ ace_yylen = 0;
ACE_YY_STACK_PRINT (ace_yyss, ace_yyssp);
*++ace_yyvsp = ace_yyval;
@@ -1456,66 +1729,41 @@ ace_yyerrlab:
if (!ace_yyerrstatus)
{
++ace_yynerrs;
-#if ACE_YYERROR_VERBOSE
- ace_yyn = ace_yypact[ace_yystate];
-
- if (ACE_YYPACT_NINF < ace_yyn && ace_yyn < ACE_YYLAST)
- {
- ACE_YYSIZE_T ace_yysize = 0;
- int ace_yytype = ACE_YYTRANSLATE (ace_yychar);
- const char* ace_yyprefix;
- char *ace_yymsg;
- int ace_yyx;
-
- /* Start ACE_YYX at -ACE_YYN if negative to avoid negative indexes in
- ACE_YYCHECK. */
- int ace_yyxbegin = ace_yyn < 0 ? -ace_yyn : 0;
-
- /* Stay within bounds of both ace_yycheck and ace_yytname. */
- int ace_yychecklim = ACE_YYLAST - ace_yyn;
- int ace_yyxend = ace_yychecklim < ACE_YYNTOKENS ? ace_yychecklim : ACE_YYNTOKENS;
- int ace_yycount = 0;
-
- ace_yyprefix = ", expecting ";
- for (ace_yyx = ace_yyxbegin; ace_yyx < ace_yyxend; ++ace_yyx)
- if (ace_yycheck[ace_yyx + ace_yyn] == ace_yyx && ace_yyx != ACE_YYTERROR)
- {
- ace_yysize += ace_yystrlen (ace_yyprefix) + ace_yystrlen (ace_yytname [ace_yyx]);
- ace_yycount += 1;
- if (ace_yycount == 5)
+#if ! ACE_YYERROR_VERBOSE
+ ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, ACE_YY_("syntax error"));
+#else
{
- ace_yysize = 0;
- break;
- }
+ ACE_YYSIZE_T ace_yysize = ace_yysyntax_error (0, ace_yystate, ace_yychar);
+ if (ace_yymsg_alloc < ace_yysize && ace_yymsg_alloc < ACE_YYSTACK_ALLOC_MAXIMUM)
+ {
+ ACE_YYSIZE_T ace_yyalloc = 2 * ace_yysize;
+ if (! (ace_yysize <= ace_yyalloc && ace_yyalloc <= ACE_YYSTACK_ALLOC_MAXIMUM))
+ ace_yyalloc = ACE_YYSTACK_ALLOC_MAXIMUM;
+ if (ace_yymsg != ace_yymsgbuf)
+ ACE_YYSTACK_FREE (ace_yymsg);
+ ace_yymsg = (ACE_TCHAR *) ACE_YYSTACK_ALLOC (ace_yyalloc);
+ if (ace_yymsg)
+ ace_yymsg_alloc = ace_yyalloc;
+ else
+ {
+ ace_yymsg = ace_yymsgbuf;
+ ace_yymsg_alloc = sizeof ace_yymsgbuf;
}
- ace_yysize += (sizeof ("syntax error, unexpected ")
- + ace_yystrlen (ace_yytname[ace_yytype]));
- ace_yymsg = (ACE_TCHAR *) ACE_YYSTACK_ALLOC (ace_yysize);
- if (ace_yymsg != 0)
- {
- char *ace_yyp = ace_yystpcpy (ace_yymsg, "syntax error, unexpected ");
- ace_yyp = ace_yystpcpy (ace_yyp, ace_yytname[ace_yytype]);
+ }
- if (ace_yycount < 5)
+ if (0 < ace_yysize && ace_yysize <= ace_yymsg_alloc)
{
- ace_yyprefix = ", expecting ";
- for (ace_yyx = ace_yyxbegin; ace_yyx < ace_yyxend; ++ace_yyx)
- if (ace_yycheck[ace_yyx + ace_yyn] == ace_yyx && ace_yyx != ACE_YYTERROR)
- {
- ace_yyp = ace_yystpcpy (ace_yyp, ace_yyprefix);
- ace_yyp = ace_yystpcpy (ace_yyp, ace_yytname[ace_yyx]);
- ace_yyprefix = " or ";
- }
+ (void) ace_yysyntax_error (ace_yymsg, ace_yystate, ace_yychar);
+ ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, ace_yymsg);
+ }
+ else
+ {
+ ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, ACE_YY_("syntax error"));
+ if (ace_yysize != 0)
+ goto ace_yyexhaustedlab;
}
- ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, ace_yymsg);
- ACE_YYSTACK_FREE (ace_yymsg);
}
- else
- ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, "syntax error; also virtual memory exhausted");
- }
- else
-#endif /* ACE_YYERROR_VERBOSE */
- ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, "syntax error");
+#endif
}
@@ -1526,23 +1774,15 @@ ace_yyerrlab:
error, discard it. */
if (ace_yychar <= ACE_YYEOF)
- {
- /* If at end of input, pop the error token,
- then the rest of the stack, then return failure. */
+ {
+ /* Return failure if at end of input. */
if (ace_yychar == ACE_YYEOF)
- for (;;)
- {
-
- ACE_YYPOPSTACK;
- if (ace_yyssp == ace_yyss)
- ACE_YYABORT;
- ace_yydestruct ("Error: popping",
- ace_yystos[*ace_yyssp], ace_yyvsp);
- }
- }
+ ACE_YYABORT;
+ }
else
{
- ace_yydestruct ("Error: discarding", ace_yytoken, &ace_yylval);
+ ace_yydestruct ("Error: discarding",
+ ace_yytoken, &ace_yylval);
ace_yychar = ACE_YYEMPTY;
}
}
@@ -1557,15 +1797,17 @@ ace_yyerrlab:
`---------------------------------------------------*/
ace_yyerrorlab:
-#if defined (__GNUC__) || defined (ACE_WIN32) || defined (__HP_aCC) || defined (__DECCXX)
- /* Pacify GCC when the user code never invokes ACE_YYERROR and the label
- ace_yyerrorlab therefore never appears in user code. */
- if (0)
+ /* Pacify compilers like GCC when the user code never invokes
+ ACE_YYERROR and the label ace_yyerrorlab therefore never appears in user
+ code. */
+ if (/*CONSTCOND*/ 0)
goto ace_yyerrorlab;
-#endif
-ace_yyvsp -= ace_yylen;
- ace_yyssp -= ace_yylen;
+ /* Do not reclaim the symbols of the rule which action triggered
+ this ACE_YYERROR. */
+ ACE_YYPOPSTACK (ace_yylen);
+ ace_yylen = 0;
+ ACE_YY_STACK_PRINT (ace_yyss, ace_yyssp);
ace_yystate = *ace_yyssp;
goto ace_yyerrlab1;
@@ -1574,7 +1816,7 @@ ace_yyvsp -= ace_yylen;
| ace_yyerrlab1 -- common code for both syntax error and ACE_YYERROR. |
`-------------------------------------------------------------*/
ace_yyerrlab1:
- ace_yyerrstatus = 3; /* Each real token shifted decrements this. */
+ ace_yyerrstatus = 3; /* Each real token shifted decrements this. */
for (;;)
{
@@ -1595,8 +1837,9 @@ ace_yyerrlab1:
ACE_YYABORT;
- ace_yydestruct ("Error: popping", ace_yystos[ace_yystate], ace_yyvsp);
- ACE_YYPOPSTACK;
+ ace_yydestruct ("Error: popping",
+ ace_yystos[ace_yystate], ace_yyvsp);
+ ACE_YYPOPSTACK (1);
ace_yystate = *ace_yyssp;
ACE_YY_STACK_PRINT (ace_yyss, ace_yyssp);
}
@@ -1607,7 +1850,7 @@ ace_yyerrlab1:
*++ace_yyvsp = ace_yylval;
- /* Shift the error token. */
+ /* Shift the error token. */
ACE_YY_SYMBOL_PRINT ("Shifting", ace_yystos[ace_yyn], ace_yyvsp, ace_yylsp);
ace_yystate = ace_yyn;
@@ -1625,35 +1868,62 @@ ace_yyacceptlab:
| ace_yyabortlab -- ACE_YYABORT comes here. |
`-----------------------------------*/
ace_yyabortlab:
- ace_yydestruct ("Error: discarding lookahead",
- ace_yytoken, &ace_yylval);
- ace_yychar = ACE_YYEMPTY;
ace_yyresult = 1;
goto ace_yyreturn;
#ifndef ace_yyoverflow
-/*----------------------------------------------.
-| ace_yyoverflowlab -- parser overflow comes here. |
-`----------------------------------------------*/
-ace_yyoverflowlab:
- ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, "parser stack overflow");
+/*-------------------------------------------------.
+| ace_yyexhaustedlab -- memory exhaustion comes here. |
+`-------------------------------------------------*/
+ace_yyexhaustedlab:
+ ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, ACE_YY_("memory exhausted"));
ace_yyresult = 2;
/* Fall through. */
#endif
ace_yyreturn:
+ if (ace_yychar != ACE_YYEOF && ace_yychar != ACE_YYEMPTY)
+ ace_yydestruct ("Cleanup: discarding lookahead",
+ ace_yytoken, &ace_yylval);
+ /* Do not reclaim the symbols of the rule which action triggered
+ this ACE_YYABORT or ACE_YYACCEPT. */
+ ACE_YYPOPSTACK (ace_yylen);
+ ACE_YY_STACK_PRINT (ace_yyss, ace_yyssp);
+ while (ace_yyssp != ace_yyss)
+ {
+ ace_yydestruct ("Cleanup: popping",
+ ace_yystos[*ace_yyssp], ace_yyvsp);
+ ACE_YYPOPSTACK (1);
+ }
#ifndef ace_yyoverflow
if (ace_yyss != ace_yyssa)
ACE_YYSTACK_FREE (ace_yyss);
#endif
- return ace_yyresult;
+#if ACE_YYERROR_VERBOSE
+ if (ace_yymsg != ace_yymsgbuf)
+ ACE_YYSTACK_FREE (ace_yymsg);
+#endif
+ /* Make sure ACE_YYID is used. */
+ return ACE_YYID (ace_yyresult);
}
+
+
+
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
// Prints the error string to standard output. Cleans up the error
// messages.
void
-ace_yyerror (int ace_yyerrno, int ace_yylineno, char const *s)
+ace_yyerror (ACE_TCHAR const * s)
+{
+ ace_yyerror (-1, -1, s);
+}
+
+void
+ace_yyerror (int ace_yyerrno, int ace_yylineno, char const * s)
{
#if defined (ACE_NLOGGING)
ACE_UNUSED_ARG (ace_yyerrno);
@@ -1662,7 +1932,7 @@ ace_yyerror (int ace_yyerrno, int ace_yylineno, char const *s)
#endif /* ACE_NLOGGING */
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("ACE (%P|%t) [error %d] on line %d: %s\n"),
+ ACE_LIB_TEXT ("ACE (%P|%t) [error %d] on line %d: %s\n"),
ace_yyerrno,
ace_yylineno,
ACE_TEXT_CHAR_TO_TCHAR (s)));
@@ -1686,10 +1956,10 @@ ace_get_module (ACE_Service_Type const * sr,
if (sr == 0 || st == 0 || mt == 0)
{
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("cannot locate Module_Type %s ")
- ACE_TEXT ("in STREAM_Type %s\n"),
+ ACE_LIB_TEXT ("cannot locate Module_Type %s ")
+ ACE_LIB_TEXT ("in STREAM_Type %s\n"),
svc_name,
- (sr ? sr->name () : ACE_TEXT ("(nil)"))));
+ (sr ? sr->name () : ACE_LIB_TEXT ("(nil)"))));
++ace_yyerrno;
}
@@ -1710,14 +1980,14 @@ ace_get_module (ACE_Service_Type const * sr,
static_cast <ACE_Module_Type const *> (sv->type ());
ACE_TCHAR const * const module_type_name =
- (mt ? mt->name () : ACE_TEXT ("(nil)"));
+ (mt ? mt->name () : ACE_LIB_TEXT ("(nil)"));
if (sr == 0 || st == 0 || mt == 0)
{
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("cannot locate Module_Type %s or STREAM_Type %s\n"),
+ ACE_LIB_TEXT ("cannot locate Module_Type %s or STREAM_Type %s\n"),
module_type_name,
- (sr ? sr->name () : ACE_TEXT ("(nil)"))));
+ (sr ? sr->name () : ACE_LIB_TEXT ("(nil)"))));
++ace_yyerrno;
}
@@ -1729,7 +1999,7 @@ ace_get_module (ACE_Service_Type const * sr,
if (mp && ACE_OS::strcmp (mp->name (), module_type_name) != 0)
{
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("warning: assigning Module_Type name %s to Module %s since names differ\n"),
+ ACE_LIB_TEXT ("warning: assigning Module_Type name %s to Module %s since names differ\n"),
module_type_name,
mp->name ()));
mp->name (module_type_name);
@@ -1742,13 +2012,13 @@ ace_get_module (ACE_Service_Type const * sr,
// Main driver program.
int
-ACE_TMAIN(int argc, ACE_TCHAR *argv[])
+main (int argc, char *argv[])
{
ACE_Svc_Conf_Param param (0, stdin);
// Try to reopen any filename argument to use ACE_YYIN.
if (argc > 1 && (ace_yyin = freopen (argv[1], "r", stdin)) == 0)
- (void) ACE_OS::fprintf (stderr, ACE_TEXT ("usage: %s [file]\n"), argv[0]), ACE_OS::exit (1);
+ (void) ACE_OS::ACE_OS::fprintf (stderr, ACE_LIB_TEXT ("usage: %s [file]\n"), argv[0]), ACE_OS::exit (1);
return ::ace_yyparse (&param);
}
@@ -1757,3 +2027,4 @@ ACE_TMAIN(int argc, ACE_TCHAR *argv[])
ACE_END_VERSIONED_NAMESPACE_DECL
#endif /* ACE_USES_CLASSIC_SVC_CONF == 1 */
+
diff --git a/ACE/ace/svcconf.mpb b/ACE/ace/svcconf.mpb
index 79fad93329a..40f2d545367 100644
--- a/ACE/ace/svcconf.mpb
+++ b/ACE/ace/svcconf.mpb
@@ -43,6 +43,7 @@ feature(ace_svcconf) {
" -e 's/ NULL/ 0/g' \\"
" -e 's/ace_yyerror[ ]*(\"/ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, \"/g' \\"
" -e 's/ace_yyerror[ ]*(ace_yymsg/ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, ace_yymsg/g' \\"
+ " -e 's/ace_yyerror[ ]*(ACE_YY_/ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, ACE_YY_/g' \\"
" -e 's/ace_yyerror (int ace_yyerrno, int ace_yylineno, const ACE_TCHAR/ace_yyerror (int ace_yyerrno, int ace_yylineno, const char/' \\"
" -e 's@#include <stdio\.h>@@' \\"
" -e 's/Svc_Conf\\.tab\\.c/Svc_Conf_y.cpp/g' < Svc_Conf.tab.c > /tmp/$@"
diff --git a/ACE/examples/ASX/CCM_App/ASX_CCM_App.mpc b/ACE/examples/ASX/CCM_App/ASX_CCM_App.mpc
index b5c40beb84c..37f055a1d21 100644
--- a/ACE/examples/ASX/CCM_App/ASX_CCM_App.mpc
+++ b/ACE/examples/ASX/CCM_App/ASX_CCM_App.mpc
@@ -2,7 +2,7 @@
// $Id$
project(*Lib) : acelib {
- sharedname = ccm_app
+ sharedname = CCM_App
Source_Files {
CCM_App.cpp
}
diff --git a/ACE/examples/ASX/CCM_App/CCM_App.cpp b/ACE/examples/ASX/CCM_App/CCM_App.cpp
index 540dd545d90..53cca03e460 100644
--- a/ACE/examples/ASX/CCM_App/CCM_App.cpp
+++ b/ACE/examples/ASX/CCM_App/CCM_App.cpp
@@ -77,8 +77,9 @@ int
Test_Task::fini (void)
{
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("finalizing %s\n"),
- this->name () ? this->name () : ACE_TEXT ("task")));
+ ACE_TEXT ("finalizing %s (%@)\n"),
+ this->name () ? this->name () : ACE_TEXT ("task"),
+ this));
return 0;
}