* [kirkstone][PATCH 0/2] Add sipconfig.py support to sip3
@ 2023-12-02 3:09 Rob Woolley
2023-12-02 3:09 ` [kirkstone][PATCH 1/2] sip3: Add sipconfig.py Rob Woolley
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Rob Woolley @ 2023-12-02 3:09 UTC (permalink / raw)
To: openembedded-devel; +Cc: raj.khem, alex.kanavin
Some packages in meta-ros, like qt-gui-cpp, need sipconfig.py to be
present in python3-sip3. Changes are required to ensure that the
sip tools execute successfully and that paths from the host machine
don't get included in the SIP configuration file.
Rob Woolley (2):
sip3: Add sipconfig.py
sip3: Add py_ssize_t_clean argument
...ean-argument-to-the-module-directive.patch | 17679 ++++++++++++++++
meta-oe/recipes-devtools/sip/sip3_4.19.23.bb | 21 +-
2 files changed, 17699 insertions(+), 1 deletion(-)
create mode 100644 meta-oe/recipes-devtools/sip/sip3/added-the-py_ssize_t_clean-argument-to-the-module-directive.patch
--
2.39.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* [kirkstone][PATCH 1/2] sip3: Add sipconfig.py
2023-12-02 3:09 [kirkstone][PATCH 0/2] Add sipconfig.py support to sip3 Rob Woolley
@ 2023-12-02 3:09 ` Rob Woolley
2023-12-02 3:09 ` [kirkstone][PATCH 2/2] sip3: Add py_ssize_t_clean argument Rob Woolley
2023-12-06 12:28 ` [oe] [kirkstone][PATCH 0/2] Add sipconfig.py support to sip3 akuster808
2 siblings, 0 replies; 7+ messages in thread
From: Rob Woolley @ 2023-12-02 3:09 UTC (permalink / raw)
To: openembedded-devel; +Cc: raj.khem, alex.kanavin
Add the destdir option to ensure that sipconfig.py gets installed to the
site-packages directory and included in python3-sip3.
Remove references to the build paths from sipconfig.py as part of the
install stage. One may then prepend STAGING_DIR_NATIVE to sip_bin and
STAGING_DIR_TARGET to *_dir in any recipe that uses sipconfig.py.
Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
---
meta-oe/recipes-devtools/sip/sip3_4.19.23.bb | 19 ++++++++++++++++++-
1 file changed, 18 insertions(+), 1 deletion(-)
diff --git a/meta-oe/recipes-devtools/sip/sip3_4.19.23.bb b/meta-oe/recipes-devtools/sip/sip3_4.19.23.bb
index d6335585e..064ab0a0c 100644
--- a/meta-oe/recipes-devtools/sip/sip3_4.19.23.bb
+++ b/meta-oe/recipes-devtools/sip/sip3_4.19.23.bb
@@ -29,11 +29,28 @@ do_configure:prepend() {
echo "sip_inc_dir = ${D}/${includedir}" >> sip.cfg
echo "sip_module_dir = ${D}/${libdir}/python%(py_major).%(py_minor)/site-packages" >> sip.cfg
echo "sip_sip_dir = ${D}/${datadir}/sip" >> sip.cfg
- ${PYTHON} configure.py --configuration sip.cfg --sip-module PyQt5.sip --sysroot ${CONFIGURE_SYSROOT} CC="${CC}" CXX="${CXX}" LINK="${CXX}" STRIP="" LINK_SHLIB="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LFLAGS="${LDFLAGS}"
+ ${PYTHON} configure.py --configuration sip.cfg --destdir /${D}${libdir}/${PYTHON_DIR}/site-packages/ --sip-module PyQt5.sip --sysroot ${CONFIGURE_SYSROOT} CC="${CC}" CXX="${CXX}" LINK="${CXX}" STRIP="" LINK_SHLIB="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LFLAGS="${LDFLAGS}"
}
do_install() {
oe_runmake install
+
+ sed -i \
+ -e "s@[^ ]*-fdebug-prefix-map=[^ ']*@@g" \
+ -e "s@[^ ]*-fmacro-prefix-map=[^ ']*@@g" \
+ -e "s@[^ ]*-ffile-prefix-map=[^ ']*@@g" \
+ ${D}${libdir}/${PYTHON_DIR}/site-packages/sipconfig.py
+
+ # Remove the destination directory
+ sed -i -e "s@${D}/@@g" ${D}${libdir}/${PYTHON_DIR}/site-packages/sipconfig.py
+
+ if [ -n "${STAGING_DIR_NATIVE}" ]; then
+ sed -i -e "s@${STAGING_DIR_NATIVE}@@g" ${D}${libdir}/${PYTHON_DIR}/site-packages/sipconfig.py
+ fi
+
+ if [ -n "${STAGING_DIR_TARGET}" ]; then
+ sed -i -e "s@${STAGING_DIR_TARGET}@@g" ${D}${libdir}/${PYTHON_DIR}/site-packages/sipconfig.py
+ fi
}
FILES:python3-sip3 = "${libdir}/${PYTHON_DIR}/site-packages/"
--
2.39.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [kirkstone][PATCH 2/2] sip3: Add py_ssize_t_clean argument
2023-12-02 3:09 [kirkstone][PATCH 0/2] Add sipconfig.py support to sip3 Rob Woolley
2023-12-02 3:09 ` [kirkstone][PATCH 1/2] sip3: Add sipconfig.py Rob Woolley
@ 2023-12-02 3:09 ` Rob Woolley
2023-12-06 12:29 ` [oe] " akuster808
2023-12-06 12:28 ` [oe] [kirkstone][PATCH 0/2] Add sipconfig.py support to sip3 akuster808
2 siblings, 1 reply; 7+ messages in thread
From: Rob Woolley @ 2023-12-02 3:09 UTC (permalink / raw)
To: openembedded-devel; +Cc: raj.khem, alex.kanavin
An unintentional breakage was made upstream in sip4 which results
in builds reporting: QtCoremod.sip:23: syntax error
This was reported in Debian, but not resolved:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=998605
A backport of a fix from the upstream project fixes the parser to
prevent it from complaining about the syntax error.
Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
---
...ean-argument-to-the-module-directive.patch | 17679 ++++++++++++++++
meta-oe/recipes-devtools/sip/sip3_4.19.23.bb | 2 +
2 files changed, 17681 insertions(+)
create mode 100644 meta-oe/recipes-devtools/sip/sip3/added-the-py_ssize_t_clean-argument-to-the-module-directive.patch
diff --git a/meta-oe/recipes-devtools/sip/sip3/added-the-py_ssize_t_clean-argument-to-the-module-directive.patch b/meta-oe/recipes-devtools/sip/sip3/added-the-py_ssize_t_clean-argument-to-the-module-directive.patch
new file mode 100644
index 000000000..d7ed0770b
--- /dev/null
+++ b/meta-oe/recipes-devtools/sip/sip3/added-the-py_ssize_t_clean-argument-to-the-module-directive.patch
@@ -0,0 +1,17679 @@
+Added the 'py_ssize_t_clean' argument to '%Module' directive
+
+This is based on an upstream changeset to SIP. It was backported to
+sip-4.19.23 and the parser was regenerated with the following
+commands:
+
+ cd sipgen/metasrc
+ flex -o../lexer.c lexer.l
+ bison -y -d -o ../parser.c parser.y
+
+Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
+
+# HG changeset patch
+# User Phil Thompson <phil@riverbankcomputing.com>
+# Date 1635086052 -3600
+# Node ID 5d67349bb5a9954590a896ab35da93b2237b99c2
+# Parent d837f2a3147fc5eb364f1c54798b668da1a83333
+Added the 'py_ssize_t_clean' argument to the '%Module' directive.
+
+Index: sip-4.19.23/sipgen/gencode.c
+===================================================================
+--- sip-4.19.23.orig/sipgen/gencode.c
++++ sip-4.19.23/sipgen/gencode.c
+@@ -1138,6 +1138,12 @@ static void generateCompositeCpp(sipSpec
+
+ declareLimitedAPI(py_debug, NULL, fp);
+
++ if (isPY_SSIZE_T_CLEAN(mod))
++ prcode(fp,
++"\n"
++"#define PY_SSIZE_T_CLEAN\n"
++ );
++
+ prcode(fp,
+ "\n"
+ "#include <Python.h>\n"
+Index: sip-4.19.23/sipgen/metasrc/lexer.l
+===================================================================
+--- sip-4.19.23.orig/sipgen/metasrc/lexer.l
++++ sip-4.19.23/sipgen/metasrc/lexer.l
+@@ -155,6 +155,7 @@ SIP_RXOBJ_DIS {return TK_S
+ SIP_SLOT_CON {return TK_SIPSLOTCON;}
+ SIP_SLOT_DIS {return TK_SIPSLOTDIS;}
+ SIP_SSIZE_T {return TK_SIPSSIZET;}
++Py_ssize_t {return TK_SIPSSIZET;}
+ SIP_QOBJECT {return TK_QOBJECT;}
+ \.\.\. {return TK_ELLIPSIS;}
+
+@@ -173,6 +174,7 @@ SIP_QOBJECT {return TK_Q
+ <directive>timestamp {return TK_TIMESTAMP;}
+ <directive>type {return TK_TYPE;}
+ <directive>use_argument_names {return TK_USEARGNAMES;}
++<directive>py_ssize_t_clean {return TK_PYSSIZETCLEAN;}
+ <directive>use_limited_api {return TK_USELIMITEDAPI;}
+ <directive>all_raise_py_exception {return TK_ALLRAISEPYEXC;}
+ <directive>call_super_init {return TK_CALLSUPERINIT;}
+Index: sip-4.19.23/sipgen/metasrc/parser.y
+===================================================================
+--- sip-4.19.23.orig/sipgen/metasrc/parser.y
++++ sip-4.19.23/sipgen/metasrc/parser.y
+@@ -182,9 +182,9 @@ static void addProperty(sipSpec *pt, mod
+ docstringDef *docstring);
+ static moduleDef *configureModule(sipSpec *pt, moduleDef *module,
+ const char *filename, const char *name, int c_module, KwArgs kwargs,
+- int use_arg_names, int use_limited_api, int call_super_init,
+- int all_raise_py_exc, const char *def_error_handler,
+- docstringDef *docstring);
++ int use_arg_names, int py_ssize_t_clean, int use_limited_api,
++ int call_super_init, int all_raise_py_exc,
++ const char *def_error_handler, docstringDef *docstring);
+ static void addAutoPyName(moduleDef *mod, const char *remove_leading);
+ static KwArgs convertKwArgs(const char *kwargs);
+ static void checkAnnos(optFlags *annos, const char *valid[]);
+@@ -389,6 +389,7 @@ static scopedNameDef *fullyQualifiedName
+ %token TK_TIMESTAMP
+ %token TK_TYPE
+ %token TK_USEARGNAMES
++%token TK_PYSSIZETCLEAN
+ %token TK_USELIMITEDAPI
+ %token TK_ALLRAISEPYEXC
+ %token TK_CALLSUPERINIT
+@@ -1908,9 +1909,10 @@ module: TK_MODULE module_args module_bod
+ if (notSkipping())
+ currentModule = configureModule(currentSpec, currentModule,
+ currentContext.filename, $2.name, $2.c_module,
+- $2.kwargs, $2.use_arg_names, $2.use_limited_api,
+- $2.call_super_init, $2.all_raise_py_exc,
+- $2.def_error_handler, $3.docstring);
++ $2.kwargs, $2.use_arg_names, $2.py_ssize_t_clean,
++ $2.use_limited_api, $2.call_super_init,
++ $2.all_raise_py_exc, $2.def_error_handler,
++ $3.docstring);
+ }
+ | TK_CMODULE dottedname optnumber {
+ deprecated("%CModule is deprecated, use %Module and the 'language' argument instead");
+@@ -1918,7 +1920,7 @@ module: TK_MODULE module_args module_bod
+ if (notSkipping())
+ currentModule = configureModule(currentSpec, currentModule,
+ currentContext.filename, $2, TRUE, defaultKwArgs,
+- FALSE, FALSE, -1, FALSE, NULL, NULL);
++ FALSE, FALSE, FALSE, -1, FALSE, NULL, NULL);
+ }
+ ;
+
+@@ -1930,6 +1932,7 @@ module_args: dottedname {resetLexerSt
+ $$.kwargs = defaultKwArgs;
+ $$.name = $1;
+ $$.use_arg_names = FALSE;
++ $$.py_ssize_t_clean = FALSE;
+ $$.use_limited_api = FALSE;
+ $$.all_raise_py_exc = FALSE;
+ $$.call_super_init = -1;
+@@ -1950,6 +1953,7 @@ module_arg_list: module_arg
+ case TK_LANGUAGE: $$.c_module = $3.c_module; break;
+ case TK_NAME: $$.name = $3.name; break;
+ case TK_USEARGNAMES: $$.use_arg_names = $3.use_arg_names; break;
++ case TK_PYSSIZETCLEAN: $$.py_ssize_t_clean = $3.py_ssize_t_clean; break;
+ case TK_USELIMITEDAPI: $$.use_limited_api = $3.use_limited_api; break;
+ case TK_ALLRAISEPYEXC: $$.all_raise_py_exc = $3.all_raise_py_exc; break;
+ case TK_CALLSUPERINIT: $$.call_super_init = $3.call_super_init; break;
+@@ -1965,6 +1969,7 @@ module_arg: TK_KWARGS '=' TK_STRING_VALU
+ $$.kwargs = convertKwArgs($3);
+ $$.name = NULL;
+ $$.use_arg_names = FALSE;
++ $$.py_ssize_t_clean = FALSE;
+ $$.use_limited_api = FALSE;
+ $$.all_raise_py_exc = FALSE;
+ $$.call_super_init = -1;
+@@ -1983,6 +1988,7 @@ module_arg: TK_KWARGS '=' TK_STRING_VALU
+ $$.kwargs = defaultKwArgs;
+ $$.name = NULL;
+ $$.use_arg_names = FALSE;
++ $$.py_ssize_t_clean = FALSE;
+ $$.use_limited_api = FALSE;
+ $$.all_raise_py_exc = FALSE;
+ $$.call_super_init = -1;
+@@ -1995,6 +2001,7 @@ module_arg: TK_KWARGS '=' TK_STRING_VALU
+ $$.kwargs = defaultKwArgs;
+ $$.name = $3;
+ $$.use_arg_names = FALSE;
++ $$.py_ssize_t_clean = FALSE;
+ $$.use_limited_api = FALSE;
+ $$.all_raise_py_exc = FALSE;
+ $$.call_super_init = -1;
+@@ -2007,6 +2014,20 @@ module_arg: TK_KWARGS '=' TK_STRING_VALU
+ $$.kwargs = defaultKwArgs;
+ $$.name = NULL;
+ $$.use_arg_names = $3;
++ $$.py_ssize_t_clean = FALSE;
++ $$.use_limited_api = FALSE;
++ $$.all_raise_py_exc = FALSE;
++ $$.call_super_init = -1;
++ $$.def_error_handler = NULL;
++ }
++ | TK_PYSSIZETCLEAN '=' bool_value {
++ $$.token = TK_PYSSIZETCLEAN;
++
++ $$.c_module = FALSE;
++ $$.kwargs = defaultKwArgs;
++ $$.name = NULL;
++ $$.use_arg_names = FALSE;
++ $$.py_ssize_t_clean = $3;
+ $$.use_limited_api = FALSE;
+ $$.all_raise_py_exc = FALSE;
+ $$.call_super_init = -1;
+@@ -2019,6 +2040,7 @@ module_arg: TK_KWARGS '=' TK_STRING_VALU
+ $$.kwargs = defaultKwArgs;
+ $$.name = NULL;
+ $$.use_arg_names = FALSE;
++ $$.py_ssize_t_clean = FALSE;
+ $$.use_limited_api = $3;
+ $$.all_raise_py_exc = FALSE;
+ $$.call_super_init = -1;
+@@ -2031,6 +2053,7 @@ module_arg: TK_KWARGS '=' TK_STRING_VALU
+ $$.kwargs = defaultKwArgs;
+ $$.name = NULL;
+ $$.use_arg_names = FALSE;
++ $$.py_ssize_t_clean = FALSE;
+ $$.use_limited_api = FALSE;
+ $$.all_raise_py_exc = $3;
+ $$.call_super_init = -1;
+@@ -2043,6 +2066,7 @@ module_arg: TK_KWARGS '=' TK_STRING_VALU
+ $$.kwargs = defaultKwArgs;
+ $$.name = NULL;
+ $$.use_arg_names = FALSE;
++ $$.py_ssize_t_clean = FALSE;
+ $$.use_limited_api = FALSE;
+ $$.all_raise_py_exc = FALSE;
+ $$.call_super_init = $3;
+@@ -2055,6 +2079,7 @@ module_arg: TK_KWARGS '=' TK_STRING_VALU
+ $$.kwargs = defaultKwArgs;
+ $$.name = NULL;
+ $$.use_arg_names = FALSE;
++ $$.py_ssize_t_clean = FALSE;
+ $$.use_limited_api = FALSE;
+ $$.all_raise_py_exc = FALSE;
+ $$.call_super_init = -1;
+@@ -2072,6 +2097,7 @@ module_arg: TK_KWARGS '=' TK_STRING_VALU
+ $$.kwargs = defaultKwArgs;
+ $$.name = NULL;
+ $$.use_arg_names = FALSE;
++ $$.py_ssize_t_clean = FALSE;
+ $$.use_limited_api = FALSE;
+ $$.all_raise_py_exc = FALSE;
+ $$.call_super_init = -1;
+@@ -9513,9 +9539,9 @@ static void addProperty(sipSpec *pt, mod
+ */
+ static moduleDef *configureModule(sipSpec *pt, moduleDef *module,
+ const char *filename, const char *name, int c_module, KwArgs kwargs,
+- int use_arg_names, int use_limited_api, int call_super_init,
+- int all_raise_py_exc, const char *def_error_handler,
+- docstringDef *docstring)
++ int use_arg_names, int py_ssize_t_clean, int use_limited_api,
++ int call_super_init, int all_raise_py_exc,
++ const char *def_error_handler, docstringDef *docstring)
+ {
+ moduleDef *mod;
+
+@@ -9549,6 +9575,9 @@ static moduleDef *configureModule(sipSpe
+ if (use_arg_names)
+ setUseArgNames(module);
+
++ if (py_ssize_t_clean)
++ setPY_SSIZE_T_CLEAN(module);
++
+ if (use_limited_api)
+ setUseLimitedAPI(module);
+
+Index: sip-4.19.23/sipgen/sip.h
+===================================================================
+--- sip-4.19.23.orig/sipgen/sip.h
++++ sip-4.19.23/sipgen/sip.h
+@@ -93,6 +93,7 @@
+ #define MOD_SUPER_INIT_UNDEF 0x0000 /* Calling super().__init__() is undefined. */
+ #define MOD_SUPER_INIT_MASK 0x0180 /* The mask for the above flags. */
+ #define MOD_SETTING_IMPORTS 0x0200 /* Imports are being set. */
++#define MOD_PY_SSIZE_T_CLEAN 0x0400 /* #define PY_SSIZE_T_CLEAN. */
+
+ #define hasDelayedDtors(m) ((m)->modflags & MOD_HAS_DELAYED_DTORS)
+ #define setHasDelayedDtors(m) ((m)->modflags |= MOD_HAS_DELAYED_DTORS)
+@@ -116,6 +117,8 @@
+ #define settingImports(m) ((m)->modflags & MOD_SETTING_IMPORTS)
+ #define setSettingImports(m) ((m)->modflags |= MOD_SETTING_IMPORTS)
+ #define resetSettingImports(m) ((m)->modflags &= ~MOD_SETTING_IMPORTS)
++#define setPY_SSIZE_T_CLEAN(m) ((m)->modflags |= MOD_PY_SSIZE_T_CLEAN)
++#define isPY_SSIZE_T_CLEAN(m) ((m)->modflags & MOD_PY_SSIZE_T_CLEAN)
+
+
+ /* Handle section flags. */
+@@ -1630,6 +1633,7 @@ typedef struct _moduleCfg {
+ KwArgs kwargs;
+ const char *name;
+ int use_arg_names;
++ int py_ssize_t_clean;
+ int use_limited_api;
+ int all_raise_py_exc;
+ int call_super_init;
+Index: sip-4.19.23/sphinx/directives.rst
+===================================================================
+--- sip-4.19.23.orig/sphinx/directives.rst
++++ sip-4.19.23/sphinx/directives.rst
+@@ -1966,6 +1966,7 @@ then the pattern should instead be::
+ [, default_VirtualErrorHandler = *name*]
+ [, keyword_arguments = ["None" | "All" | "Optional"]]
+ [, language = *string*]
++ [, py_ssize_t_clean = [True | False]]
+ [, use_argument_names = [True | False]]
+ [, use_limited_api = [True | False]]
+ [, version = *integer*])
+@@ -2004,6 +2005,9 @@ implied by the (deprecated) :option:`-k
+ ``language`` specifies the implementation language of the library being
+ wrapped. Its value is either ``"C++"`` (the default) or ``"C"``.
+
++``py_ssize_t_clean`` specifies that the generated code should include ``#define
++PY_SSIZE_T_CLEAN`` before any ``#include <Python.h>``.
++
+ When providing handwritten code as part of either the :directive:`%MethodCode`
+ or :directive:`%VirtualCatcherCode` directives the names of the arguments of
+ the function or method are based on the number of the argument, i.e. the first
+Index: sip-4.19.23/sipgen/lexer.c
+===================================================================
+--- sip-4.19.23.orig/sipgen/lexer.c
++++ sip-4.19.23/sipgen/lexer.c
+@@ -1,6 +1,6 @@
+-#line 2 "sip-4.19.23/sipgen/lexer.c"
++#line 2 "../lexer.c"
+
+-#line 4 "sip-4.19.23/sipgen/lexer.c"
++#line 4 "../lexer.c"
+
+ #define YY_INT_ALIGNED short int
+
+@@ -8,8 +8,8 @@
+
+ #define FLEX_SCANNER
+ #define YY_FLEX_MAJOR_VERSION 2
+-#define YY_FLEX_MINOR_VERSION 5
+-#define YY_FLEX_SUBMINOR_VERSION 35
++#define YY_FLEX_MINOR_VERSION 6
++#define YY_FLEX_SUBMINOR_VERSION 4
+ #if YY_FLEX_SUBMINOR_VERSION > 0
+ #define FLEX_BETA
+ #endif
+@@ -47,7 +47,6 @@ typedef int16_t flex_int16_t;
+ typedef uint16_t flex_uint16_t;
+ typedef int32_t flex_int32_t;
+ typedef uint32_t flex_uint32_t;
+-typedef uint64_t flex_uint64_t;
+ #else
+ typedef signed char flex_int8_t;
+ typedef short int flex_int16_t;
+@@ -55,7 +54,6 @@ typedef int flex_int32_t;
+ typedef unsigned char flex_uint8_t;
+ typedef unsigned short int flex_uint16_t;
+ typedef unsigned int flex_uint32_t;
+-#endif /* ! C99 */
+
+ /* Limits of integral types. */
+ #ifndef INT8_MIN
+@@ -86,63 +84,61 @@ typedef unsigned int flex_uint32_t;
+ #define UINT32_MAX (4294967295U)
+ #endif
+
+-#endif /* ! FLEXINT_H */
+-
+-#ifdef __cplusplus
+-
+-/* The "const" storage-class-modifier is valid. */
+-#define YY_USE_CONST
+-
+-#else /* ! __cplusplus */
++#ifndef SIZE_MAX
++#define SIZE_MAX (~(size_t)0)
++#endif
+
+-/* C99 requires __STDC__ to be defined as 1. */
+-#if defined (__STDC__)
++#endif /* ! C99 */
+
+-#define YY_USE_CONST
++#endif /* ! FLEXINT_H */
+
+-#endif /* defined (__STDC__) */
+-#endif /* ! __cplusplus */
++/* begin standard C++ headers. */
+
+-#ifdef YY_USE_CONST
++/* TODO: this is always defined, so inline it */
+ #define yyconst const
++
++#if defined(__GNUC__) && __GNUC__ >= 3
++#define yynoreturn __attribute__((__noreturn__))
+ #else
+-#define yyconst
++#define yynoreturn
+ #endif
+
+ /* Returned upon end-of-file. */
+ #define YY_NULL 0
+
+-/* Promotes a possibly negative, possibly signed char to an unsigned
+- * integer for use as an array index. If the signed char is negative,
+- * we want to instead treat it as an 8-bit unsigned char, hence the
+- * double cast.
++/* Promotes a possibly negative, possibly signed char to an
++ * integer in range [0..255] for use as an array index.
+ */
+-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
++#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
+
+ /* Enter a start condition. This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN.
+ */
+ #define BEGIN (yy_start) = 1 + 2 *
+-
+ /* Translate the current start state into a value that can be later handed
+ * to BEGIN to return to the state. The YYSTATE alias is for lex
+ * compatibility.
+ */
+ #define YY_START (((yy_start) - 1) / 2)
+ #define YYSTATE YY_START
+-
+ /* Action number for EOF rule of a given start state. */
+ #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+-
+ /* Special action meaning "start processing a new file". */
+-#define YY_NEW_FILE yyrestart(yyin )
+-
++#define YY_NEW_FILE yyrestart( yyin )
+ #define YY_END_OF_BUFFER_CHAR 0
+
+ /* Size of default input buffer. */
+ #ifndef YY_BUF_SIZE
++#ifdef __ia64__
++/* On IA-64, the buffer size is 16k, not 8k.
++ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
++ * Ditto for the __ia64__ case accordingly.
++ */
++#define YY_BUF_SIZE 32768
++#else
+ #define YY_BUF_SIZE 16384
++#endif /* __ia64__ */
+ #endif
+
+ /* The state buf must be large enough to hold one state per character in the main buffer.
+@@ -159,15 +155,16 @@ typedef struct yy_buffer_state *YY_BUFFE
+ typedef size_t yy_size_t;
+ #endif
+
+-extern yy_size_t yyleng;
++extern int yyleng;
+
+ extern FILE *yyin, *yyout;
+
+ #define EOB_ACT_CONTINUE_SCAN 0
+ #define EOB_ACT_END_OF_FILE 1
+ #define EOB_ACT_LAST_MATCH 2
+-
++
+ #define YY_LESS_LINENO(n)
++ #define YY_LINENO_REWIND_TO(ptr)
+
+ /* Return all but the first "n" matched characters back to the input stream. */
+ #define yyless(n) \
+@@ -182,7 +179,6 @@ extern FILE *yyin, *yyout;
+ YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+ } \
+ while ( 0 )
+-
+ #define unput(c) yyunput( c, (yytext_ptr) )
+
+ #ifndef YY_STRUCT_YY_BUFFER_STATE
+@@ -197,12 +193,12 @@ struct yy_buffer_state
+ /* Size of input buffer in bytes, not including room for EOB
+ * characters.
+ */
+- yy_size_t yy_buf_size;
++ int yy_buf_size;
+
+ /* Number of characters read into yy_ch_buf, not including EOB
+ * characters.
+ */
+- yy_size_t yy_n_chars;
++ int yy_n_chars;
+
+ /* Whether we "own" the buffer - i.e., we know we created it,
+ * and can realloc() it to grow it, and should free() it to
+@@ -225,7 +221,7 @@ struct yy_buffer_state
+
+ int yy_bs_lineno; /**< The line count. */
+ int yy_bs_column; /**< The column count. */
+-
++
+ /* Whether to try to fill the input buffer when we reach the
+ * end of it.
+ */
+@@ -253,7 +249,7 @@ struct yy_buffer_state
+ /* Stack of input buffers. */
+ static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
+ static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
+-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
++static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
+
+ /* We provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+@@ -264,7 +260,6 @@ static YY_BUFFER_STATE * yy_buffer_stack
+ #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
+ ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
+ : NULL)
+-
+ /* Same as previous macro, but useful when we know that the buffer stack is not
+ * NULL or when we need an lvalue. For internal use only.
+ */
+@@ -272,11 +267,11 @@ static YY_BUFFER_STATE * yy_buffer_stack
+
+ /* yy_hold_char holds the character lost when yytext is formed. */
+ static char yy_hold_char;
+-static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
+-yy_size_t yyleng;
++static int yy_n_chars; /* number of characters read into yy_ch_buf */
++int yyleng;
+
+ /* Points to current character in buffer. */
+-static char *yy_c_buf_p = (char *) 0;
++static char *yy_c_buf_p = NULL;
+ static int yy_init = 0; /* whether we need to initialize */
+ static int yy_start = 0; /* start state number */
+
+@@ -285,84 +280,80 @@ static int yy_start = 0; /* start state
+ */
+ static int yy_did_buffer_switch_on_eof;
+
+-void yyrestart (FILE *input_file );
+-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
+-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
+-void yy_delete_buffer (YY_BUFFER_STATE b );
+-void yy_flush_buffer (YY_BUFFER_STATE b );
+-void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
+-void yypop_buffer_state (void );
+-
+-static void yyensure_buffer_stack (void );
+-static void yy_load_buffer_state (void );
+-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
+-
+-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
+-
+-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
+-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
+-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len );
+-
+-void *yyalloc (yy_size_t );
+-void *yyrealloc (void *,yy_size_t );
+-void yyfree (void * );
++void yyrestart ( FILE *input_file );
++void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
++YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
++void yy_delete_buffer ( YY_BUFFER_STATE b );
++void yy_flush_buffer ( YY_BUFFER_STATE b );
++void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
++void yypop_buffer_state ( void );
++
++static void yyensure_buffer_stack ( void );
++static void yy_load_buffer_state ( void );
++static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
++#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
++
++YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
++YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
++YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
++
++void *yyalloc ( yy_size_t );
++void *yyrealloc ( void *, yy_size_t );
++void yyfree ( void * );
+
+ #define yy_new_buffer yy_create_buffer
+-
+ #define yy_set_interactive(is_interactive) \
+ { \
+ if ( ! YY_CURRENT_BUFFER ){ \
+ yyensure_buffer_stack (); \
+ YY_CURRENT_BUFFER_LVALUE = \
+- yy_create_buffer(yyin,YY_BUF_SIZE ); \
++ yy_create_buffer( yyin, YY_BUF_SIZE ); \
+ } \
+ YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
+ }
+-
+ #define yy_set_bol(at_bol) \
+ { \
+ if ( ! YY_CURRENT_BUFFER ){\
+ yyensure_buffer_stack (); \
+ YY_CURRENT_BUFFER_LVALUE = \
+- yy_create_buffer(yyin,YY_BUF_SIZE ); \
++ yy_create_buffer( yyin, YY_BUF_SIZE ); \
+ } \
+ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
+ }
+-
+ #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
+
+ /* Begin user sect3 */
++typedef flex_uint8_t YY_CHAR;
+
+-typedef unsigned char YY_CHAR;
+-
+-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
++FILE *yyin = NULL, *yyout = NULL;
+
+ typedef int yy_state_type;
+
+ extern int yylineno;
+-
+ int yylineno = 1;
+
+ extern char *yytext;
++#ifdef yytext_ptr
++#undef yytext_ptr
++#endif
+ #define yytext_ptr yytext
+
+-static yy_state_type yy_get_previous_state (void );
+-static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
+-static int yy_get_next_buffer (void );
+-static void yy_fatal_error (yyconst char msg[] );
++static yy_state_type yy_get_previous_state ( void );
++static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
++static int yy_get_next_buffer ( void );
++static void yynoreturn yy_fatal_error ( const char* msg );
+
+ /* Done after the current pattern has been matched and before the
+ * corresponding action - sets up yytext.
+ */
+ #define YY_DO_BEFORE_ACTION \
+ (yytext_ptr) = yy_bp; \
+- yyleng = (yy_size_t) (yy_cp - yy_bp); \
++ yyleng = (int) (yy_cp - yy_bp); \
+ (yy_hold_char) = *yy_cp; \
+ *yy_cp = '\0'; \
+ (yy_c_buf_p) = yy_cp;
+-
+-#define YY_NUM_RULES 168
+-#define YY_END_OF_BUFFER 169
++#define YY_NUM_RULES 170
++#define YY_END_OF_BUFFER 171
+ /* This struct is not used in this scanner,
+ but its presence is necessary. */
+ struct yy_trans_info
+@@ -370,147 +361,149 @@ struct yy_trans_info
+ flex_int32_t yy_verify;
+ flex_int32_t yy_nxt;
+ };
+-static yyconst flex_int16_t yy_accept[1235] =
++static const flex_int16_t yy_accept[1261] =
+ { 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 169, 167, 106, 109, 167, 167, 167, 167, 167, 111,
+- 111, 167, 114, 114, 114, 114, 114, 114, 114, 114,
+- 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
+- 114, 167, 106, 167, 166, 165, 166, 166, 121, 119,
+- 121, 108, 114, 114, 114, 114, 114, 114, 114, 114,
+- 114, 114, 114, 114, 114, 114, 114, 114, 114, 106,
+- 167, 107, 106, 167, 0, 116, 0, 0, 117, 0,
+- 111, 0, 115, 112, 115, 118, 110, 112, 0, 112,
+- 111, 0, 64, 114, 114, 114, 114, 114, 114, 114,
+-
+- 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
+- 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
+- 114, 114, 114, 114, 114, 65, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 120,
+- 114, 114, 114, 114, 114, 114, 114, 86, 114, 114,
+- 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
+- 114, 0, 0, 0, 0, 0, 0, 112, 83, 115,
+- 112, 110, 112, 0, 112, 113, 114, 114, 114, 114,
+- 114, 114, 114, 114, 114, 114, 114, 114, 114, 42,
+-
+- 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
+- 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 16, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 114, 114, 114, 114, 114, 114,
+- 85, 114, 114, 114, 114, 114, 114, 114, 94, 114,
+- 114, 114, 114, 114, 0, 0, 112, 55, 114, 114,
+- 114, 40, 38, 114, 114, 114, 48, 114, 114, 114,
+- 114, 43, 114, 114, 114, 114, 114, 114, 114, 114,
+-
+- 114, 114, 114, 114, 114, 53, 114, 114, 114, 46,
+- 114, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 157, 11, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 164, 114, 104, 114, 114, 114,
+- 114, 114, 114, 114, 90, 114, 114, 114, 114, 114,
+- 97, 114, 114, 12, 114, 114, 114, 114, 114, 114,
+- 114, 27, 51, 114, 114, 54, 62, 44, 114, 114,
+- 114, 114, 114, 41, 114, 114, 114, 35, 114, 114,
+-
+- 114, 59, 114, 114, 114, 114, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 105, 114, 114, 114, 114, 114, 114, 114, 114, 92,
+- 114, 114, 114, 114, 114, 114, 114, 37, 114, 114,
+- 114, 114, 114, 114, 114, 45, 114, 114, 114, 114,
+- 114, 29, 114, 49, 63, 52, 28, 114, 114, 114,
+- 114, 114, 0, 0, 0, 0, 0, 0, 0, 0,
+-
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 114, 114,
+- 114, 84, 114, 114, 114, 114, 114, 114, 114, 114,
+- 114, 114, 114, 36, 114, 114, 114, 114, 114, 114,
+- 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
+- 31, 114, 32, 114, 56, 114, 47, 39, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+-
+- 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
+- 21, 0, 0, 0, 24, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 114,
+- 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
+- 114, 103, 34, 114, 114, 114, 114, 114, 114, 114,
+- 114, 114, 114, 114, 114, 75, 114, 60, 114, 58,
+- 114, 61, 50, 0, 0, 0, 0, 0, 0, 0,
+- 0, 3, 0, 0, 0, 122, 0, 0, 0, 0,
+- 127, 14, 0, 0, 0, 161, 0, 18, 0, 0,
+- 19, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+-
+- 0, 0, 0, 0, 0, 162, 0, 0, 0, 0,
+- 0, 0, 0, 114, 114, 114, 114, 88, 89, 91,
+- 114, 114, 114, 114, 114, 33, 114, 114, 114, 114,
+- 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
+- 57, 30, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 159, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 25,
+- 0, 26, 137, 0, 0, 134, 0, 0, 0, 114,
+- 114, 114, 114, 114, 95, 96, 114, 114, 114, 114,
+-
+- 114, 69, 68, 114, 114, 114, 72, 114, 114, 74,
+- 114, 114, 114, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 156,
+- 13, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 23, 0, 0, 0,
+- 0, 153, 0, 0, 0, 0, 0, 114, 114, 114,
+- 114, 114, 114, 114, 76, 114, 114, 114, 71, 67,
+- 82, 114, 114, 114, 114, 81, 160, 2, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+-
+- 0, 0, 20, 138, 136, 0, 0, 151, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 114, 114,
+- 114, 114, 114, 114, 114, 73, 114, 66, 114, 114,
+- 79, 80, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 158, 0, 0,
+- 0, 143, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 114, 114,
+- 114, 114, 114, 114, 114, 114, 77, 78, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 150,
+-
+- 0, 0, 0, 0, 0, 0, 0, 155, 0, 0,
+- 0, 0, 114, 114, 114, 114, 114, 114, 114, 70,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 15,
+- 0, 0, 0, 0, 0, 139, 152, 0, 0, 0,
+- 0, 0, 114, 114, 114, 114, 93, 114, 114, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 142, 0, 0,
+- 0, 0, 0, 129, 0, 0, 0, 0, 114, 101,
+- 114, 114, 114, 99, 144, 0, 0, 0, 0, 0,
+-
+- 4, 0, 0, 0, 0, 0, 8, 9, 0, 0,
+- 0, 0, 0, 0, 22, 0, 0, 0, 140, 0,
+- 0, 114, 114, 114, 114, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 10, 0, 0, 133, 0,
+- 128, 0, 0, 0, 0, 0, 114, 114, 87, 114,
+- 0, 0, 148, 0, 0, 0, 0, 0, 124, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 114,
+- 114, 98, 0, 0, 0, 0, 5, 0, 0, 0,
+- 0, 126, 0, 131, 0, 0, 0, 141, 0, 114,
+- 114, 149, 146, 0, 145, 123, 0, 0, 0, 0,
+-
+- 0, 0, 135, 163, 114, 114, 147, 0, 0, 0,
+- 154, 0, 0, 114, 114, 125, 0, 0, 0, 130,
+- 100, 114, 6, 0, 132, 114, 0, 114, 0, 114,
+- 7, 114, 102, 0
++ 171, 169, 108, 111, 169, 169, 169, 169, 169, 113,
++ 113, 169, 116, 116, 116, 116, 116, 116, 116, 116,
++ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
++ 116, 116, 169, 108, 169, 168, 167, 168, 168, 123,
++ 121, 123, 110, 116, 116, 116, 116, 116, 116, 116,
++ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
++ 116, 108, 169, 109, 108, 169, 0, 118, 0, 0,
++ 119, 0, 113, 0, 117, 114, 117, 120, 112, 114,
++ 0, 114, 113, 0, 64, 116, 116, 116, 116, 116,
++
++ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
++ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
++ 116, 116, 116, 116, 116, 116, 116, 116, 65, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 122, 116, 116, 116, 116, 116, 116, 116,
++ 87, 116, 116, 116, 116, 116, 116, 116, 116, 116,
++ 116, 116, 116, 116, 116, 0, 0, 0, 0, 0,
++ 0, 114, 84, 117, 114, 112, 114, 0, 114, 115,
++ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
++
++ 116, 116, 116, 116, 42, 116, 116, 116, 116, 116,
++ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
++ 116, 116, 116, 116, 116, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 116,
++ 116, 116, 116, 116, 116, 86, 116, 116, 116, 116,
++ 116, 116, 116, 116, 95, 116, 116, 116, 116, 116,
++ 0, 0, 114, 55, 116, 116, 116, 116, 40, 38,
++ 116, 116, 116, 48, 116, 116, 116, 116, 43, 116,
++
++ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
++ 116, 116, 53, 116, 116, 116, 46, 116, 1, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 159, 11,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 166, 116, 106, 116, 116, 116, 116, 116, 116,
++ 116, 91, 116, 116, 116, 116, 116, 116, 98, 116,
++ 116, 12, 116, 116, 116, 116, 116, 116, 116, 116,
++ 27, 51, 116, 116, 54, 62, 44, 116, 116, 116,
++
++ 116, 116, 41, 116, 116, 116, 35, 116, 116, 116,
++ 59, 116, 116, 116, 116, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 107,
++ 116, 116, 116, 116, 116, 116, 116, 116, 93, 116,
++ 116, 116, 116, 116, 116, 116, 116, 116, 37, 116,
++ 116, 116, 116, 116, 116, 116, 45, 116, 116, 116,
++ 116, 116, 29, 116, 49, 63, 52, 28, 116, 116,
++
++ 116, 116, 116, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 116,
++ 116, 116, 85, 116, 116, 116, 116, 116, 116, 116,
++ 116, 116, 116, 116, 116, 116, 36, 116, 116, 116,
++ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
++ 116, 116, 116, 31, 116, 32, 116, 56, 116, 47,
++ 39, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 17, 0, 0, 0, 0,
++ 0, 0, 0, 21, 0, 0, 0, 24, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 116, 116, 116, 116, 116, 116, 116, 116,
++ 116, 116, 116, 116, 116, 105, 116, 34, 116, 116,
++ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
++ 75, 116, 60, 116, 58, 116, 61, 50, 0, 0,
++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
++ 124, 0, 0, 0, 0, 129, 14, 0, 0, 0,
++
++ 163, 0, 18, 0, 0, 19, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 164, 0, 0, 0, 0, 0, 0, 0, 116, 116,
++ 116, 116, 89, 90, 92, 116, 116, 116, 116, 116,
++ 116, 116, 33, 116, 116, 116, 116, 116, 116, 116,
++ 116, 116, 116, 116, 116, 116, 116, 57, 30, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 161, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 25, 0, 26, 139,
++
++ 0, 0, 136, 0, 0, 0, 116, 116, 116, 116,
++ 116, 116, 96, 97, 116, 116, 82, 116, 116, 116,
++ 69, 68, 116, 116, 116, 72, 116, 116, 74, 116,
++ 116, 116, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 158, 13,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 23, 0, 0, 0, 0,
++ 155, 0, 0, 0, 0, 0, 116, 116, 116, 116,
++ 116, 116, 116, 116, 76, 116, 116, 116, 71, 67,
++ 83, 116, 116, 116, 116, 81, 162, 2, 0, 0,
++
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 20, 140, 138, 0, 0, 153, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 116, 116,
++ 116, 116, 116, 116, 116, 116, 73, 116, 66, 116,
++ 116, 79, 80, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 160, 0,
++ 0, 0, 145, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 116,
++ 116, 116, 116, 116, 116, 116, 116, 116, 77, 78,
++
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 152, 0, 0, 0, 0, 0, 0, 0, 157,
++ 0, 0, 0, 0, 116, 116, 116, 116, 116, 116,
++ 116, 116, 70, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 15, 0, 0, 0, 0, 0, 141, 154,
++ 0, 0, 0, 0, 0, 116, 116, 116, 116, 116,
++ 94, 116, 116, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++
++ 0, 144, 0, 0, 0, 0, 0, 131, 0, 0,
++ 0, 0, 116, 103, 116, 116, 116, 116, 101, 146,
++ 0, 0, 0, 0, 0, 4, 0, 0, 0, 0,
++ 0, 8, 9, 0, 0, 0, 0, 0, 0, 22,
++ 0, 0, 0, 142, 0, 0, 116, 116, 116, 100,
++ 116, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 10, 0, 0, 135, 0, 130, 0, 0, 0,
++ 0, 0, 116, 116, 88, 116, 0, 0, 150, 0,
++ 0, 0, 0, 0, 126, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 116, 116, 99, 0, 0,
++
++ 0, 0, 5, 0, 0, 0, 0, 128, 0, 133,
++ 0, 0, 0, 143, 0, 116, 116, 151, 148, 0,
++ 147, 125, 0, 0, 0, 0, 0, 0, 137, 165,
++ 116, 116, 149, 0, 0, 0, 156, 0, 0, 116,
++ 116, 127, 0, 0, 0, 132, 102, 116, 6, 0,
++ 134, 116, 0, 116, 0, 116, 7, 116, 104, 0
+ } ;
+
+-static yyconst flex_int32_t yy_ec[256] =
++static const YY_CHAR yy_ec[256] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
+ 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
+@@ -542,7 +535,7 @@ static yyconst flex_int32_t yy_ec[256] =
+ 1, 1, 1, 1, 1
+ } ;
+
+-static yyconst flex_int32_t yy_meta[71] =
++static const YY_CHAR yy_meta[71] =
+ { 0,
+ 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
+ 1, 3, 3, 3, 4, 4, 1, 4, 4, 4,
+@@ -553,614 +546,629 @@ static yyconst flex_int32_t yy_meta[71]
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 1
+ } ;
+
+-static yyconst flex_int16_t yy_base[1243] =
++static const flex_int16_t yy_base[1269] =
+ { 0,
+- 0, 69, 2841, 70, 71, 74, 76, 76, 2835, 81,
+- 2842, 2845, 2845, 2845, 74, 83, 78, 88, 78, 129,
+- 2774, 2823, 83, 95, 98, 103, 107, 135, 141, 147,
+- 156, 150, 159, 163, 169, 185, 203, 208, 212, 218,
+- 223, 2769, 144, 260, 2845, 2845, 172, 2816, 2845, 2845,
+- 2823, 2845, 227, 230, 238, 288, 292, 299, 296, 303,
+- 306, 311, 241, 314, 317, 323, 350, 326, 369, 184,
+- 2814, 2845, 201, 2813, 121, 2845, 2831, 216, 2845, 90,
+- 2766, 175, 250, 375, 192, 2845, 0, 379, 394, 2845,
+- 2845, 0, 2845, 336, 402, 408, 420, 423, 426, 429,
+-
+- 433, 436, 442, 445, 448, 451, 454, 457, 464, 467,
+- 471, 474, 480, 483, 489, 498, 502, 505, 517, 522,
+- 525, 531, 537, 540, 547, 2845, 232, 0, 321, 2806,
+- 154, 64, 134, 253, 225, 2777, 489, 2776, 518, 2769,
+- 511, 2782, 2777, 179, 2768, 2771, 366, 2802, 2765, 2845,
+- 561, 567, 570, 576, 583, 589, 592, 595, 598, 601,
+- 606, 610, 615, 623, 626, 629, 632, 639, 635, 644,
+- 648, 390, 2800, 2754, 406, 2798, 207, 648, 366, 665,
+- 511, 0, 688, 141, 670, 0, 661, 693, 675, 700,
+- 703, 711, 714, 718, 721, 728, 731, 734, 737, 740,
+-
+- 745, 748, 754, 757, 773, 776, 782, 787, 790, 793,
+- 796, 799, 804, 807, 811, 815, 821, 825, 834, 838,
+- 2793, 2770, 2754, 297, 2757, 717, 2764, 2766, 2764, 794,
+- 2766, 2753, 191, 2747, 2760, 2845, 2748, 345, 2759, 311,
+- 2743, 2756, 2741, 2755, 34, 2740, 439, 2747, 2737, 2742,
+- 2738, 2743, 2735, 2746, 855, 858, 864, 867, 873, 877,
+- 880, 883, 886, 889, 892, 898, 901, 908, 912, 915,
+- 918, 931, 934, 923, 2745, 941, 946, 951, 958, 962,
+- 974, 977, 986, 989, 992, 1000, 1003, 1006, 1009, 1012,
+- 1015, 1018, 1021, 1024, 1027, 1030, 1033, 1036, 1040, 1049,
+-
+- 1052, 1062, 1079, 1083, 1088, 1091, 1094, 1097, 1105, 1108,
+- 1111, 2845, 2743, 2733, 2741, 2740, 2740, 2728, 362, 2719,
+- 2740, 2723, 2845, 2734, 2724, 2721, 2718, 2734, 2723, 2717,
+- 2757, 2726, 2716, 2718, 2710, 2709, 2721, 2720, 2709, 2715,
+- 2703, 2712, 2710, 2701, 2711, 2699, 1051, 2701, 2698, 2739,
+- 2708, 2707, 2693, 2692, 2845, 1116, 1119, 1122, 1128, 1132,
+- 1138, 1143, 1146, 1149, 1162, 1166, 1173, 1176, 1180, 1185,
+- 1191, 1199, 1202, 2845, 1205, 1209, 1219, 1215, 1230, 1225,
+- 1239, 1246, 1257, 1260, 1264, 1267, 1270, 1273, 1276, 1279,
+- 1282, 1285, 1289, 1292, 1295, 1301, 1304, 1307, 1310, 1313,
+-
+- 1316, 1326, 1334, 1340, 1343, 1347, 2692, 2720, 2689, 2695,
+- 2686, 2690, 2689, 2697, 2692, 2681, 2681, 2683, 2681, 2695,
+- 2676, 2683, 2688, 2691, 2677, 2704, 2673, 2669, 2678, 2685,
+- 2672, 2678, 2678, 2668, 2670, 2666, 2668, 2672, 2668, 2695,
+- 2662, 2669, 2650, 2667, 2666, 2656, 2658, 546, 536, 2649,
+- 1351, 1356, 1359, 1366, 1369, 1373, 1381, 1387, 1392, 1395,
+- 1398, 1401, 1404, 1411, 1416, 1423, 1426, 1429, 1433, 1442,
+- 1439, 1471, 1474, 1477, 1480, 1483, 1487, 1498, 1501, 1504,
+- 1507, 1510, 1513, 1516, 1519, 1522, 1525, 1533, 1536, 1539,
+- 1543, 1549, 2650, 2643, 1545, 2660, 2653, 2646, 2651, 2645,
+-
+- 2647, 2648, 2642, 2639, 2638, 2652, 2638, 2644, 2651, 2631,
+- 2646, 2648, 2630, 2643, 2645, 2632, 2627, 2634, 2638, 2637,
+- 2635, 2626, 2633, 2623, 2623, 2622, 2625, 2615, 2614, 2615,
+- 2655, 2625, 2619, 2613, 363, 2612, 2611, 2623, 1554, 1559,
+- 1564, 1570, 1579, 1588, 1591, 1597, 1601, 1604, 1607, 1612,
+- 1617, 1620, 1623, 1635, 1643, 1646, 1649, 1657, 1663, 1668,
+- 1678, 1681, 1684, 1687, 1690, 1696, 1700, 1703, 1712, 1715,
+- 1718, 1722, 1725, 1728, 1732, 1735, 1738, 1741, 2648, 2636,
+- 2602, 2612, 2614, 2613, 2601, 2615, 2610, 2605, 2604, 2594,
+- 2604, 2592, 2600, 2599, 2602, 2588, 2600, 2587, 2587, 2597,
+-
+- 2596, 2588, 2845, 2594, 2587, 2594, 2591, 2584, 2602, 2618,
+- 567, 2591, 2616, 2574, 2845, 2580, 2570, 2579, 2578, 2567,
+- 2570, 2578, 2569, 2577, 2579, 2566, 2574, 2560, 2565, 1744,
+- 1749, 1755, 1767, 1761, 1773, 1776, 1779, 1782, 1785, 1789,
+- 1801, 1804, 1808, 1812, 1815, 1833, 1836, 1845, 1851, 1854,
+- 1857, 1860, 1863, 1870, 1874, 1882, 1886, 1889, 1892, 1897,
+- 1900, 1903, 1906, 2561, 2573, 2565, 2547, 2546, 2539, 2536,
+- 2527, 2845, 2525, 2538, 593, 2845, 1313, 2528, 2526, 2535,
+- 2845, 2845, 2537, 2562, 2520, 2845, 2530, 2845, 2525, 2528,
+- 2845, 2527, 2506, 2514, 2513, 2521, 2514, 2510, 2511, 2503,
+-
+- 2511, 2505, 2504, 2493, 2511, 2845, 2509, 2508, 2508, 2493,
+- 2505, 2491, 680, 1909, 1912, 1916, 1919, 1922, 1925, 1931,
+- 1934, 1938, 1944, 1954, 1957, 1960, 1963, 1966, 1969, 1973,
+- 1978, 1987, 1993, 2004, 2009, 2012, 2015, 2022, 2025, 2028,
+- 2035, 2040, 2504, 2494, 2492, 2480, 2487, 2515, 2465, 2466,
+- 2465, 2458, 2438, 2439, 2388, 2388, 2393, 2377, 2387, 2379,
+- 837, 2373, 2373, 2368, 2367, 2362, 2399, 2845, 2334, 2340,
+- 2338, 2340, 2336, 2311, 2297, 2291, 2297, 2293, 2268, 2845,
+- 2268, 2845, 2845, 2259, 2286, 2845, 2277, 2255, 2239, 2043,
+- 2049, 2052, 2055, 2058, 2062, 2065, 2068, 2071, 2077, 2080,
+-
+- 2083, 2086, 2095, 2099, 2110, 2113, 2116, 2124, 2127, 2130,
+- 2137, 2140, 2143, 2245, 2243, 2242, 2241, 2233, 2188, 2196,
+- 2225, 2213, 2163, 2166, 231, 2175, 2174, 2157, 2145, 2845,
+- 2845, 2145, 2152, 2123, 2136, 2127, 2118, 2107, 2119, 2087,
+- 2095, 2084, 2083, 2082, 2062, 2067, 2845, 2069, 2049, 2083,
+- 2067, 2845, 2025, 2000, 2000, 673, 1989, 2146, 2150, 2158,
+- 2161, 2165, 2169, 2172, 2175, 2180, 2184, 2187, 2195, 2198,
+- 2204, 2216, 2219, 2222, 2225, 2228, 2845, 2845, 1983, 1979,
+- 1966, 1955, 1995, 1948, 1949, 1953, 1945, 1933, 1928, 1932,
+- 1934, 1918, 1913, 1913, 1914, 1894, 1894, 1891, 1920, 1861,
+-
+- 1828, 1840, 2845, 2845, 2845, 1829, 1813, 2845, 1804, 1800,
+- 1793, 1792, 1820, 1790, 1789, 1780, 1786, 1774, 2237, 2242,
+- 2245, 2250, 2253, 2256, 2259, 2262, 2265, 2268, 2271, 2274,
+- 2277, 2285, 1811, 1779, 1768, 1752, 1744, 1756, 1756, 1755,
+- 1746, 1735, 1717, 1708, 1721, 1702, 1703, 2845, 1710, 1672,
+- 1662, 2845, 1659, 1657, 1634, 1636, 1624, 1617, 1618, 1604,
+- 1616, 1605, 1592, 1600, 1589, 1624, 1589, 1578, 2299, 2303,
+- 2308, 2311, 2315, 2318, 2321, 2324, 2327, 2335, 1579, 1571,
+- 1556, 1543, 1547, 1546, 1531, 1564, 1522, 1568, 1536, 1518,
+- 1520, 1501, 1496, 1508, 1518, 1522, 1491, 1458, 1448, 2845,
+-
+- 1485, 1440, 1440, 1435, 1430, 1427, 1427, 2845, 1409, 1410,
+- 1418, 1441, 2338, 2341, 2344, 2352, 2357, 2362, 2365, 2368,
+- 1411, 1409, 1383, 1411, 1375, 1370, 1363, 1344, 1337, 1340,
+- 1371, 1336, 1330, 1317, 1307, 1313, 1312, 1285, 1291, 2845,
+- 1274, 1272, 1262, 1254, 1204, 2845, 2845, 1214, 1214, 1212,
+- 1193, 1203, 2371, 2379, 2384, 2387, 2391, 2398, 2394, 1198,
+- 1174, 1159, 1150, 1158, 1145, 1151, 1151, 1145, 1145, 1123,
+- 1123, 1125, 1121, 1110, 1148, 1109, 1116, 2845, 1144, 1104,
+- 1098, 1084, 1084, 2845, 1087, 1076, 1095, 78, 2401, 2404,
+- 2409, 2414, 2421, 2438, 2845, 175, 207, 199, 199, 268,
+-
+- 2845, 250, 302, 271, 294, 307, 2845, 2845, 310, 392,
+- 389, 423, 415, 440, 2845, 445, 448, 488, 2845, 467,
+- 483, 2441, 2444, 2447, 2450, 496, 517, 541, 579, 562,
+- 569, 574, 606, 619, 756, 2845, 633, 671, 2845, 648,
+- 2845, 649, 660, 678, 706, 707, 2453, 2456, 2459, 2462,
+- 723, 732, 2845, 723, 742, 764, 777, 810, 2845, 772,
+- 787, 794, 790, 803, 797, 840, 824, 832, 857, 2467,
+- 2470, 2473, 866, 868, 884, 890, 2845, 891, 891, 893,
+- 907, 2845, 917, 2845, 957, 919, 930, 2845, 922, 2480,
+- 2476, 2845, 2845, 934, 2845, 2845, 944, 938, 938, 961,
+-
+- 998, 1009, 2845, 2845, 2483, 2489, 2845, 1017, 1023, 1025,
+- 2845, 1023, 1029, 2494, 2498, 2845, 1019, 1022, 1038, 2845,
+- 2506, 2509, 2845, 1025, 2845, 2513, 1037, 2519, 1062, 2526,
+- 2845, 2533, 2536, 2845, 2594, 2598, 2602, 2606, 2608, 2610,
+- 2614, 1109
++ 0, 69, 2946, 70, 71, 74, 76, 76, 2940, 81,
++ 2947, 2950, 2950, 2950, 74, 83, 78, 88, 78, 129,
++ 2879, 2928, 83, 95, 98, 102, 136, 141, 151, 147,
++ 156, 159, 162, 169, 175, 178, 185, 189, 204, 212,
++ 217, 220, 2874, 115, 259, 2950, 2950, 117, 2921, 2950,
++ 2950, 2928, 2950, 223, 246, 249, 287, 261, 296, 301,
++ 290, 304, 310, 313, 316, 322, 348, 353, 358, 366,
++ 375, 206, 2919, 2950, 238, 2918, 151, 2950, 2936, 244,
++ 2950, 90, 2871, 172, 361, 421, 197, 2950, 0, 398,
++ 380, 2950, 2950, 0, 2950, 387, 418, 428, 438, 442,
++
++ 445, 448, 451, 454, 464, 467, 470, 473, 476, 479,
++ 486, 489, 493, 496, 501, 504, 507, 510, 513, 523,
++ 528, 531, 540, 545, 551, 561, 564, 568, 2950, 284,
++ 0, 273, 2911, 189, 70, 183, 291, 299, 2882, 388,
++ 2881, 335, 2874, 532, 2887, 2882, 89, 2873, 2876, 351,
++ 2907, 2870, 2950, 582, 585, 588, 594, 597, 602, 611,
++ 614, 617, 620, 623, 627, 633, 639, 642, 645, 648,
++ 652, 655, 663, 667, 677, 391, 2905, 2859, 416, 2903,
++ 197, 677, 370, 694, 390, 0, 703, 162, 699, 0,
++ 717, 720, 723, 727, 730, 743, 746, 749, 752, 755,
++
++ 761, 764, 767, 775, 771, 778, 781, 784, 788, 793,
++ 802, 806, 810, 815, 820, 823, 826, 829, 834, 837,
++ 847, 850, 857, 860, 864, 2898, 2875, 2859, 232, 2862,
++ 510, 2869, 2871, 2869, 284, 2871, 2858, 202, 2852, 2865,
++ 2950, 2853, 834, 2864, 303, 2848, 2861, 2846, 2860, 34,
++ 2845, 489, 2852, 2842, 2847, 2843, 2848, 2840, 2851, 867,
++ 886, 889, 893, 899, 902, 905, 909, 912, 918, 926,
++ 929, 934, 938, 942, 948, 953, 957, 960, 967, 973,
++ 2850, 976, 981, 1001, 1004, 1007, 1010, 1015, 1024, 1027,
++ 1031, 1040, 1043, 1046, 1050, 1055, 1058, 1061, 1064, 1067,
++
++ 1070, 1073, 1076, 1082, 1088, 1094, 1097, 1108, 1118, 1121,
++ 1125, 1133, 1136, 1140, 1143, 1146, 1149, 1152, 2950, 2848,
++ 2838, 2846, 2845, 2845, 2833, 525, 2824, 2845, 2828, 2950,
++ 2839, 2829, 2826, 2823, 2839, 2828, 2822, 2862, 2831, 2821,
++ 2823, 2815, 2814, 2826, 2825, 2814, 2820, 2808, 2817, 2815,
++ 2806, 2816, 2804, 668, 2806, 2803, 2844, 2813, 2812, 2798,
++ 2797, 2950, 1161, 1164, 1170, 1173, 1178, 1184, 1188, 1191,
++ 1194, 1202, 1207, 1210, 1213, 1220, 1223, 1226, 1231, 1236,
++ 1244, 2950, 1247, 1264, 1277, 1290, 1293, 1296, 1299, 1303,
++ 1306, 1310, 1313, 1324, 1329, 1332, 1335, 1338, 1341, 1344,
++
++ 1347, 1352, 1355, 1361, 1364, 1367, 1370, 1373, 1376, 1379,
++ 1389, 1396, 1402, 1406, 1410, 2797, 2825, 2794, 2800, 2791,
++ 2795, 2794, 2802, 2797, 2786, 2786, 2788, 2786, 2800, 2781,
++ 2788, 2793, 2796, 2782, 2809, 2778, 2774, 2783, 2790, 2777,
++ 2783, 2783, 2773, 2775, 2771, 2773, 2777, 2773, 2800, 2767,
++ 2774, 2755, 2772, 2771, 2761, 2763, 385, 233, 2754, 1414,
++ 1419, 1422, 1429, 1435, 1444, 1449, 1454, 1457, 1460, 1463,
++ 1468, 1474, 1477, 1480, 1488, 1494, 1497, 1507, 1500, 1510,
++ 1514, 1535, 1543, 1546, 1549, 1559, 1555, 1564, 1570, 1574,
++ 1577, 1580, 1583, 1586, 1589, 1592, 1595, 1598, 1601, 1607,
++
++ 1610, 1616, 1622, 2755, 2748, 1606, 2765, 2758, 2751, 2756,
++ 2750, 2752, 2753, 2747, 2744, 2743, 2757, 2743, 2749, 2756,
++ 2736, 2751, 2753, 2735, 2748, 2750, 2737, 2732, 2739, 2743,
++ 2742, 2740, 2731, 2738, 2728, 2728, 2727, 2730, 2720, 2719,
++ 2720, 2760, 2730, 2724, 2718, 373, 2717, 2716, 2728, 1625,
++ 1637, 1640, 1643, 1649, 1653, 1656, 1661, 1664, 1668, 1674,
++ 1677, 1680, 1683, 1696, 1702, 1705, 1708, 1712, 1715, 1723,
++ 1730, 1733, 1748, 1737, 1751, 1756, 1759, 1763, 1767, 1772,
++ 1778, 1783, 1786, 1789, 1793, 1796, 1799, 1804, 1807, 1810,
++ 1813, 2753, 2741, 2707, 2717, 2719, 2718, 2706, 2720, 2715,
++
++ 2710, 2709, 2699, 2709, 2697, 2705, 2704, 2707, 2693, 2705,
++ 2692, 2692, 2702, 2701, 2693, 2950, 2699, 2692, 2699, 2696,
++ 2689, 2707, 2723, 536, 2696, 2721, 2679, 2950, 2685, 2675,
++ 2682, 2659, 2648, 2651, 2659, 2650, 2658, 2660, 2647, 2655,
++ 2641, 2646, 1816, 1820, 1823, 1826, 1832, 1838, 1841, 1845,
++ 1848, 1851, 1860, 1863, 1871, 1877, 1886, 1880, 1889, 1896,
++ 1893, 1901, 1916, 1920, 1923, 1926, 1929, 1932, 1943, 1951,
++ 1954, 1959, 1962, 1965, 1970, 1973, 1976, 1979, 2641, 2652,
++ 2646, 2650, 2649, 2642, 2639, 2630, 2950, 2627, 2640, 566,
++ 2950, 1158, 2630, 2628, 2637, 2950, 2950, 2638, 2663, 2621,
++
++ 2950, 2630, 2950, 2625, 2628, 2950, 2627, 2608, 2616, 2612,
++ 2620, 2598, 2594, 2594, 2559, 2567, 2557, 2555, 2532, 2550,
++ 2950, 2547, 2546, 2545, 2529, 2541, 2507, 395, 1982, 1988,
++ 1991, 1994, 1997, 2000, 2004, 2007, 2011, 2014, 2021, 2029,
++ 2032, 2035, 2041, 2044, 2054, 2058, 2066, 2070, 2077, 2080,
++ 2092, 2096, 2099, 2102, 2110, 2113, 2116, 2061, 2123, 2520,
++ 2476, 2477, 2463, 2470, 2491, 2437, 2449, 2447, 2446, 2429,
++ 2430, 2416, 2416, 2422, 2404, 2415, 2390, 957, 2384, 2386,
++ 2357, 2349, 2347, 2387, 2950, 2334, 2344, 2342, 2338, 2335,
++ 2304, 2282, 2277, 2283, 2268, 2250, 2950, 2246, 2950, 2950,
++
++ 2244, 2273, 2950, 2253, 2222, 2206, 2128, 2131, 2136, 2139,
++ 2142, 2145, 2150, 2153, 2156, 2162, 2165, 2170, 2173, 2184,
++ 2196, 2201, 2204, 2207, 2213, 2218, 2224, 2227, 2230, 2237,
++ 2240, 2243, 2215, 2196, 2195, 2215, 2214, 2169, 2173, 2203,
++ 2181, 2141, 2144, 433, 2153, 2151, 2131, 2133, 2950, 2950,
++ 2130, 2138, 2113, 2126, 2123, 2121, 2100, 2100, 2079, 2082,
++ 2081, 2070, 2068, 2044, 2051, 2950, 2051, 2040, 2068, 2065,
++ 2950, 2008, 2006, 2005, 275, 2001, 2246, 2250, 2258, 2261,
++ 2264, 2269, 2272, 2275, 2278, 2285, 2288, 2291, 2298, 2302,
++ 2309, 2313, 2320, 2323, 2326, 2329, 2950, 2950, 1999, 1995,
++
++ 1987, 1986, 2020, 1973, 1977, 1981, 1972, 1934, 1929, 1918,
++ 1902, 1914, 1908, 1905, 1905, 1890, 1889, 1876, 1904, 1877,
++ 1857, 1862, 2950, 2950, 2950, 1846, 1839, 2950, 1830, 1827,
++ 1820, 1811, 1849, 1818, 1818, 1792, 1794, 1755, 2335, 2338,
++ 2343, 2346, 2351, 2354, 2357, 2360, 2363, 2366, 2369, 2373,
++ 2376, 2384, 2388, 1768, 1736, 1731, 1716, 1694, 1706, 1706,
++ 1690, 1694, 1683, 1652, 1648, 1655, 1639, 1639, 2950, 1650,
++ 1634, 1625, 2950, 1612, 1611, 1593, 1595, 1583, 1584, 1578,
++ 1569, 1568, 1531, 1520, 1524, 1509, 1544, 1492, 1483, 2401,
++ 2404, 2409, 2412, 2415, 2418, 2421, 2424, 2427, 2430, 2438,
++
++ 1480, 1487, 1481, 1468, 1478, 1453, 1439, 1469, 1429, 1476,
++ 1433, 1418, 1424, 1396, 1396, 1404, 1428, 1431, 1401, 1395,
++ 1385, 2950, 1420, 1374, 1375, 1383, 1362, 1361, 1357, 2950,
++ 1341, 1340, 1347, 1371, 2441, 2444, 2447, 2451, 2465, 2468,
++ 2471, 2474, 2482, 1345, 1321, 1320, 1342, 1283, 1283, 1275,
++ 1271, 1240, 1243, 1277, 1242, 1236, 1233, 1219, 1225, 1230,
++ 1224, 1231, 2950, 1221, 1215, 1223, 1224, 1205, 2950, 2950,
++ 1217, 1216, 1214, 1201, 1208, 2490, 2493, 2496, 2500, 2504,
++ 2509, 2513, 2518, 1203, 1190, 1185, 1182, 1179, 1167, 1167,
++ 1163, 1159, 1147, 1112, 1110, 1115, 1093, 1081, 1108, 1069,
++
++ 1076, 2950, 1103, 1069, 1067, 1052, 1059, 2950, 1062, 1048,
++ 1077, 68, 2523, 2526, 2529, 2532, 2535, 2541, 2548, 2950,
++ 126, 174, 178, 226, 273, 2950, 248, 348, 376, 404,
++ 443, 2950, 2950, 446, 452, 469, 483, 512, 533, 2950,
++ 558, 558, 599, 2950, 561, 593, 2551, 2554, 2561, 2564,
++ 2567, 584, 611, 622, 653, 623, 630, 636, 635, 653,
++ 684, 2950, 664, 696, 2950, 675, 2950, 686, 689, 689,
++ 702, 714, 2570, 2573, 2576, 2590, 722, 754, 2950, 750,
++ 761, 775, 795, 832, 2950, 795, 801, 807, 807, 825,
++ 826, 865, 842, 842, 844, 2593, 2596, 2599, 845, 858,
++
++ 878, 878, 2950, 883, 876, 876, 892, 2950, 904, 2950,
++ 937, 899, 913, 2950, 916, 2606, 2612, 2950, 2950, 939,
++ 2950, 2950, 949, 942, 944, 953, 946, 957, 2950, 2950,
++ 2615, 2619, 2950, 958, 963, 979, 2950, 977, 980, 2623,
++ 2626, 2950, 971, 983, 997, 2950, 2629, 2633, 2950, 997,
++ 2950, 2636, 1004, 2645, 1041, 2649, 2950, 2652, 2655, 2950,
++ 2713, 2717, 2721, 2725, 2727, 2729, 2733, 1088
+ } ;
+
+-static yyconst flex_int16_t yy_def[1243] =
++static const flex_int16_t yy_def[1269] =
+ { 0,
+- 1234, 1, 1235, 1235, 1236, 1236, 1, 7, 1, 1,
+- 1234, 1234, 1234, 1234, 1237, 1238, 1234, 1239, 1234, 1234,
+- 20, 1234, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1234,
+- 44, 1234, 1234, 44, 1237, 1234, 1237, 1238, 1234, 1234,
+- 20, 1239, 1239, 1239, 1239, 1234, 1241, 1234, 1234, 1234,
+- 1234, 1242, 1234, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+-
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1234, 1234, 44, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1234, 44, 1234, 1234, 44, 1234, 1234, 1239, 1239,
+- 1239, 1241, 1234, 1234, 1234, 1242, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+-
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1234, 1239, 1239, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+-
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1234, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+-
+- 1240, 1240, 1240, 1240, 1240, 1240, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+-
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+-
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+-
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+-
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+-
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+-
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240,
+- 1240, 1240, 1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234,
+-
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1240, 1240, 1240, 1240, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240, 1240, 1240,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240,
+- 1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240,
+- 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+-
+- 1234, 1234, 1234, 1234, 1240, 1240, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1240, 1240, 1234, 1234, 1234, 1234, 1234,
+- 1240, 1240, 1234, 1234, 1234, 1240, 1234, 1240, 1234, 1240,
+- 1234, 1240, 1240, 0, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234
++ 1260, 1, 1261, 1261, 1262, 1262, 1, 7, 1, 1,
++ 1260, 1260, 1260, 1260, 1263, 1264, 1260, 1265, 1260, 1260,
++ 20, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1260, 45, 1260, 1260, 45, 1263, 1260, 1263, 1264,
++ 1260, 1260, 20, 1265, 1265, 1265, 1265, 1260, 1267, 1260,
++ 1260, 1260, 1260, 1268, 1260, 1266, 1266, 1266, 1266, 1266,
++
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1260, 1260,
++ 45, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1260, 45, 1260, 1260, 45,
++ 1260, 1260, 1265, 1265, 1265, 1267, 1260, 1260, 1260, 1268,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1260, 1265, 1265, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++
++ 1266, 1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++
++ 1260, 1260, 1260, 1260, 1260, 1260, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1260, 1260, 1260, 1260,
++
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266,
++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
++
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1266, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1266, 1266, 1266, 1266, 1266,
++ 1266, 1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1266, 1266, 1266, 1266,
++ 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1266, 1266, 1266, 1266, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1266, 1266, 1266, 1260, 1260,
++
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1266, 1266, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266,
++ 1266, 1260, 1260, 1260, 1260, 1260, 1266, 1266, 1260, 1260,
++ 1260, 1266, 1260, 1266, 1260, 1266, 1260, 1266, 1266, 0,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260
+ } ;
+
+-static yyconst flex_int16_t yy_nxt[2916] =
++static const flex_int16_t yy_nxt[3021] =
+ { 0,
+ 12, 13, 14, 13, 15, 12, 16, 12, 12, 12,
+ 12, 17, 18, 19, 20, 21, 22, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+- 24, 23, 23, 25, 23, 26, 23, 23, 23, 23,
+- 23, 23, 23, 12, 23, 23, 27, 28, 29, 30,
+- 31, 23, 23, 32, 23, 33, 23, 34, 35, 36,
+- 23, 37, 38, 39, 40, 41, 23, 23, 23, 42,
+- 43, 47, 46, 50, 44, 48, 50, 70, 76, 344,
+- 51, 71, 73, 51, 52, 79, 74, 86, 72, 79,
+- 80, 87, 81, 81, 82, 85, 82, 345, 53, 82,
+-
+- 83, 82, 84, 84, 178, 178, 82, 85, 82, 82,
+- 85, 82, 54, 227, 82, 85, 82, 77, 82, 85,
+- 82, 55, 228, 56, 57, 76, 58, 59, 97, 60,
+- 61, 62, 95, 63, 64, 1121, 65, 66, 67, 68,
+- 69, 88, 96, 81, 81, 127, 82, 85, 82, 128,
+- 89, 90, 82, 85, 82, 185, 185, 91, 82, 85,
+- 82, 82, 85, 82, 77, 98, 91, 82, 85, 82,
+- 82, 85, 82, 147, 82, 85, 82, 148, 89, 90,
+- 82, 85, 82, 225, 91, 172, 82, 99, 82, 173,
+- 100, 229, 91, 101, 1126, 92, 82, 85, 82, 102,
+-
+- 230, 105, 175, 82, 103, 82, 176, 108, 110, 106,
+- 329, 107, 226, 104, 82, 85, 82, 109, 79, 82,
+- 85, 82, 79, 82, 85, 82, 1127, 330, 111, 82,
+- 85, 82, 250, 127, 82, 85, 82, 128, 82, 85,
+- 82, 82, 85, 82, 233, 112, 251, 1128, 113, 82,
+- 85, 82, 82, 85, 82, 114, 115, 118, 116, 1129,
+- 119, 82, 179, 82, 275, 117, 888, 889, 120, 122,
+- 125, 123, 151, 230, 234, 121, 124, 129, 130, 131,
+- 132, 133, 134, 135, 136, 137, 162, 1130, 138, 139,
+- 152, 140, 141, 153, 142, 143, 144, 145, 146, 82,
+-
+- 85, 82, 231, 82, 85, 82, 232, 82, 85, 82,
+- 82, 85, 82, 1131, 82, 85, 82, 82, 85, 82,
+- 315, 1132, 82, 85, 82, 82, 85, 82, 82, 85,
+- 82, 316, 1133, 154, 82, 85, 82, 82, 85, 82,
+- 99, 155, 1134, 100, 105, 157, 101, 82, 85, 82,
+- 102, 158, 106, 221, 107, 159, 160, 156, 1135, 1136,
+- 108, 82, 85, 82, 161, 338, 165, 147, 222, 109,
+- 339, 148, 166, 163, 164, 114, 167, 82, 116, 82,
+- 82, 85, 82, 122, 223, 117, 82, 170, 82, 84,
+- 84, 172, 334, 183, 183, 173, 180, 181, 335, 118,
+-
+- 89, 90, 119, 168, 184, 184, 336, 175, 185, 185,
+- 120, 176, 625, 82, 85, 82, 626, 169, 171, 82,
+- 85, 82, 123, 413, 180, 181, 414, 124, 89, 90,
+- 187, 82, 85, 82, 82, 85, 82, 82, 85, 82,
+- 82, 85, 82, 188, 82, 85, 82, 82, 85, 82,
+- 1137, 1138, 189, 82, 85, 82, 82, 85, 82, 82,
+- 85, 82, 82, 85, 82, 82, 85, 82, 82, 85,
+- 82, 191, 1139, 1140, 192, 82, 85, 82, 82, 85,
+- 82, 190, 82, 85, 82, 82, 85, 82, 347, 1141,
+- 193, 82, 85, 82, 82, 85, 82, 348, 1142, 194,
+-
+- 82, 85, 82, 197, 196, 195, 1143, 1144, 198, 82,
+- 85, 82, 199, 82, 85, 82, 82, 85, 82, 200,
+- 203, 201, 82, 202, 82, 1145, 206, 204, 82, 85,
+- 82, 1146, 205, 82, 85, 82, 82, 85, 82, 236,
+- 208, 207, 82, 85, 82, 237, 238, 211, 82, 85,
+- 82, 82, 85, 82, 1151, 536, 210, 209, 82, 85,
+- 82, 213, 212, 240, 244, 534, 245, 241, 537, 246,
+- 535, 247, 82, 85, 82, 1152, 242, 214, 82, 85,
+- 82, 82, 85, 82, 216, 215, 695, 82, 85, 82,
+- 1153, 696, 217, 219, 82, 85, 82, 218, 1154, 220,
+-
+- 82, 85, 82, 82, 85, 82, 82, 85, 82, 82,
+- 85, 82, 82, 85, 82, 753, 255, 82, 85, 82,
+- 1155, 82, 85, 82, 1156, 257, 82, 85, 82, 754,
+- 256, 258, 1157, 259, 82, 85, 82, 82, 85, 82,
+- 82, 85, 82, 82, 85, 82, 82, 85, 82, 260,
+- 82, 85, 82, 264, 261, 82, 85, 82, 263, 82,
+- 85, 82, 178, 178, 203, 262, 265, 1158, 1159, 89,
+- 90, 267, 82, 85, 82, 184, 276, 266, 82, 277,
+- 277, 1162, 268, 270, 185, 185, 82, 85, 82, 278,
+- 1163, 269, 90, 273, 272, 271, 1164, 89, 90, 788,
+-
+- 209, 789, 183, 183, 82, 85, 82, 1165, 274, 89,
+- 90, 82, 85, 82, 82, 85, 82, 1166, 279, 281,
+- 90, 280, 82, 85, 82, 82, 85, 82, 916, 82,
+- 85, 82, 82, 85, 82, 917, 1167, 89, 90, 82,
+- 85, 82, 82, 85, 82, 82, 85, 82, 82, 85,
+- 82, 82, 85, 82, 1168, 282, 82, 85, 82, 82,
+- 85, 82, 1169, 283, 286, 82, 85, 82, 82, 85,
+- 82, 1173, 284, 318, 319, 285, 320, 287, 1160, 290,
+- 1174, 1175, 291, 288, 82, 85, 82, 82, 85, 82,
+- 1176, 1161, 289, 82, 85, 82, 292, 293, 82, 85,
+-
+- 82, 82, 85, 82, 82, 85, 82, 82, 85, 82,
+- 82, 85, 82, 1177, 294, 82, 85, 82, 82, 85,
+- 82, 295, 82, 85, 82, 1178, 82, 85, 82, 1179,
+- 1180, 297, 82, 85, 82, 296, 82, 85, 82, 300,
+- 1181, 324, 298, 1182, 299, 82, 85, 82, 1183, 82,
+- 85, 82, 1184, 325, 1185, 301, 326, 832, 302, 1186,
+- 306, 833, 303, 304, 307, 305, 82, 85, 82, 82,
+- 85, 82, 1187, 834, 308, 82, 85, 82, 82, 85,
+- 82, 1188, 310, 311, 82, 85, 82, 309, 82, 85,
+- 82, 82, 85, 82, 82, 85, 82, 82, 85, 82,
+-
+- 82, 85, 82, 82, 85, 82, 1189, 357, 358, 82,
+- 85, 82, 82, 85, 82, 1192, 356, 1193, 360, 82,
+- 85, 82, 359, 82, 85, 82, 82, 85, 82, 82,
+- 85, 82, 1194, 361, 82, 85, 82, 363, 364, 1195,
+- 1196, 365, 82, 85, 82, 82, 85, 82, 362, 1197,
+- 367, 366, 82, 1198, 82, 277, 277, 82, 1199, 82,
+- 277, 277, 82, 85, 82, 1200, 368, 370, 181, 82,
+- 85, 82, 369, 82, 85, 82, 1201, 1202, 372, 1203,
+- 371, 375, 1204, 1207, 373, 82, 85, 82, 82, 85,
+- 82, 377, 1208, 376, 1209, 1210, 181, 82, 85, 82,
+-
+- 82, 85, 82, 82, 85, 82, 378, 379, 380, 381,
+- 1211, 82, 85, 82, 82, 85, 82, 82, 85, 82,
+- 82, 85, 82, 82, 85, 82, 82, 85, 82, 82,
+- 85, 82, 82, 85, 82, 82, 85, 82, 82, 85,
+- 82, 82, 85, 82, 82, 85, 82, 82, 85, 82,
+- 382, 82, 85, 82, 383, 384, 1212, 1213, 386, 385,
+- 82, 85, 82, 82, 85, 82, 1216, 387, 1217, 390,
+- 1218, 1219, 391, 82, 85, 82, 441, 388, 1220, 392,
+- 442, 1223, 389, 443, 1224, 395, 393, 1225, 1227, 396,
+- 82, 85, 82, 397, 82, 85, 82, 1229, 394, 82,
+-
+- 85, 82, 82, 85, 82, 82, 85, 82, 82, 85,
+- 82, 1231, 186, 398, 1120, 399, 82, 85, 82, 82,
+- 85, 82, 82, 85, 82, 1119, 400, 82, 85, 82,
+- 82, 85, 82, 82, 85, 82, 1118, 1117, 401, 82,
+- 85, 82, 403, 82, 85, 82, 1116, 1115, 404, 82,
+- 85, 82, 1114, 402, 82, 85, 82, 82, 85, 82,
+- 82, 85, 82, 1113, 1112, 451, 1111, 1110, 405, 1109,
+- 1108, 406, 453, 82, 85, 82, 1107, 82, 85, 82,
+- 1106, 1105, 452, 455, 82, 85, 82, 82, 85, 82,
+- 1104, 82, 85, 82, 1103, 454, 82, 85, 82, 1102,
+-
+- 1101, 456, 82, 85, 82, 1100, 458, 1099, 1098, 457,
+- 82, 85, 82, 82, 85, 82, 82, 85, 82, 1097,
+- 82, 85, 82, 389, 459, 462, 82, 85, 82, 396,
+- 82, 85, 82, 460, 1096, 467, 82, 85, 82, 403,
+- 461, 82, 85, 82, 464, 468, 463, 1095, 1088, 469,
+- 82, 85, 82, 1087, 465, 466, 470, 82, 85, 82,
+- 1086, 471, 1085, 1084, 473, 472, 1083, 474, 82, 85,
+- 82, 82, 85, 82, 475, 82, 85, 82, 82, 85,
+- 82, 82, 85, 82, 82, 85, 82, 82, 85, 82,
+- 82, 85, 82, 82, 85, 82, 82, 85, 82, 1082,
+-
+- 82, 85, 82, 82, 85, 82, 82, 85, 82, 476,
+- 1081, 477, 82, 85, 82, 82, 85, 82, 82, 85,
+- 82, 82, 85, 82, 82, 85, 82, 82, 85, 82,
+- 1080, 1079, 481, 755, 756, 478, 482, 82, 85, 82,
+- 1078, 479, 757, 1077, 480, 82, 85, 82, 758, 484,
+- 483, 82, 85, 82, 82, 85, 82, 486, 82, 85,
+- 82, 488, 82, 85, 82, 1076, 485, 82, 85, 82,
+- 82, 85, 82, 1075, 1074, 487, 1073, 82, 85, 82,
+- 82, 85, 82, 489, 82, 85, 82, 1072, 491, 1071,
+- 1070, 492, 82, 85, 82, 1069, 1068, 490, 82, 85,
+-
+- 82, 539, 1067, 82, 85, 82, 82, 85, 82, 82,
+- 85, 82, 82, 85, 82, 82, 85, 82, 1066, 1065,
+- 540, 541, 82, 85, 82, 1064, 544, 82, 85, 82,
+- 1063, 542, 1062, 543, 82, 85, 82, 82, 85, 82,
+- 82, 85, 82, 553, 82, 85, 82, 547, 545, 546,
+- 82, 85, 82, 82, 85, 82, 483, 563, 1061, 1060,
+- 556, 557, 558, 548, 554, 1052, 549, 1051, 1050, 551,
+- 559, 550, 1049, 560, 555, 1048, 1047, 561, 562, 1046,
+- 1045, 552, 82, 85, 82, 82, 85, 82, 82, 85,
+- 82, 82, 85, 82, 82, 85, 82, 565, 82, 85,
+-
+- 82, 1044, 564, 1043, 1042, 567, 1041, 1040, 566, 82,
+- 85, 82, 82, 85, 82, 82, 85, 82, 82, 85,
+- 82, 82, 85, 82, 82, 85, 82, 82, 85, 82,
+- 82, 85, 82, 82, 85, 82, 82, 85, 82, 1039,
+- 568, 1038, 1037, 569, 82, 85, 82, 82, 85, 82,
+- 82, 85, 82, 571, 82, 85, 82, 1036, 1035, 570,
+- 82, 85, 82, 581, 582, 82, 85, 82, 1034, 572,
+- 82, 85, 82, 1033, 573, 82, 85, 82, 1032, 583,
+- 584, 82, 85, 82, 585, 1031, 575, 1030, 576, 1029,
+- 82, 85, 82, 1028, 1027, 574, 1026, 1025, 577, 82,
+-
+- 85, 82, 82, 85, 82, 1024, 1023, 630, 82, 85,
+- 82, 578, 82, 85, 82, 82, 85, 82, 82, 85,
+- 82, 1022, 631, 82, 85, 82, 632, 633, 82, 85,
+- 82, 82, 85, 82, 82, 85, 82, 1021, 1012, 634,
+- 635, 1011, 636, 1010, 1009, 637, 82, 85, 82, 1008,
+- 1007, 643, 639, 1006, 82, 85, 82, 82, 85, 82,
+- 82, 85, 82, 640, 1005, 1004, 646, 638, 82, 85,
+- 82, 1003, 1002, 641, 82, 85, 82, 642, 644, 82,
+- 85, 82, 647, 645, 1001, 1000, 649, 999, 648, 82,
+- 85, 82, 82, 85, 82, 82, 85, 82, 82, 85,
+-
+- 82, 82, 85, 82, 998, 654, 650, 82, 85, 82,
+- 653, 82, 85, 82, 82, 85, 82, 997, 651, 996,
+- 655, 995, 652, 82, 85, 82, 82, 85, 82, 82,
+- 85, 82, 656, 82, 85, 82, 82, 85, 82, 82,
+- 85, 82, 657, 82, 85, 82, 82, 85, 82, 82,
+- 85, 82, 82, 85, 82, 82, 85, 82, 994, 659,
+- 82, 85, 82, 993, 992, 658, 82, 85, 82, 991,
+- 990, 661, 82, 85, 82, 660, 989, 662, 82, 85,
+- 82, 988, 987, 663, 82, 85, 82, 82, 85, 82,
+- 82, 85, 82, 82, 85, 82, 82, 85, 82, 716,
+-
+- 82, 85, 82, 986, 985, 714, 984, 983, 715, 982,
+- 718, 717, 82, 85, 82, 82, 85, 82, 981, 82,
+- 85, 82, 719, 82, 85, 82, 82, 85, 82, 980,
+- 979, 720, 968, 967, 721, 966, 965, 728, 964, 963,
+- 727, 723, 722, 726, 82, 85, 82, 82, 85, 82,
+- 962, 961, 724, 960, 725, 730, 82, 85, 82, 959,
+- 958, 729, 82, 85, 82, 82, 85, 82, 82, 85,
+- 82, 82, 85, 82, 82, 85, 82, 732, 957, 733,
+- 731, 82, 85, 82, 736, 82, 85, 82, 956, 734,
+- 955, 738, 735, 82, 85, 82, 737, 82, 85, 82,
+-
+- 82, 85, 82, 82, 85, 82, 954, 740, 82, 85,
+- 82, 82, 85, 82, 82, 85, 82, 82, 85, 82,
+- 82, 85, 82, 82, 85, 82, 739, 82, 85, 82,
+- 82, 85, 82, 82, 85, 82, 82, 85, 82, 953,
+- 952, 741, 82, 85, 82, 82, 85, 82, 742, 82,
+- 85, 82, 951, 950, 792, 82, 85, 82, 790, 949,
+- 948, 791, 947, 946, 793, 82, 85, 82, 82, 85,
+- 82, 82, 85, 82, 82, 85, 82, 82, 85, 82,
+- 82, 85, 82, 794, 82, 85, 82, 795, 800, 82,
+- 85, 82, 945, 944, 799, 943, 942, 801, 82, 85,
+-
+- 82, 941, 940, 796, 82, 85, 82, 939, 804, 802,
+- 797, 938, 805, 937, 803, 82, 85, 82, 936, 798,
+- 82, 85, 82, 82, 85, 82, 82, 85, 82, 935,
+- 807, 808, 806, 82, 85, 82, 82, 85, 82, 82,
+- 85, 82, 934, 933, 811, 812, 82, 85, 82, 918,
+- 810, 82, 85, 82, 82, 85, 82, 915, 914, 809,
+- 82, 85, 82, 82, 85, 82, 82, 85, 82, 82,
+- 85, 82, 813, 82, 85, 82, 82, 85, 82, 82,
+- 85, 82, 82, 85, 82, 913, 912, 858, 82, 85,
+- 82, 82, 85, 82, 82, 85, 82, 82, 85, 82,
+-
+- 867, 866, 911, 862, 910, 860, 82, 85, 82, 859,
+- 82, 85, 82, 865, 909, 861, 908, 863, 868, 907,
+- 864, 82, 85, 82, 82, 85, 82, 82, 85, 82,
+- 906, 869, 905, 904, 870, 82, 85, 82, 82, 85,
+- 82, 82, 85, 82, 903, 902, 872, 873, 82, 85,
+- 82, 82, 85, 82, 82, 85, 82, 82, 85, 82,
+- 871, 82, 85, 82, 901, 875, 900, 899, 874, 82,
+- 85, 82, 82, 85, 82, 898, 82, 85, 82, 876,
+- 82, 85, 82, 82, 85, 82, 82, 85, 82, 897,
+- 896, 82, 85, 82, 920, 82, 85, 82, 82, 85,
+-
+- 82, 895, 927, 894, 893, 919, 82, 85, 82, 82,
+- 85, 82, 922, 923, 926, 82, 85, 82, 921, 892,
+- 925, 891, 890, 928, 887, 886, 924, 82, 85, 82,
+- 82, 85, 82, 82, 85, 82, 82, 85, 82, 82,
+- 85, 82, 885, 884, 930, 883, 882, 929, 82, 85,
+- 82, 881, 931, 82, 85, 82, 82, 85, 82, 880,
+- 932, 82, 85, 82, 82, 85, 82, 82, 85, 82,
+- 82, 85, 82, 82, 85, 82, 82, 85, 82, 82,
+- 85, 82, 82, 85, 82, 82, 85, 82, 82, 85,
+- 82, 879, 878, 976, 877, 970, 82, 85, 82, 857,
+-
+- 856, 977, 855, 975, 969, 854, 973, 971, 853, 978,
+- 82, 85, 82, 972, 82, 85, 82, 852, 974, 82,
+- 85, 82, 82, 85, 82, 851, 82, 85, 82, 82,
+- 85, 82, 82, 85, 82, 82, 85, 82, 82, 85,
+- 82, 850, 849, 1013, 848, 1020, 82, 85, 82, 82,
+- 85, 82, 82, 85, 82, 82, 85, 82, 847, 846,
+- 1014, 845, 1018, 82, 85, 82, 1019, 1016, 82, 85,
+- 82, 1015, 1017, 82, 85, 82, 82, 85, 82, 82,
+- 85, 82, 82, 85, 82, 844, 843, 1053, 842, 1055,
+- 82, 85, 82, 841, 1054, 82, 85, 82, 82, 85,
+-
+- 82, 1056, 82, 85, 82, 82, 85, 82, 1057, 82,
+- 85, 82, 82, 85, 82, 82, 85, 82, 840, 1058,
+- 82, 85, 82, 839, 1059, 82, 85, 82, 838, 837,
+- 1123, 836, 82, 85, 82, 835, 831, 1089, 830, 1091,
+- 829, 1090, 828, 1093, 1092, 827, 826, 1094, 1122, 82,
+- 85, 82, 82, 85, 82, 82, 85, 82, 82, 85,
+- 82, 82, 85, 82, 82, 85, 82, 82, 85, 82,
+- 82, 85, 82, 82, 85, 82, 1124, 1125, 82, 85,
+- 82, 82, 85, 82, 82, 85, 82, 82, 85, 82,
+- 1147, 82, 85, 82, 82, 85, 82, 825, 824, 1150,
+-
+- 82, 85, 82, 823, 1148, 82, 85, 82, 1149, 82,
+- 85, 82, 1170, 1215, 822, 821, 1171, 82, 85, 82,
+- 82, 85, 82, 1172, 82, 85, 82, 820, 1191, 1190,
+- 82, 85, 82, 1205, 819, 818, 1206, 82, 85, 82,
+- 817, 1214, 816, 1222, 82, 85, 82, 82, 85, 82,
+- 815, 1221, 814, 787, 786, 785, 784, 783, 782, 781,
+- 780, 1228, 779, 778, 777, 776, 1226, 775, 774, 773,
+- 772, 771, 770, 769, 1230, 1232, 768, 767, 766, 765,
+- 764, 763, 762, 761, 760, 759, 752, 751, 750, 749,
+- 748, 747, 746, 1233, 45, 45, 45, 45, 49, 49,
+-
+- 49, 49, 75, 75, 75, 75, 78, 78, 78, 78,
+- 85, 85, 94, 94, 182, 745, 182, 182, 744, 743,
+- 713, 712, 711, 710, 709, 708, 707, 706, 705, 704,
+- 703, 702, 701, 700, 699, 698, 697, 694, 693, 692,
++ 24, 23, 25, 26, 23, 27, 23, 23, 23, 23,
++ 23, 23, 23, 12, 23, 23, 28, 29, 30, 31,
++ 32, 23, 23, 33, 23, 34, 23, 35, 36, 37,
++ 23, 38, 39, 40, 41, 42, 23, 23, 23, 43,
++ 44, 48, 47, 51, 45, 49, 51, 72, 78, 351,
++ 52, 73, 75, 52, 53, 81, 76, 88, 74, 81,
++ 82, 89, 83, 83, 84, 87, 84, 352, 54, 84,
++
++ 85, 84, 86, 86, 182, 182, 84, 87, 84, 84,
++ 87, 84, 55, 84, 87, 84, 130, 79, 150, 232,
++ 131, 56, 151, 57, 58, 1146, 59, 60, 233, 61,
++ 62, 63, 97, 64, 65, 66, 67, 68, 69, 70,
++ 71, 90, 255, 83, 83, 1152, 99, 84, 87, 84,
++ 91, 92, 84, 87, 84, 78, 256, 93, 84, 87,
++ 84, 100, 84, 87, 84, 98, 93, 84, 87, 84,
++ 84, 87, 84, 84, 87, 84, 189, 189, 91, 92,
++ 84, 87, 84, 84, 93, 84, 84, 87, 84, 84,
++ 87, 84, 93, 1153, 79, 94, 84, 87, 84, 101,
++
++ 84, 87, 84, 102, 108, 105, 103, 176, 84, 104,
++ 84, 177, 109, 106, 110, 84, 87, 84, 230, 111,
++ 113, 336, 107, 84, 87, 84, 1154, 112, 84, 87,
++ 84, 84, 87, 84, 84, 87, 84, 114, 337, 179,
++ 234, 117, 118, 180, 119, 115, 81, 231, 116, 235,
++ 81, 120, 547, 121, 281, 322, 122, 84, 87, 84,
++ 84, 87, 84, 235, 123, 548, 323, 128, 154, 125,
++ 126, 124, 84, 87, 84, 127, 132, 133, 134, 135,
++ 136, 137, 138, 139, 140, 130, 1155, 141, 142, 131,
++ 143, 144, 1156, 145, 146, 147, 148, 149, 84, 87,
++
++ 84, 84, 87, 84, 156, 226, 155, 84, 87, 84,
++ 158, 1157, 84, 87, 84, 84, 87, 84, 238, 105,
++ 227, 84, 87, 84, 84, 87, 84, 84, 87, 84,
++ 936, 331, 157, 84, 87, 84, 228, 937, 161, 102,
++ 236, 108, 103, 332, 237, 104, 333, 111, 239, 109,
++ 160, 110, 150, 162, 159, 163, 151, 345, 165, 84,
++ 87, 84, 346, 164, 84, 87, 84, 1158, 112, 84,
++ 87, 84, 84, 183, 84, 166, 167, 84, 87, 84,
++ 245, 84, 115, 84, 246, 116, 84, 87, 84, 168,
++ 188, 188, 176, 247, 189, 189, 177, 169, 84, 87,
++
++ 84, 84, 170, 84, 545, 117, 171, 121, 119, 546,
++ 122, 172, 187, 187, 805, 120, 806, 179, 123, 91,
++ 92, 180, 638, 125, 175, 173, 639, 174, 126, 84,
++ 87, 84, 84, 127, 84, 86, 86, 1159, 241, 84,
++ 87, 84, 184, 185, 242, 243, 191, 91, 92, 84,
++ 87, 84, 1160, 84, 87, 84, 84, 87, 84, 84,
++ 87, 84, 84, 87, 84, 84, 87, 84, 908, 909,
++ 184, 185, 192, 193, 194, 84, 87, 84, 84, 87,
++ 84, 84, 87, 84, 84, 87, 84, 84, 87, 84,
++ 84, 87, 84, 196, 1161, 1162, 197, 84, 87, 84,
++
++ 84, 87, 84, 195, 84, 87, 84, 84, 87, 84,
++ 1163, 198, 84, 87, 84, 84, 87, 84, 84, 87,
++ 84, 84, 87, 84, 84, 87, 84, 199, 202, 201,
++ 200, 1164, 1165, 203, 84, 87, 84, 204, 354, 84,
++ 87, 84, 84, 87, 84, 208, 206, 355, 205, 207,
++ 211, 84, 87, 84, 209, 710, 84, 87, 84, 210,
++ 711, 213, 84, 87, 84, 212, 325, 326, 216, 327,
++ 1166, 215, 84, 87, 84, 84, 87, 84, 214, 84,
++ 87, 84, 1167, 217, 218, 249, 422, 250, 770, 423,
++ 251, 219, 252, 84, 87, 84, 84, 87, 84, 84,
++
++ 87, 84, 771, 220, 221, 84, 87, 84, 84, 87,
++ 84, 1168, 222, 84, 87, 84, 1169, 224, 1170, 1171,
++ 225, 223, 84, 87, 84, 84, 87, 84, 84, 87,
++ 84, 84, 87, 84, 84, 87, 84, 260, 84, 87,
++ 84, 1172, 1177, 262, 84, 87, 84, 264, 261, 263,
++ 84, 87, 84, 84, 87, 84, 84, 87, 84, 84,
++ 87, 84, 265, 84, 87, 84, 84, 87, 84, 1178,
++ 269, 1179, 1180, 266, 84, 87, 84, 268, 84, 87,
++ 84, 1181, 208, 270, 267, 1182, 273, 272, 84, 87,
++ 84, 182, 182, 450, 1183, 271, 1184, 451, 91, 92,
++
++ 452, 274, 1185, 276, 188, 282, 1186, 84, 283, 283,
++ 275, 277, 1188, 189, 189, 1189, 279, 187, 187, 1187,
++ 214, 92, 278, 1190, 91, 92, 91, 92, 84, 87,
++ 84, 84, 87, 84, 84, 87, 84, 280, 84, 87,
++ 84, 84, 87, 84, 1191, 284, 1192, 1193, 286, 92,
++ 1194, 287, 91, 92, 84, 87, 84, 84, 87, 84,
++ 84, 87, 84, 84, 87, 84, 84, 87, 84, 1195,
++ 1199, 288, 84, 87, 84, 84, 87, 84, 84, 87,
++ 84, 285, 84, 87, 84, 289, 84, 87, 84, 84,
++ 87, 84, 84, 87, 84, 84, 87, 84, 293, 84,
++
++ 87, 84, 1200, 290, 84, 87, 84, 291, 1201, 1202,
++ 292, 294, 297, 84, 87, 84, 295, 84, 87, 84,
++ 298, 84, 87, 84, 1203, 296, 84, 87, 84, 299,
++ 300, 84, 87, 84, 84, 87, 84, 84, 87, 84,
++ 84, 87, 84, 1204, 301, 84, 87, 84, 84, 87,
++ 84, 1205, 302, 1206, 1207, 303, 1208, 304, 84, 87,
++ 84, 84, 87, 84, 307, 1209, 305, 306, 84, 87,
++ 84, 84, 87, 84, 1210, 84, 87, 84, 84, 87,
++ 84, 341, 308, 1211, 1212, 309, 313, 342, 311, 310,
++ 1213, 1214, 312, 1215, 1218, 343, 314, 84, 87, 84,
++
++ 84, 87, 84, 315, 84, 87, 84, 1219, 317, 318,
++ 84, 87, 84, 84, 87, 84, 84, 87, 84, 316,
++ 84, 87, 84, 84, 87, 84, 1220, 1221, 363, 84,
++ 87, 84, 1222, 365, 1223, 364, 1224, 84, 87, 84,
++ 84, 87, 84, 1225, 367, 84, 87, 84, 366, 84,
++ 87, 84, 1226, 84, 87, 84, 1227, 1228, 368, 84,
++ 87, 84, 1229, 370, 84, 87, 84, 371, 84, 87,
++ 84, 84, 87, 84, 369, 372, 1230, 851, 84, 87,
++ 84, 852, 373, 374, 84, 87, 84, 84, 1233, 84,
++ 283, 283, 84, 853, 84, 283, 283, 1234, 1235, 375,
++
++ 376, 1236, 1237, 185, 1238, 1239, 378, 1242, 1243, 379,
++ 377, 380, 84, 87, 84, 84, 87, 84, 84, 87,
++ 84, 84, 87, 84, 1244, 1245, 84, 87, 84, 1246,
++ 384, 185, 386, 1249, 381, 84, 87, 84, 84, 87,
++ 84, 385, 84, 87, 84, 1250, 1251, 387, 388, 389,
++ 390, 84, 87, 84, 84, 87, 84, 84, 87, 84,
++ 1253, 84, 87, 84, 1255, 383, 84, 87, 84, 84,
++ 87, 84, 84, 87, 84, 84, 87, 84, 84, 87,
++ 84, 84, 87, 84, 84, 87, 84, 84, 87, 84,
++ 1257, 190, 391, 84, 87, 84, 1145, 1144, 393, 84,
++
++ 87, 84, 392, 394, 395, 84, 87, 84, 84, 87,
++ 84, 1143, 1142, 396, 1141, 399, 1140, 1139, 400, 84,
++ 87, 84, 1138, 397, 1137, 401, 1136, 1135, 398, 84,
++ 87, 84, 84, 87, 84, 402, 84, 87, 84, 404,
++ 1134, 406, 1133, 405, 84, 87, 84, 84, 87, 84,
++ 403, 84, 87, 84, 84, 87, 84, 84, 87, 84,
++ 84, 87, 84, 84, 87, 84, 1132, 1131, 409, 407,
++ 1130, 408, 84, 87, 84, 84, 87, 84, 772, 773,
++ 410, 84, 87, 84, 84, 87, 84, 774, 412, 84,
++ 87, 84, 1129, 775, 413, 84, 87, 84, 411, 84,
++
++ 87, 84, 84, 87, 84, 84, 87, 84, 1128, 414,
++ 460, 1127, 415, 84, 87, 84, 1126, 462, 84, 87,
++ 84, 84, 87, 84, 84, 87, 84, 1125, 1124, 464,
++ 461, 84, 87, 84, 84, 87, 84, 84, 87, 84,
++ 1123, 463, 84, 87, 84, 1122, 465, 84, 87, 84,
++ 1121, 467, 1120, 1112, 466, 84, 87, 84, 84, 87,
++ 84, 1111, 1110, 398, 1109, 468, 1108, 1107, 472, 1106,
++ 469, 1105, 405, 1104, 470, 84, 87, 84, 1103, 412,
++ 1102, 474, 1101, 1100, 471, 1099, 1098, 473, 84, 87,
++ 84, 475, 1097, 1096, 478, 1095, 1094, 476, 1093, 1092,
++
++ 477, 84, 87, 84, 84, 87, 84, 84, 87, 84,
++ 84, 87, 84, 479, 84, 87, 84, 84, 87, 84,
++ 480, 84, 87, 84, 84, 87, 84, 482, 484, 1091,
++ 1090, 485, 1089, 1088, 481, 84, 87, 84, 486, 483,
++ 84, 87, 84, 84, 87, 84, 84, 87, 84, 84,
++ 87, 84, 84, 87, 84, 84, 87, 84, 84, 87,
++ 84, 1087, 487, 84, 87, 84, 84, 87, 84, 1086,
++ 1085, 488, 84, 87, 84, 84, 87, 84, 84, 87,
++ 84, 84, 87, 84, 84, 87, 84, 84, 87, 84,
++ 84, 87, 84, 1084, 492, 1075, 1074, 489, 1073, 493,
++
++ 84, 87, 84, 490, 1072, 1071, 491, 84, 87, 84,
++ 1070, 1069, 495, 84, 87, 84, 494, 84, 87, 84,
++ 497, 84, 87, 84, 499, 84, 87, 84, 1068, 496,
++ 84, 87, 84, 84, 87, 84, 1067, 1066, 498, 1065,
++ 84, 87, 84, 1064, 1063, 500, 84, 87, 84, 1062,
++ 1061, 502, 1060, 1059, 503, 84, 87, 84, 1058, 501,
++ 84, 87, 84, 1057, 550, 84, 87, 84, 84, 87,
++ 84, 84, 87, 84, 84, 87, 84, 1056, 1055, 84,
++ 87, 84, 1054, 551, 552, 84, 87, 84, 84, 87,
++ 84, 84, 87, 84, 555, 1053, 1052, 553, 1051, 84,
++
++ 87, 84, 1050, 1049, 554, 84, 87, 84, 84, 87,
++ 84, 84, 87, 84, 557, 556, 558, 559, 84, 87,
++ 84, 84, 87, 84, 566, 84, 87, 84, 1048, 494,
++ 1047, 1046, 569, 570, 571, 567, 560, 1045, 1044, 561,
++ 562, 563, 572, 1034, 1033, 573, 84, 87, 84, 574,
++ 575, 568, 564, 576, 84, 87, 84, 84, 87, 84,
++ 84, 87, 84, 1032, 1031, 565, 84, 87, 84, 578,
++ 84, 87, 84, 1030, 577, 84, 87, 84, 1029, 1028,
++ 579, 84, 87, 84, 580, 84, 87, 84, 84, 87,
++ 84, 84, 87, 84, 84, 87, 84, 84, 87, 84,
++
++ 84, 87, 84, 84, 87, 84, 84, 87, 84, 84,
++ 87, 84, 84, 87, 84, 582, 1027, 581, 84, 87,
++ 84, 84, 87, 84, 594, 595, 584, 84, 87, 84,
++ 1026, 1025, 583, 84, 87, 84, 84, 87, 84, 1024,
++ 596, 597, 585, 1023, 1022, 598, 1021, 586, 84, 87,
++ 84, 84, 87, 84, 84, 87, 84, 588, 1020, 589,
++ 84, 87, 84, 587, 84, 87, 84, 84, 87, 84,
++ 1019, 590, 84, 87, 84, 84, 87, 84, 643, 84,
++ 87, 84, 1018, 1017, 591, 84, 87, 84, 84, 87,
++ 84, 84, 87, 84, 84, 87, 84, 646, 1016, 1015,
++
++ 644, 1014, 645, 1013, 647, 648, 649, 84, 87, 84,
++ 1012, 1011, 651, 84, 87, 84, 84, 87, 84, 84,
++ 87, 84, 653, 84, 87, 84, 84, 87, 84, 1010,
++ 1009, 654, 650, 658, 84, 87, 84, 652, 1008, 655,
++ 661, 84, 87, 84, 84, 87, 84, 659, 84, 87,
++ 84, 657, 660, 656, 1007, 662, 1006, 1005, 663, 84,
++ 87, 84, 84, 87, 84, 665, 664, 84, 87, 84,
++ 84, 87, 84, 1004, 84, 87, 84, 669, 84, 87,
++ 84, 1003, 668, 84, 87, 84, 1002, 1001, 666, 84,
++ 87, 84, 667, 670, 84, 87, 84, 84, 87, 84,
++
++ 84, 87, 84, 671, 84, 87, 84, 84, 87, 84,
++ 84, 87, 84, 989, 672, 84, 87, 84, 84, 87,
++ 84, 84, 87, 84, 84, 87, 84, 84, 87, 84,
++ 674, 84, 87, 84, 84, 87, 84, 84, 87, 84,
++ 673, 988, 676, 84, 87, 84, 675, 987, 677, 84,
++ 87, 84, 84, 87, 84, 678, 84, 87, 84, 84,
++ 87, 84, 84, 87, 84, 986, 985, 731, 984, 983,
++ 732, 84, 87, 84, 84, 87, 84, 729, 982, 730,
++ 981, 733, 84, 87, 84, 980, 979, 734, 84, 87,
++ 84, 84, 87, 84, 736, 978, 735, 84, 87, 84,
++
++ 84, 87, 84, 737, 84, 87, 84, 84, 87, 84,
++ 977, 738, 84, 87, 84, 743, 739, 744, 745, 976,
++ 747, 746, 975, 974, 741, 973, 740, 84, 87, 84,
++ 742, 84, 87, 84, 84, 87, 84, 84, 87, 84,
++ 84, 87, 84, 84, 87, 84, 749, 972, 750, 971,
++ 970, 748, 969, 753, 84, 87, 84, 968, 751, 967,
++ 966, 752, 84, 87, 84, 84, 87, 84, 755, 754,
++ 84, 87, 84, 84, 87, 84, 84, 87, 84, 965,
++ 757, 84, 87, 84, 84, 87, 84, 84, 87, 84,
++ 84, 87, 84, 84, 87, 84, 964, 963, 756, 84,
++
++ 87, 84, 84, 87, 84, 84, 87, 84, 84, 87,
++ 84, 84, 87, 84, 758, 84, 87, 84, 84, 87,
++ 84, 759, 84, 87, 84, 84, 87, 84, 962, 809,
++ 961, 807, 84, 87, 84, 960, 959, 808, 958, 810,
++ 84, 87, 84, 84, 87, 84, 84, 87, 84, 957,
++ 956, 811, 84, 87, 84, 84, 87, 84, 955, 954,
++ 812, 938, 935, 813, 934, 84, 87, 84, 933, 84,
++ 87, 84, 84, 87, 84, 818, 819, 84, 87, 84,
++ 814, 84, 87, 84, 932, 815, 820, 931, 84, 87,
++ 84, 84, 87, 84, 816, 930, 929, 817, 823, 824,
++
++ 928, 927, 821, 84, 87, 84, 822, 84, 87, 84,
++ 84, 87, 84, 84, 87, 84, 926, 826, 827, 925,
++ 825, 84, 87, 84, 84, 87, 84, 84, 87, 84,
++ 924, 923, 830, 831, 84, 87, 84, 922, 829, 84,
++ 87, 84, 84, 87, 84, 921, 828, 84, 87, 84,
++ 84, 87, 84, 84, 87, 84, 84, 87, 84, 920,
++ 832, 84, 87, 84, 84, 87, 84, 84, 87, 84,
++ 919, 918, 877, 84, 87, 84, 84, 87, 84, 917,
++ 916, 84, 87, 84, 84, 87, 84, 915, 914, 879,
++ 882, 878, 913, 912, 886, 84, 87, 84, 911, 880,
++
++ 910, 887, 907, 906, 881, 883, 885, 84, 87, 84,
++ 905, 884, 84, 87, 84, 84, 87, 84, 84, 87,
++ 84, 904, 903, 888, 84, 87, 84, 902, 889, 84,
++ 87, 84, 901, 900, 890, 84, 87, 84, 84, 87,
++ 84, 84, 87, 84, 899, 898, 892, 893, 84, 87,
++ 84, 84, 87, 84, 84, 87, 84, 84, 87, 84,
++ 891, 84, 87, 84, 897, 895, 876, 875, 894, 84,
++ 87, 84, 84, 87, 84, 84, 87, 84, 874, 896,
++ 84, 87, 84, 84, 87, 84, 84, 87, 84, 84,
++ 87, 84, 873, 872, 940, 871, 84, 87, 84, 84,
++
++ 87, 84, 84, 87, 84, 939, 948, 870, 943, 84,
++ 87, 84, 942, 84, 87, 84, 869, 944, 941, 947,
++ 84, 87, 84, 946, 84, 87, 84, 949, 868, 945,
++ 867, 84, 87, 84, 84, 87, 84, 84, 87, 84,
++ 84, 87, 84, 866, 950, 951, 84, 87, 84, 84,
++ 87, 84, 865, 952, 84, 87, 84, 84, 87, 84,
++ 864, 953, 84, 87, 84, 84, 87, 84, 84, 87,
++ 84, 84, 87, 84, 84, 87, 84, 84, 87, 84,
++ 84, 87, 84, 863, 84, 87, 84, 84, 87, 84,
++ 862, 991, 861, 860, 998, 84, 87, 84, 994, 84,
++
++ 87, 84, 990, 999, 997, 992, 859, 995, 858, 993,
++ 857, 1000, 84, 87, 84, 84, 87, 84, 856, 996,
++ 84, 87, 84, 84, 87, 84, 84, 87, 84, 84,
++ 87, 84, 84, 87, 84, 84, 87, 84, 84, 87,
++ 84, 84, 87, 84, 855, 1035, 854, 850, 1043, 84,
++ 87, 84, 84, 87, 84, 84, 87, 84, 84, 87,
++ 84, 1036, 84, 87, 84, 1041, 849, 848, 1038, 1042,
++ 1039, 847, 1037, 846, 845, 1040, 84, 87, 84, 84,
++ 87, 84, 84, 87, 84, 84, 87, 84, 844, 843,
++ 1076, 842, 1078, 84, 87, 84, 841, 1077, 840, 839,
++
++ 1079, 84, 87, 84, 84, 87, 84, 84, 87, 84,
++ 838, 84, 87, 84, 1080, 84, 87, 84, 837, 1081,
++ 84, 87, 84, 836, 84, 87, 84, 835, 1082, 84,
++ 87, 84, 834, 1083, 84, 87, 84, 84, 87, 84,
++ 84, 87, 84, 84, 87, 84, 84, 87, 84, 1117,
++ 1148, 1115, 84, 87, 84, 1114, 1113, 1116, 1118, 84,
++ 87, 84, 84, 87, 84, 84, 87, 84, 833, 804,
++ 1147, 1119, 84, 87, 84, 84, 87, 84, 84, 87,
++ 84, 84, 87, 84, 84, 87, 84, 84, 87, 84,
++ 803, 802, 1150, 801, 1149, 800, 799, 1151, 798, 797,
++
++ 1173, 84, 87, 84, 84, 87, 84, 84, 87, 84,
++ 84, 87, 84, 796, 1174, 795, 1176, 84, 87, 84,
++ 794, 793, 1175, 84, 87, 84, 84, 87, 84, 1196,
++ 84, 87, 84, 1197, 84, 87, 84, 84, 87, 84,
++ 84, 87, 84, 1241, 84, 87, 84, 84, 87, 84,
++ 792, 1198, 791, 790, 1217, 1216, 84, 87, 84, 1231,
++ 84, 87, 84, 84, 87, 84, 84, 87, 84, 789,
++ 788, 1248, 1232, 1240, 787, 786, 785, 784, 783, 782,
++ 1247, 781, 780, 779, 1254, 778, 777, 776, 769, 768,
++ 1252, 767, 766, 765, 764, 763, 762, 761, 1258, 760,
++
++ 1256, 728, 727, 726, 725, 724, 723, 722, 721, 720,
++ 719, 718, 1259, 46, 46, 46, 46, 50, 50, 50,
++ 50, 77, 77, 77, 77, 80, 80, 80, 80, 87,
++ 87, 96, 96, 186, 717, 186, 186, 716, 715, 714,
++ 713, 712, 709, 708, 707, 706, 705, 704, 703, 702,
++ 701, 700, 699, 698, 697, 696, 695, 694, 693, 692,
+ 691, 690, 689, 688, 687, 686, 685, 684, 683, 682,
+- 681, 680, 679, 678, 677, 676, 675, 674, 673, 672,
+- 671, 670, 669, 668, 667, 666, 665, 664, 629, 628,
+- 627, 624, 623, 622, 621, 620, 619, 618, 617, 616,
+- 615, 614, 613, 612, 611, 610, 609, 608, 607, 606,
+- 605, 604, 603, 602, 601, 600, 599, 598, 597, 596,
+-
+- 595, 594, 593, 592, 591, 590, 589, 588, 587, 586,
+- 580, 579, 538, 533, 532, 531, 530, 529, 528, 527,
+- 526, 525, 524, 523, 522, 521, 520, 519, 518, 517,
+- 516, 515, 514, 513, 512, 511, 510, 509, 508, 507,
+- 506, 505, 504, 503, 502, 501, 500, 499, 498, 497,
+- 496, 495, 494, 493, 450, 449, 448, 447, 446, 445,
+- 444, 440, 439, 438, 437, 436, 435, 434, 433, 432,
+- 431, 430, 429, 428, 427, 426, 425, 424, 423, 422,
+- 421, 420, 419, 418, 417, 416, 415, 412, 411, 410,
+- 409, 408, 407, 374, 355, 354, 353, 352, 351, 350,
+-
+- 349, 346, 343, 342, 341, 340, 337, 333, 332, 331,
+- 328, 327, 323, 322, 321, 317, 314, 313, 312, 177,
+- 230, 174, 254, 149, 253, 252, 249, 248, 243, 239,
+- 235, 224, 1234, 1234, 177, 174, 150, 149, 126, 93,
+- 1234, 1234, 72, 46, 11, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
++ 681, 680, 679, 642, 641, 640, 637, 636, 635, 634,
++ 633, 632, 631, 630, 629, 628, 627, 626, 625, 624,
++ 623, 622, 621, 620, 619, 618, 617, 616, 615, 614,
++
++ 613, 612, 611, 610, 609, 608, 607, 606, 605, 604,
++ 603, 602, 601, 600, 599, 593, 592, 549, 544, 543,
++ 542, 541, 540, 539, 538, 537, 536, 535, 534, 533,
++ 532, 531, 530, 529, 528, 527, 526, 525, 524, 523,
++ 522, 521, 520, 519, 518, 517, 516, 515, 514, 513,
++ 512, 511, 510, 509, 508, 507, 506, 505, 504, 459,
++ 458, 457, 456, 455, 454, 453, 449, 448, 447, 446,
++ 445, 444, 443, 442, 441, 440, 439, 438, 437, 436,
++ 435, 434, 433, 432, 431, 430, 429, 428, 427, 426,
++ 425, 424, 421, 420, 419, 418, 417, 416, 382, 362,
++
++ 361, 360, 359, 358, 357, 356, 353, 350, 349, 348,
++ 347, 344, 340, 339, 338, 335, 334, 330, 329, 328,
++ 324, 321, 320, 319, 181, 235, 178, 259, 152, 258,
++ 257, 254, 253, 248, 244, 240, 229, 1260, 1260, 181,
++ 178, 153, 152, 129, 95, 1260, 1260, 74, 47, 11,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
+
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260
+ } ;
+
+-static yyconst flex_int16_t yy_chk[2916] =
++static const flex_int16_t yy_chk[3021] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+@@ -1169,320 +1177,331 @@ static yyconst flex_int16_t yy_chk[2916]
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+- 2, 4, 4, 5, 2, 4, 6, 8, 15, 245,
++ 2, 4, 4, 5, 2, 4, 6, 8, 15, 250,
+ 5, 8, 10, 6, 7, 16, 10, 19, 10, 16,
+- 17, 19, 17, 17, 23, 23, 23, 245, 7, 18,
++ 17, 19, 17, 17, 23, 23, 23, 250, 7, 18,
+
+- 18, 18, 18, 18, 80, 80, 24, 24, 24, 25,
+- 25, 25, 7, 132, 26, 26, 26, 15, 27, 27,
+- 27, 7, 132, 7, 7, 75, 7, 7, 26, 7,
+- 7, 7, 24, 7, 7, 1088, 7, 7, 7, 7,
+- 7, 20, 25, 20, 20, 43, 28, 28, 28, 43,
+- 20, 20, 29, 29, 29, 184, 184, 20, 30, 30,
+- 30, 32, 32, 32, 75, 27, 20, 31, 31, 31,
+- 33, 33, 33, 47, 34, 34, 34, 47, 20, 20,
+- 35, 35, 35, 131, 20, 70, 82, 28, 82, 70,
+- 28, 133, 20, 28, 1096, 20, 36, 36, 36, 29,
+-
+- 133, 31, 73, 85, 30, 85, 73, 32, 34, 31,
+- 233, 31, 131, 30, 37, 37, 37, 33, 78, 38,
+- 38, 38, 78, 39, 39, 39, 1097, 233, 35, 40,
+- 40, 40, 144, 127, 41, 41, 41, 127, 53, 53,
+- 53, 54, 54, 54, 135, 36, 144, 1098, 36, 55,
+- 55, 55, 63, 63, 63, 37, 37, 38, 37, 1099,
+- 38, 83, 83, 83, 177, 37, 825, 825, 38, 39,
+- 41, 40, 53, 177, 135, 38, 40, 44, 44, 44,
+- 44, 44, 44, 44, 44, 44, 63, 1100, 44, 44,
+- 54, 44, 44, 55, 44, 44, 44, 44, 44, 56,
+-
+- 56, 56, 134, 57, 57, 57, 134, 59, 59, 59,
+- 58, 58, 58, 1102, 60, 60, 60, 61, 61, 61,
+- 224, 1103, 62, 62, 62, 64, 64, 64, 65, 65,
+- 65, 224, 1104, 56, 66, 66, 66, 68, 68, 68,
+- 56, 57, 1105, 56, 58, 59, 56, 94, 94, 94,
+- 57, 60, 58, 129, 58, 61, 62, 58, 1106, 1109,
+- 60, 67, 67, 67, 62, 240, 65, 147, 129, 62,
+- 240, 147, 66, 64, 64, 66, 66, 179, 66, 179,
+- 69, 69, 69, 68, 129, 66, 84, 68, 84, 84,
+- 84, 172, 238, 88, 88, 172, 84, 84, 238, 67,
+-
+- 88, 88, 67, 67, 89, 89, 238, 175, 89, 89,
+- 67, 175, 535, 95, 95, 95, 535, 67, 69, 96,
+- 96, 96, 69, 319, 84, 84, 319, 69, 88, 88,
+- 95, 97, 97, 97, 98, 98, 98, 99, 99, 99,
+- 100, 100, 100, 96, 101, 101, 101, 102, 102, 102,
+- 1110, 1111, 97, 103, 103, 103, 104, 104, 104, 105,
+- 105, 105, 106, 106, 106, 107, 107, 107, 108, 108,
+- 108, 99, 1112, 1113, 100, 109, 109, 109, 110, 110,
+- 110, 98, 111, 111, 111, 112, 112, 112, 247, 1114,
+- 101, 113, 113, 113, 114, 114, 114, 247, 1116, 102,
+-
+- 115, 115, 115, 105, 104, 103, 1117, 1118, 106, 116,
+- 116, 116, 107, 117, 117, 117, 118, 118, 118, 108,
+- 111, 109, 181, 110, 181, 1120, 113, 112, 119, 119,
+- 119, 1121, 112, 120, 120, 120, 121, 121, 121, 137,
+- 115, 114, 122, 122, 122, 137, 137, 117, 123, 123,
+- 123, 124, 124, 124, 1126, 449, 116, 115, 125, 125,
+- 125, 118, 117, 139, 141, 448, 141, 139, 449, 141,
+- 448, 141, 151, 151, 151, 1127, 139, 119, 152, 152,
+- 152, 153, 153, 153, 121, 120, 611, 154, 154, 154,
+- 1128, 611, 122, 124, 155, 155, 155, 123, 1129, 125,
+-
+- 156, 156, 156, 157, 157, 157, 158, 158, 158, 159,
+- 159, 159, 160, 160, 160, 675, 151, 161, 161, 161,
+- 1130, 162, 162, 162, 1131, 153, 163, 163, 163, 675,
+- 152, 154, 1132, 155, 164, 164, 164, 165, 165, 165,
+- 166, 166, 166, 167, 167, 167, 169, 169, 169, 156,
+- 168, 168, 168, 161, 157, 170, 170, 170, 160, 171,
+- 171, 171, 178, 178, 163, 159, 162, 1133, 1134, 178,
+- 178, 164, 187, 187, 187, 180, 180, 163, 180, 180,
+- 180, 1137, 165, 167, 185, 185, 189, 189, 189, 187,
+- 1138, 166, 185, 170, 169, 168, 1140, 178, 178, 713,
+-
+- 167, 713, 183, 183, 188, 188, 188, 1142, 171, 183,
+- 183, 190, 190, 190, 191, 191, 191, 1143, 188, 189,
+- 185, 188, 192, 192, 192, 193, 193, 193, 856, 194,
+- 194, 194, 195, 195, 195, 856, 1144, 183, 183, 196,
+- 196, 196, 197, 197, 197, 198, 198, 198, 199, 199,
+- 199, 200, 200, 200, 1145, 190, 201, 201, 201, 202,
+- 202, 202, 1146, 191, 194, 203, 203, 203, 204, 204,
+- 204, 1151, 192, 226, 226, 193, 226, 195, 1135, 198,
+- 1152, 1154, 199, 196, 205, 205, 205, 206, 206, 206,
+- 1155, 1135, 197, 207, 207, 207, 201, 202, 208, 208,
+-
+- 208, 209, 209, 209, 210, 210, 210, 211, 211, 211,
+- 212, 212, 212, 1156, 203, 213, 213, 213, 214, 214,
+- 214, 204, 215, 215, 215, 1157, 216, 216, 216, 1158,
+- 1160, 206, 217, 217, 217, 205, 218, 218, 218, 209,
+- 1161, 230, 207, 1162, 208, 219, 219, 219, 1163, 220,
+- 220, 220, 1164, 230, 1165, 210, 230, 761, 211, 1166,
+- 215, 761, 212, 213, 216, 214, 255, 255, 255, 256,
+- 256, 256, 1167, 761, 217, 257, 257, 257, 258, 258,
+- 258, 1168, 219, 220, 259, 259, 259, 218, 260, 260,
+- 260, 261, 261, 261, 262, 262, 262, 263, 263, 263,
+-
+- 264, 264, 264, 265, 265, 265, 1169, 256, 257, 266,
+- 266, 266, 267, 267, 267, 1173, 255, 1174, 259, 268,
+- 268, 268, 258, 269, 269, 269, 270, 270, 270, 271,
+- 271, 271, 1175, 260, 274, 274, 274, 263, 264, 1176,
+- 1178, 265, 272, 272, 272, 273, 273, 273, 262, 1179,
+- 267, 266, 276, 1180, 276, 276, 276, 277, 1181, 277,
+- 277, 277, 278, 278, 278, 1183, 268, 271, 277, 279,
+- 279, 279, 270, 280, 280, 280, 1185, 1186, 273, 1187,
+- 272, 279, 1189, 1194, 274, 281, 281, 281, 282, 282,
+- 282, 281, 1197, 280, 1198, 1199, 277, 283, 283, 283,
+-
+- 284, 284, 284, 285, 285, 285, 281, 281, 281, 281,
+- 1200, 286, 286, 286, 287, 287, 287, 288, 288, 288,
+- 289, 289, 289, 290, 290, 290, 291, 291, 291, 292,
+- 292, 292, 293, 293, 293, 294, 294, 294, 295, 295,
+- 295, 296, 296, 296, 297, 297, 297, 298, 298, 298,
+- 284, 299, 299, 299, 285, 286, 1201, 1202, 289, 288,
+- 300, 300, 300, 301, 301, 301, 1208, 290, 1209, 294,
+- 1210, 1212, 295, 302, 302, 302, 347, 291, 1213, 296,
+- 347, 1217, 293, 347, 1218, 299, 297, 1219, 1224, 299,
+- 303, 303, 303, 300, 304, 304, 304, 1227, 298, 305,
+-
+- 305, 305, 306, 306, 306, 307, 307, 307, 308, 308,
+- 308, 1229, 1242, 301, 1087, 302, 309, 309, 309, 310,
+- 310, 310, 311, 311, 311, 1086, 303, 356, 356, 356,
+- 357, 357, 357, 358, 358, 358, 1085, 1083, 304, 359,
+- 359, 359, 307, 360, 360, 360, 1082, 1081, 308, 361,
+- 361, 361, 1080, 305, 362, 362, 362, 363, 363, 363,
+- 364, 364, 364, 1079, 1077, 356, 1076, 1075, 309, 1074,
+- 1073, 311, 359, 365, 365, 365, 1072, 366, 366, 366,
+- 1071, 1070, 358, 361, 367, 367, 367, 368, 368, 368,
+- 1069, 369, 369, 369, 1068, 360, 370, 370, 370, 1067,
+-
+- 1066, 362, 371, 371, 371, 1065, 364, 1064, 1063, 363,
+- 372, 372, 372, 373, 373, 373, 375, 375, 375, 1062,
+- 376, 376, 376, 365, 366, 369, 378, 378, 378, 369,
+- 377, 377, 377, 367, 1061, 375, 380, 380, 380, 371,
+- 368, 379, 379, 379, 372, 376, 370, 1060, 1052, 377,
+- 381, 381, 381, 1051, 372, 373, 378, 382, 382, 382,
+- 1050, 379, 1049, 1048, 381, 380, 1045, 381, 383, 383,
+- 383, 384, 384, 384, 381, 385, 385, 385, 386, 386,
+- 386, 387, 387, 387, 388, 388, 388, 389, 389, 389,
+- 390, 390, 390, 391, 391, 391, 392, 392, 392, 1044,
+-
+- 393, 393, 393, 394, 394, 394, 395, 395, 395, 384,
+- 1043, 385, 396, 396, 396, 397, 397, 397, 398, 398,
+- 398, 399, 399, 399, 400, 400, 400, 401, 401, 401,
+- 1042, 1041, 392, 677, 677, 389, 393, 402, 402, 402,
+- 1039, 390, 677, 1038, 391, 403, 403, 403, 677, 396,
+- 395, 404, 404, 404, 405, 405, 405, 399, 406, 406,
+- 406, 401, 451, 451, 451, 1037, 397, 452, 452, 452,
+- 453, 453, 453, 1036, 1035, 400, 1034, 454, 454, 454,
+- 455, 455, 455, 403, 456, 456, 456, 1033, 405, 1032,
+- 1031, 406, 457, 457, 457, 1030, 1029, 404, 458, 458,
+-
+- 458, 452, 1028, 459, 459, 459, 460, 460, 460, 461,
+- 461, 461, 462, 462, 462, 463, 463, 463, 1027, 1026,
+- 453, 454, 464, 464, 464, 1025, 457, 465, 465, 465,
+- 1024, 455, 1023, 456, 466, 466, 466, 467, 467, 467,
+- 468, 468, 468, 467, 469, 469, 469, 461, 458, 459,
+- 471, 471, 471, 470, 470, 470, 462, 471, 1022, 1021,
+- 470, 470, 470, 462, 468, 1012, 463, 1011, 1010, 465,
+- 470, 464, 1009, 470, 469, 1007, 1006, 470, 470, 1005,
+- 1004, 466, 472, 472, 472, 473, 473, 473, 474, 474,
+- 474, 475, 475, 475, 476, 476, 476, 473, 477, 477,
+-
+- 477, 1003, 472, 1002, 1001, 475, 999, 998, 474, 478,
+- 478, 478, 479, 479, 479, 480, 480, 480, 481, 481,
+- 481, 482, 482, 482, 483, 483, 483, 484, 484, 484,
+- 485, 485, 485, 486, 486, 486, 487, 487, 487, 997,
+- 477, 996, 995, 478, 488, 488, 488, 489, 489, 489,
+- 490, 490, 490, 480, 491, 491, 491, 994, 993, 479,
+- 492, 492, 492, 495, 495, 539, 539, 539, 992, 481,
+- 540, 540, 540, 991, 483, 541, 541, 541, 990, 495,
+- 495, 542, 542, 542, 495, 989, 489, 988, 490, 987,
+- 543, 543, 543, 986, 985, 488, 984, 983, 491, 544,
+-
+- 544, 544, 545, 545, 545, 982, 981, 539, 546, 546,
+- 546, 492, 547, 547, 547, 548, 548, 548, 549, 549,
+- 549, 980, 540, 550, 550, 550, 541, 543, 551, 551,
+- 551, 552, 552, 552, 553, 553, 553, 979, 968, 544,
+- 545, 967, 546, 966, 965, 547, 554, 554, 554, 964,
+- 963, 553, 549, 962, 555, 555, 555, 556, 556, 556,
+- 557, 557, 557, 550, 961, 960, 557, 548, 558, 558,
+- 558, 959, 958, 551, 559, 559, 559, 552, 555, 560,
+- 560, 560, 558, 556, 957, 956, 560, 955, 559, 561,
+- 561, 561, 562, 562, 562, 563, 563, 563, 564, 564,
+-
+- 564, 565, 565, 565, 954, 564, 561, 566, 566, 566,
+- 563, 567, 567, 567, 568, 568, 568, 953, 562, 951,
+- 565, 950, 562, 569, 569, 569, 570, 570, 570, 571,
+- 571, 571, 566, 572, 572, 572, 573, 573, 573, 574,
+- 574, 574, 567, 575, 575, 575, 576, 576, 576, 577,
+- 577, 577, 578, 578, 578, 630, 630, 630, 949, 569,
+- 631, 631, 631, 947, 946, 568, 632, 632, 632, 945,
+- 944, 572, 634, 634, 634, 570, 943, 574, 633, 633,
+- 633, 942, 941, 576, 635, 635, 635, 636, 636, 636,
+- 637, 637, 637, 638, 638, 638, 639, 639, 639, 632,
+-
+- 640, 640, 640, 940, 939, 630, 938, 937, 631, 936,
+- 634, 633, 641, 641, 641, 642, 642, 642, 935, 643,
+- 643, 643, 635, 644, 644, 644, 645, 645, 645, 934,
+- 933, 636, 918, 917, 637, 916, 915, 645, 914, 913,
+- 644, 639, 638, 643, 646, 646, 646, 647, 647, 647,
+- 912, 911, 640, 910, 641, 647, 648, 648, 648, 909,
+- 907, 646, 649, 649, 649, 650, 650, 650, 651, 651,
+- 651, 652, 652, 652, 653, 653, 653, 649, 906, 650,
+- 648, 654, 654, 654, 653, 655, 655, 655, 902, 651,
+- 901, 655, 652, 656, 656, 656, 654, 657, 657, 657,
+-
+- 658, 658, 658, 659, 659, 659, 900, 657, 660, 660,
+- 660, 661, 661, 661, 662, 662, 662, 663, 663, 663,
+- 714, 714, 714, 715, 715, 715, 656, 716, 716, 716,
+- 717, 717, 717, 718, 718, 718, 719, 719, 719, 899,
+- 898, 659, 720, 720, 720, 721, 721, 721, 661, 722,
+- 722, 722, 897, 896, 716, 723, 723, 723, 714, 895,
+- 894, 715, 893, 892, 717, 724, 724, 724, 725, 725,
+- 725, 726, 726, 726, 727, 727, 727, 728, 728, 728,
+- 729, 729, 729, 721, 730, 730, 730, 722, 728, 731,
+- 731, 731, 891, 890, 727, 889, 888, 729, 732, 732,
+-
+- 732, 887, 886, 723, 733, 733, 733, 885, 732, 730,
+- 724, 884, 733, 883, 731, 734, 734, 734, 882, 725,
+- 735, 735, 735, 736, 736, 736, 737, 737, 737, 881,
+- 735, 736, 734, 738, 738, 738, 739, 739, 739, 740,
+- 740, 740, 880, 879, 739, 739, 741, 741, 741, 857,
+- 738, 742, 742, 742, 790, 790, 790, 855, 854, 737,
+- 791, 791, 791, 792, 792, 792, 793, 793, 793, 794,
+- 794, 794, 740, 795, 795, 795, 796, 796, 796, 797,
+- 797, 797, 798, 798, 798, 853, 851, 790, 799, 799,
+- 799, 800, 800, 800, 801, 801, 801, 802, 802, 802,
+-
+- 801, 800, 850, 794, 849, 792, 803, 803, 803, 791,
+- 804, 804, 804, 799, 848, 793, 846, 797, 804, 845,
+- 798, 805, 805, 805, 806, 806, 806, 807, 807, 807,
+- 844, 805, 843, 842, 806, 808, 808, 808, 809, 809,
+- 809, 810, 810, 810, 841, 840, 809, 809, 811, 811,
+- 811, 812, 812, 812, 813, 813, 813, 858, 858, 858,
+- 808, 859, 859, 859, 839, 812, 838, 837, 811, 860,
+- 860, 860, 861, 861, 861, 836, 862, 862, 862, 813,
+- 863, 863, 863, 864, 864, 864, 865, 865, 865, 835,
+- 834, 866, 866, 866, 859, 867, 867, 867, 868, 868,
+-
+- 868, 833, 867, 832, 829, 858, 869, 869, 869, 870,
+- 870, 870, 861, 862, 866, 871, 871, 871, 860, 828,
+- 864, 827, 826, 868, 824, 823, 863, 872, 872, 872,
+- 873, 873, 873, 874, 874, 874, 875, 875, 875, 876,
+- 876, 876, 822, 821, 873, 820, 819, 872, 919, 919,
+- 919, 818, 874, 920, 920, 920, 921, 921, 921, 817,
+- 875, 922, 922, 922, 923, 923, 923, 924, 924, 924,
+- 925, 925, 925, 926, 926, 926, 927, 927, 927, 928,
+- 928, 928, 929, 929, 929, 930, 930, 930, 931, 931,
+- 931, 816, 815, 927, 814, 920, 932, 932, 932, 789,
+-
+- 788, 929, 787, 925, 919, 785, 923, 921, 784, 930,
+- 969, 969, 969, 922, 970, 970, 970, 781, 924, 971,
+- 971, 971, 972, 972, 972, 779, 973, 973, 973, 974,
+- 974, 974, 975, 975, 975, 976, 976, 976, 977, 977,
+- 977, 778, 777, 969, 776, 976, 978, 978, 978, 1013,
+- 1013, 1013, 1014, 1014, 1014, 1015, 1015, 1015, 775, 774,
+- 970, 773, 974, 1016, 1016, 1016, 975, 972, 1017, 1017,
+- 1017, 971, 973, 1018, 1018, 1018, 1019, 1019, 1019, 1020,
+- 1020, 1020, 1053, 1053, 1053, 772, 771, 1013, 770, 1015,
+- 1054, 1054, 1054, 769, 1014, 1055, 1055, 1055, 1056, 1056,
+-
+- 1056, 1016, 1057, 1057, 1057, 1059, 1059, 1059, 1017, 1058,
+- 1058, 1058, 1089, 1089, 1089, 1090, 1090, 1090, 767, 1018,
+- 1091, 1091, 1091, 766, 1019, 1092, 1092, 1092, 765, 764,
+- 1091, 763, 1093, 1093, 1093, 762, 760, 1053, 759, 1055,
+- 758, 1054, 757, 1058, 1056, 756, 755, 1059, 1089, 1094,
+- 1094, 1094, 1122, 1122, 1122, 1123, 1123, 1123, 1124, 1124,
+- 1124, 1125, 1125, 1125, 1147, 1147, 1147, 1148, 1148, 1148,
+- 1149, 1149, 1149, 1150, 1150, 1150, 1092, 1093, 1170, 1170,
+- 1170, 1171, 1171, 1171, 1172, 1172, 1172, 1191, 1191, 1191,
+- 1122, 1190, 1190, 1190, 1205, 1205, 1205, 754, 753, 1125,
+-
+- 1206, 1206, 1206, 752, 1123, 1214, 1214, 1214, 1124, 1215,
+- 1215, 1215, 1147, 1206, 751, 750, 1148, 1221, 1221, 1221,
+- 1222, 1222, 1222, 1150, 1226, 1226, 1226, 749, 1171, 1170,
+- 1228, 1228, 1228, 1190, 748, 747, 1191, 1230, 1230, 1230,
+- 746, 1205, 745, 1215, 1232, 1232, 1232, 1233, 1233, 1233,
+- 744, 1214, 743, 712, 711, 710, 709, 708, 707, 705,
+- 704, 1226, 703, 702, 701, 700, 1222, 699, 698, 697,
+- 696, 695, 694, 693, 1228, 1230, 692, 690, 689, 687,
+- 685, 684, 683, 680, 679, 678, 674, 673, 671, 670,
+- 669, 668, 667, 1232, 1235, 1235, 1235, 1235, 1236, 1236,
+-
+- 1236, 1236, 1237, 1237, 1237, 1237, 1238, 1238, 1238, 1238,
+- 1239, 1239, 1240, 1240, 1241, 666, 1241, 1241, 665, 664,
+- 629, 628, 627, 626, 625, 624, 623, 622, 621, 620,
+- 619, 618, 617, 616, 614, 613, 612, 610, 609, 608,
+- 607, 606, 605, 604, 602, 601, 600, 599, 598, 597,
+- 596, 595, 594, 593, 592, 591, 590, 589, 588, 587,
+- 586, 585, 584, 583, 582, 581, 580, 579, 538, 537,
+- 536, 534, 533, 532, 531, 530, 529, 528, 527, 526,
+- 525, 524, 523, 522, 521, 520, 519, 518, 517, 516,
+- 515, 514, 513, 512, 511, 510, 509, 508, 507, 506,
+-
+- 505, 504, 503, 502, 501, 500, 499, 498, 497, 496,
+- 494, 493, 450, 447, 446, 445, 444, 443, 442, 441,
+- 440, 439, 438, 437, 436, 435, 434, 433, 432, 431,
+- 430, 429, 428, 427, 426, 425, 424, 423, 422, 421,
+- 420, 419, 418, 417, 416, 415, 414, 413, 412, 411,
+- 410, 409, 408, 407, 354, 353, 352, 351, 350, 349,
+- 348, 346, 345, 344, 343, 342, 341, 340, 339, 338,
+- 337, 336, 335, 334, 333, 332, 331, 330, 329, 328,
+- 327, 326, 325, 324, 322, 321, 320, 318, 317, 316,
+- 315, 314, 313, 275, 254, 253, 252, 251, 250, 249,
+-
+- 248, 246, 244, 243, 242, 241, 239, 237, 235, 234,
+- 232, 231, 229, 228, 227, 225, 223, 222, 221, 176,
+- 174, 173, 149, 148, 146, 145, 143, 142, 140, 138,
+- 136, 130, 81, 77, 74, 71, 51, 48, 42, 22,
+- 21, 11, 9, 3, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
++ 18, 18, 18, 18, 82, 82, 24, 24, 24, 25,
++ 25, 25, 7, 26, 26, 26, 44, 15, 48, 135,
++ 44, 7, 48, 7, 7, 1112, 7, 7, 135, 7,
++ 7, 7, 24, 7, 7, 7, 7, 7, 7, 7,
++ 7, 20, 147, 20, 20, 1121, 26, 27, 27, 27,
++ 20, 20, 28, 28, 28, 77, 147, 20, 30, 30,
++ 30, 27, 29, 29, 29, 25, 20, 31, 31, 31,
++ 32, 32, 32, 33, 33, 33, 188, 188, 20, 20,
++ 34, 34, 34, 84, 20, 84, 35, 35, 35, 36,
++ 36, 36, 20, 1122, 77, 20, 37, 37, 37, 28,
++
++ 38, 38, 38, 29, 32, 30, 29, 72, 87, 29,
++ 87, 72, 32, 31, 32, 39, 39, 39, 134, 33,
++ 35, 238, 31, 40, 40, 40, 1123, 34, 41, 41,
++ 41, 42, 42, 42, 54, 54, 54, 36, 238, 75,
++ 136, 38, 38, 75, 38, 37, 80, 134, 37, 136,
++ 80, 38, 458, 39, 181, 229, 39, 55, 55, 55,
++ 56, 56, 56, 181, 39, 458, 229, 42, 54, 40,
++ 41, 39, 58, 58, 58, 41, 45, 45, 45, 45,
++ 45, 45, 45, 45, 45, 130, 1124, 45, 45, 130,
++ 45, 45, 1125, 45, 45, 45, 45, 45, 57, 57,
++
++ 57, 61, 61, 61, 56, 132, 55, 59, 59, 59,
++ 58, 1127, 60, 60, 60, 62, 62, 62, 138, 58,
++ 132, 63, 63, 63, 64, 64, 64, 65, 65, 65,
++ 875, 235, 57, 66, 66, 66, 132, 875, 61, 57,
++ 137, 59, 57, 235, 137, 57, 235, 61, 138, 59,
++ 60, 59, 150, 62, 59, 63, 150, 245, 64, 67,
++ 67, 67, 245, 63, 68, 68, 68, 1128, 63, 69,
++ 69, 69, 85, 85, 85, 65, 65, 70, 70, 70,
++ 142, 183, 66, 183, 142, 66, 71, 71, 71, 66,
++ 91, 91, 176, 142, 91, 91, 176, 67, 96, 96,
++
++ 96, 185, 68, 185, 457, 68, 68, 69, 68, 457,
++ 69, 69, 90, 90, 728, 68, 728, 179, 69, 90,
++ 90, 179, 546, 70, 71, 69, 546, 70, 71, 97,
++ 97, 97, 86, 71, 86, 86, 86, 1129, 140, 98,
++ 98, 98, 86, 86, 140, 140, 97, 90, 90, 99,
++ 99, 99, 1130, 100, 100, 100, 101, 101, 101, 102,
++ 102, 102, 103, 103, 103, 104, 104, 104, 844, 844,
++ 86, 86, 98, 99, 100, 105, 105, 105, 106, 106,
++ 106, 107, 107, 107, 108, 108, 108, 109, 109, 109,
++ 110, 110, 110, 102, 1131, 1134, 103, 111, 111, 111,
++
++ 112, 112, 112, 101, 113, 113, 113, 114, 114, 114,
++ 1135, 104, 115, 115, 115, 116, 116, 116, 117, 117,
++ 117, 118, 118, 118, 119, 119, 119, 105, 108, 107,
++ 106, 1136, 1137, 109, 120, 120, 120, 110, 252, 121,
++ 121, 121, 122, 122, 122, 114, 112, 252, 111, 113,
++ 116, 123, 123, 123, 115, 624, 124, 124, 124, 115,
++ 624, 118, 125, 125, 125, 117, 231, 231, 120, 231,
++ 1138, 119, 126, 126, 126, 127, 127, 127, 118, 128,
++ 128, 128, 1139, 120, 121, 144, 326, 144, 690, 326,
++ 144, 122, 144, 154, 154, 154, 155, 155, 155, 156,
++
++ 156, 156, 690, 123, 124, 157, 157, 157, 158, 158,
++ 158, 1141, 125, 159, 159, 159, 1142, 127, 1143, 1145,
++ 128, 126, 160, 160, 160, 161, 161, 161, 162, 162,
++ 162, 163, 163, 163, 164, 164, 164, 154, 165, 165,
++ 165, 1146, 1152, 156, 166, 166, 166, 158, 155, 157,
++ 167, 167, 167, 168, 168, 168, 169, 169, 169, 170,
++ 170, 170, 159, 171, 171, 171, 172, 172, 172, 1153,
++ 164, 1154, 1155, 160, 173, 173, 173, 163, 174, 174,
++ 174, 1156, 166, 165, 162, 1157, 168, 167, 175, 175,
++ 175, 182, 182, 354, 1158, 166, 1159, 354, 182, 182,
++
++ 354, 169, 1160, 171, 184, 184, 1161, 184, 184, 184,
++ 170, 172, 1163, 189, 189, 1164, 174, 187, 187, 1161,
++ 171, 189, 173, 1166, 187, 187, 182, 182, 191, 191,
++ 191, 192, 192, 192, 193, 193, 193, 175, 194, 194,
++ 194, 195, 195, 195, 1168, 191, 1169, 1170, 193, 189,
++ 1171, 193, 187, 187, 196, 196, 196, 197, 197, 197,
++ 198, 198, 198, 199, 199, 199, 200, 200, 200, 1172,
++ 1177, 194, 201, 201, 201, 202, 202, 202, 203, 203,
++ 203, 192, 205, 205, 205, 195, 204, 204, 204, 206,
++ 206, 206, 207, 207, 207, 208, 208, 208, 199, 209,
++
++ 209, 209, 1178, 196, 210, 210, 210, 197, 1180, 1181,
++ 198, 200, 203, 211, 211, 211, 201, 212, 212, 212,
++ 204, 213, 213, 213, 1182, 202, 214, 214, 214, 206,
++ 207, 215, 215, 215, 216, 216, 216, 217, 217, 217,
++ 218, 218, 218, 1183, 208, 219, 219, 219, 220, 220,
++ 220, 1184, 209, 1186, 1187, 210, 1188, 211, 221, 221,
++ 221, 222, 222, 222, 214, 1189, 212, 213, 223, 223,
++ 223, 224, 224, 224, 1190, 225, 225, 225, 260, 260,
++ 260, 243, 215, 1191, 1192, 216, 220, 243, 218, 217,
++ 1193, 1194, 219, 1195, 1199, 243, 221, 261, 261, 261,
++
++ 262, 262, 262, 222, 263, 263, 263, 1200, 224, 225,
++ 264, 264, 264, 265, 265, 265, 266, 266, 266, 223,
++ 267, 267, 267, 268, 268, 268, 1201, 1202, 260, 269,
++ 269, 269, 1204, 262, 1205, 261, 1206, 270, 270, 270,
++ 271, 271, 271, 1207, 264, 272, 272, 272, 263, 273,
++ 273, 273, 1209, 274, 274, 274, 1211, 1212, 265, 275,
++ 275, 275, 1213, 268, 276, 276, 276, 269, 277, 277,
++ 277, 278, 278, 278, 267, 270, 1215, 778, 279, 279,
++ 279, 778, 271, 272, 280, 280, 280, 282, 1220, 282,
++ 282, 282, 283, 778, 283, 283, 283, 1223, 1224, 273,
++
++ 274, 1225, 1226, 283, 1227, 1228, 277, 1234, 1235, 278,
++ 276, 279, 284, 284, 284, 285, 285, 285, 286, 286,
++ 286, 287, 287, 287, 1236, 1238, 288, 288, 288, 1239,
++ 286, 283, 288, 1243, 280, 289, 289, 289, 290, 290,
++ 290, 287, 291, 291, 291, 1244, 1245, 288, 288, 288,
++ 288, 292, 292, 292, 293, 293, 293, 294, 294, 294,
++ 1250, 295, 295, 295, 1253, 285, 296, 296, 296, 297,
++ 297, 297, 298, 298, 298, 299, 299, 299, 300, 300,
++ 300, 301, 301, 301, 302, 302, 302, 303, 303, 303,
++ 1255, 1268, 291, 304, 304, 304, 1111, 1110, 293, 305,
++
++ 305, 305, 292, 295, 296, 306, 306, 306, 307, 307,
++ 307, 1109, 1107, 297, 1106, 301, 1105, 1104, 302, 308,
++ 308, 308, 1103, 298, 1101, 303, 1100, 1099, 300, 309,
++ 309, 309, 310, 310, 310, 304, 311, 311, 311, 306,
++ 1098, 307, 1097, 306, 312, 312, 312, 313, 313, 313,
++ 305, 314, 314, 314, 315, 315, 315, 316, 316, 316,
++ 317, 317, 317, 318, 318, 318, 1096, 1095, 310, 308,
++ 1094, 309, 363, 363, 363, 364, 364, 364, 692, 692,
++ 311, 365, 365, 365, 366, 366, 366, 692, 314, 367,
++ 367, 367, 1093, 692, 315, 368, 368, 368, 312, 369,
++
++ 369, 369, 370, 370, 370, 371, 371, 371, 1092, 316,
++ 363, 1091, 318, 372, 372, 372, 1090, 366, 373, 373,
++ 373, 374, 374, 374, 375, 375, 375, 1089, 1088, 368,
++ 365, 376, 376, 376, 377, 377, 377, 378, 378, 378,
++ 1087, 367, 379, 379, 379, 1086, 369, 380, 380, 380,
++ 1085, 371, 1084, 1075, 370, 381, 381, 381, 383, 383,
++ 383, 1074, 1073, 372, 1072, 373, 1071, 1068, 377, 1067,
++ 374, 1066, 377, 1065, 375, 384, 384, 384, 1064, 379,
++ 1062, 380, 1061, 1060, 376, 1059, 1058, 378, 385, 385,
++ 385, 380, 1057, 1056, 384, 1055, 1054, 381, 1053, 1052,
++
++ 383, 386, 386, 386, 387, 387, 387, 388, 388, 388,
++ 389, 389, 389, 385, 390, 390, 390, 391, 391, 391,
++ 386, 392, 392, 392, 393, 393, 393, 388, 390, 1051,
++ 1050, 390, 1049, 1048, 387, 394, 394, 394, 390, 389,
++ 395, 395, 395, 396, 396, 396, 397, 397, 397, 398,
++ 398, 398, 399, 399, 399, 400, 400, 400, 401, 401,
++ 401, 1047, 393, 402, 402, 402, 403, 403, 403, 1046,
++ 1045, 394, 404, 404, 404, 405, 405, 405, 406, 406,
++ 406, 407, 407, 407, 408, 408, 408, 409, 409, 409,
++ 410, 410, 410, 1044, 401, 1034, 1033, 398, 1032, 402,
++
++ 411, 411, 411, 399, 1031, 1029, 400, 412, 412, 412,
++ 1028, 1027, 405, 413, 413, 413, 404, 414, 414, 414,
++ 408, 415, 415, 415, 410, 460, 460, 460, 1026, 406,
++ 461, 461, 461, 462, 462, 462, 1025, 1024, 409, 1023,
++ 463, 463, 463, 1021, 1020, 412, 464, 464, 464, 1019,
++ 1018, 414, 1017, 1016, 415, 465, 465, 465, 1015, 413,
++ 466, 466, 466, 1014, 461, 467, 467, 467, 468, 468,
++ 468, 469, 469, 469, 470, 470, 470, 1013, 1012, 471,
++ 471, 471, 1011, 462, 463, 472, 472, 472, 473, 473,
++ 473, 474, 474, 474, 466, 1010, 1009, 464, 1008, 475,
++
++ 475, 475, 1007, 1006, 465, 476, 476, 476, 477, 477,
++ 477, 479, 479, 479, 468, 467, 470, 471, 478, 478,
++ 478, 480, 480, 480, 478, 481, 481, 481, 1005, 472,
++ 1004, 1003, 481, 481, 481, 479, 472, 1002, 1001, 473,
++ 474, 475, 481, 989, 988, 481, 482, 482, 482, 481,
++ 481, 480, 476, 482, 483, 483, 483, 484, 484, 484,
++ 485, 485, 485, 987, 986, 477, 487, 487, 487, 484,
++ 486, 486, 486, 985, 483, 488, 488, 488, 984, 983,
++ 485, 489, 489, 489, 486, 490, 490, 490, 491, 491,
++ 491, 492, 492, 492, 493, 493, 493, 494, 494, 494,
++
++ 495, 495, 495, 496, 496, 496, 497, 497, 497, 498,
++ 498, 498, 499, 499, 499, 489, 982, 488, 500, 500,
++ 500, 501, 501, 501, 506, 506, 491, 502, 502, 502,
++ 981, 980, 490, 503, 503, 503, 550, 550, 550, 979,
++ 506, 506, 492, 978, 977, 506, 976, 494, 551, 551,
++ 551, 552, 552, 552, 553, 553, 553, 500, 975, 501,
++ 554, 554, 554, 499, 555, 555, 555, 556, 556, 556,
++ 974, 502, 557, 557, 557, 558, 558, 558, 550, 559,
++ 559, 559, 972, 971, 503, 560, 560, 560, 561, 561,
++ 561, 562, 562, 562, 563, 563, 563, 554, 970, 968,
++
++ 551, 967, 552, 966, 555, 556, 557, 564, 564, 564,
++ 965, 964, 559, 565, 565, 565, 566, 566, 566, 567,
++ 567, 567, 561, 568, 568, 568, 569, 569, 569, 963,
++ 962, 562, 558, 566, 570, 570, 570, 560, 961, 563,
++ 570, 571, 571, 571, 572, 572, 572, 568, 574, 574,
++ 574, 565, 569, 564, 960, 571, 959, 958, 572, 573,
++ 573, 573, 575, 575, 575, 574, 573, 576, 576, 576,
++ 577, 577, 577, 957, 578, 578, 578, 577, 579, 579,
++ 579, 956, 576, 580, 580, 580, 955, 954, 575, 581,
++ 581, 581, 575, 578, 582, 582, 582, 583, 583, 583,
++
++ 584, 584, 584, 579, 585, 585, 585, 586, 586, 586,
++ 587, 587, 587, 938, 580, 588, 588, 588, 589, 589,
++ 589, 590, 590, 590, 591, 591, 591, 643, 643, 643,
++ 582, 644, 644, 644, 645, 645, 645, 646, 646, 646,
++ 581, 937, 585, 647, 647, 647, 583, 936, 587, 648,
++ 648, 648, 649, 649, 649, 589, 650, 650, 650, 651,
++ 651, 651, 652, 652, 652, 935, 934, 645, 933, 932,
++ 646, 653, 653, 653, 654, 654, 654, 643, 931, 644,
++ 930, 647, 655, 655, 655, 929, 927, 648, 656, 656,
++ 656, 658, 658, 658, 650, 926, 649, 657, 657, 657,
++
++ 659, 659, 659, 651, 661, 661, 661, 660, 660, 660,
++ 922, 652, 662, 662, 662, 658, 653, 659, 660, 921,
++ 662, 661, 920, 919, 655, 918, 654, 663, 663, 663,
++ 657, 664, 664, 664, 665, 665, 665, 666, 666, 666,
++ 667, 667, 667, 668, 668, 668, 664, 917, 665, 916,
++ 915, 663, 914, 668, 669, 669, 669, 913, 666, 912,
++ 911, 667, 670, 670, 670, 671, 671, 671, 670, 669,
++ 672, 672, 672, 673, 673, 673, 674, 674, 674, 910,
++ 672, 675, 675, 675, 676, 676, 676, 677, 677, 677,
++ 678, 678, 678, 729, 729, 729, 909, 908, 671, 730,
++
++ 730, 730, 731, 731, 731, 732, 732, 732, 733, 733,
++ 733, 734, 734, 734, 674, 735, 735, 735, 736, 736,
++ 736, 676, 737, 737, 737, 738, 738, 738, 907, 731,
++ 906, 729, 739, 739, 739, 905, 904, 730, 903, 732,
++ 740, 740, 740, 741, 741, 741, 742, 742, 742, 902,
++ 901, 736, 743, 743, 743, 744, 744, 744, 900, 899,
++ 737, 876, 874, 738, 873, 745, 745, 745, 872, 746,
++ 746, 746, 758, 758, 758, 744, 745, 747, 747, 747,
++ 739, 748, 748, 748, 870, 740, 746, 869, 749, 749,
++ 749, 750, 750, 750, 741, 868, 867, 742, 749, 750,
++
++ 865, 864, 747, 751, 751, 751, 748, 752, 752, 752,
++ 753, 753, 753, 754, 754, 754, 863, 752, 753, 862,
++ 751, 755, 755, 755, 756, 756, 756, 757, 757, 757,
++ 861, 860, 756, 756, 759, 759, 759, 859, 755, 807,
++ 807, 807, 808, 808, 808, 858, 754, 809, 809, 809,
++ 810, 810, 810, 811, 811, 811, 812, 812, 812, 857,
++ 757, 813, 813, 813, 814, 814, 814, 815, 815, 815,
++ 856, 855, 807, 816, 816, 816, 817, 817, 817, 854,
++ 853, 818, 818, 818, 819, 819, 819, 852, 851, 809,
++ 812, 808, 848, 847, 819, 820, 820, 820, 846, 810,
++
++ 845, 820, 843, 842, 811, 815, 818, 821, 821, 821,
++ 841, 816, 822, 822, 822, 823, 823, 823, 824, 824,
++ 824, 840, 839, 823, 825, 825, 825, 838, 824, 826,
++ 826, 826, 837, 836, 825, 827, 827, 827, 828, 828,
++ 828, 829, 829, 829, 835, 834, 828, 828, 830, 830,
++ 830, 831, 831, 831, 832, 832, 832, 877, 877, 877,
++ 827, 878, 878, 878, 833, 831, 806, 805, 830, 879,
++ 879, 879, 880, 880, 880, 881, 881, 881, 804, 832,
++ 882, 882, 882, 883, 883, 883, 884, 884, 884, 885,
++ 885, 885, 802, 801, 878, 798, 886, 886, 886, 887,
++
++ 887, 887, 888, 888, 888, 877, 887, 796, 881, 889,
++ 889, 889, 880, 890, 890, 890, 795, 882, 879, 886,
++ 891, 891, 891, 884, 892, 892, 892, 888, 794, 883,
++ 793, 893, 893, 893, 894, 894, 894, 895, 895, 895,
++ 896, 896, 896, 792, 892, 893, 939, 939, 939, 940,
++ 940, 940, 791, 894, 941, 941, 941, 942, 942, 942,
++ 790, 895, 943, 943, 943, 944, 944, 944, 945, 945,
++ 945, 946, 946, 946, 947, 947, 947, 948, 948, 948,
++ 949, 949, 949, 789, 950, 950, 950, 951, 951, 951,
++ 788, 940, 787, 786, 948, 952, 952, 952, 943, 953,
++
++ 953, 953, 939, 950, 946, 941, 784, 944, 783, 942,
++ 782, 951, 990, 990, 990, 991, 991, 991, 781, 945,
++ 992, 992, 992, 993, 993, 993, 994, 994, 994, 995,
++ 995, 995, 996, 996, 996, 997, 997, 997, 998, 998,
++ 998, 999, 999, 999, 780, 990, 779, 777, 998, 1000,
++ 1000, 1000, 1035, 1035, 1035, 1036, 1036, 1036, 1037, 1037,
++ 1037, 991, 1038, 1038, 1038, 996, 776, 775, 993, 997,
++ 994, 774, 992, 773, 772, 995, 1039, 1039, 1039, 1040,
++ 1040, 1040, 1041, 1041, 1041, 1042, 1042, 1042, 771, 770,
++ 1035, 769, 1037, 1043, 1043, 1043, 768, 1036, 767, 766,
++
++ 1038, 1076, 1076, 1076, 1077, 1077, 1077, 1078, 1078, 1078,
++ 765, 1079, 1079, 1079, 1039, 1080, 1080, 1080, 764, 1040,
++ 1081, 1081, 1081, 763, 1082, 1082, 1082, 762, 1041, 1083,
++ 1083, 1083, 761, 1042, 1113, 1113, 1113, 1114, 1114, 1114,
++ 1115, 1115, 1115, 1116, 1116, 1116, 1117, 1117, 1117, 1080,
++ 1115, 1078, 1118, 1118, 1118, 1077, 1076, 1079, 1082, 1119,
++ 1119, 1119, 1147, 1147, 1147, 1148, 1148, 1148, 760, 727,
++ 1113, 1083, 1149, 1149, 1149, 1150, 1150, 1150, 1151, 1151,
++ 1151, 1173, 1173, 1173, 1174, 1174, 1174, 1175, 1175, 1175,
++ 726, 725, 1117, 724, 1116, 723, 722, 1118, 720, 719,
++
++ 1147, 1176, 1176, 1176, 1196, 1196, 1196, 1197, 1197, 1197,
++ 1198, 1198, 1198, 718, 1148, 717, 1151, 1216, 1216, 1216,
++ 716, 715, 1149, 1217, 1217, 1217, 1231, 1231, 1231, 1173,
++ 1232, 1232, 1232, 1174, 1240, 1240, 1240, 1241, 1241, 1241,
++ 1247, 1247, 1247, 1232, 1248, 1248, 1248, 1252, 1252, 1252,
++ 714, 1176, 713, 712, 1197, 1196, 1254, 1254, 1254, 1216,
++ 1256, 1256, 1256, 1258, 1258, 1258, 1259, 1259, 1259, 711,
++ 710, 1241, 1217, 1231, 709, 708, 707, 705, 704, 702,
++ 1240, 700, 699, 698, 1252, 695, 694, 693, 689, 688,
++ 1248, 686, 685, 684, 683, 682, 681, 680, 1256, 679,
++
++ 1254, 642, 641, 640, 639, 638, 637, 636, 635, 634,
++ 633, 632, 1258, 1261, 1261, 1261, 1261, 1262, 1262, 1262,
++ 1262, 1263, 1263, 1263, 1263, 1264, 1264, 1264, 1264, 1265,
++ 1265, 1266, 1266, 1267, 631, 1267, 1267, 630, 629, 627,
++ 626, 625, 623, 622, 621, 620, 619, 618, 617, 615,
++ 614, 613, 612, 611, 610, 609, 608, 607, 606, 605,
++ 604, 603, 602, 601, 600, 599, 598, 597, 596, 595,
++ 594, 593, 592, 549, 548, 547, 545, 544, 543, 542,
++ 541, 540, 539, 538, 537, 536, 535, 534, 533, 532,
++ 531, 530, 529, 528, 527, 526, 525, 524, 523, 522,
++
++ 521, 520, 519, 518, 517, 516, 515, 514, 513, 512,
++ 511, 510, 509, 508, 507, 505, 504, 459, 456, 455,
++ 454, 453, 452, 451, 450, 449, 448, 447, 446, 445,
++ 444, 443, 442, 441, 440, 439, 438, 437, 436, 435,
++ 434, 433, 432, 431, 430, 429, 428, 427, 426, 425,
++ 424, 423, 422, 421, 420, 419, 418, 417, 416, 361,
++ 360, 359, 358, 357, 356, 355, 353, 352, 351, 350,
++ 349, 348, 347, 346, 345, 344, 343, 342, 341, 340,
++ 339, 338, 337, 336, 335, 334, 333, 332, 331, 329,
++ 328, 327, 325, 324, 323, 322, 321, 320, 281, 259,
++
++ 258, 257, 256, 255, 254, 253, 251, 249, 248, 247,
++ 246, 244, 242, 240, 239, 237, 236, 234, 233, 232,
++ 230, 228, 227, 226, 180, 178, 177, 152, 151, 149,
++ 148, 146, 145, 143, 141, 139, 133, 83, 79, 76,
++ 73, 52, 49, 43, 22, 21, 11, 9, 3, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
+
+- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
+- 1234, 1234, 1234, 1234, 1234
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260
+ } ;
+
+ static yy_state_type yy_last_accepting_state;
+@@ -1499,7 +1518,7 @@ int yy_flex_debug = 0;
+ #define YY_MORE_ADJ 0
+ #define YY_RESTORE_YY_MORE_OFFSET
+ char *yytext;
+-#line 1 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 1 "lexer.l"
+ /*
+ * The SIP lexer.
+ *
+@@ -1517,7 +1536,7 @@ char *yytext;
+ * SIP is supplied WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ */
+-#line 20 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 20 "lexer.l"
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -1563,11 +1582,9 @@ static int parenDepth = 0;
+
+ static FILE *openFile(const char *);
+ static void fatallex(char *);
++#line 1586 "../lexer.c"
+
+-
+-
+-
+-#line 1571 "sip-4.19.23/sipgen/lexer.c"
++#line 1588 "../lexer.c"
+
+ #define INITIAL 0
+ #define code 1
+@@ -1587,36 +1604,36 @@ static void fatallex(char *);
+ #define YY_EXTRA_TYPE void *
+ #endif
+
+-static int yy_init_globals (void );
++static int yy_init_globals ( void );
+
+ /* Accessor methods to globals.
+ These are made visible to non-reentrant scanners for convenience. */
+
+-int yylex_destroy (void );
++int yylex_destroy ( void );
+
+-int yyget_debug (void );
++int yyget_debug ( void );
+
+-void yyset_debug (int debug_flag );
++void yyset_debug ( int debug_flag );
+
+-YY_EXTRA_TYPE yyget_extra (void );
++YY_EXTRA_TYPE yyget_extra ( void );
+
+-void yyset_extra (YY_EXTRA_TYPE user_defined );
++void yyset_extra ( YY_EXTRA_TYPE user_defined );
+
+-FILE *yyget_in (void );
++FILE *yyget_in ( void );
+
+-void yyset_in (FILE * in_str );
++void yyset_in ( FILE * _in_str );
+
+-FILE *yyget_out (void );
++FILE *yyget_out ( void );
+
+-void yyset_out (FILE * out_str );
++void yyset_out ( FILE * _out_str );
+
+-yy_size_t yyget_leng (void );
++ int yyget_leng ( void );
+
+-char *yyget_text (void );
++char *yyget_text ( void );
+
+-int yyget_lineno (void );
++int yyget_lineno ( void );
+
+-void yyset_lineno (int line_number );
++void yyset_lineno ( int _line_number );
+
+ /* Macros after this point can all be overridden by user definitions in
+ * section 1.
+@@ -1624,28 +1641,31 @@ void yyset_lineno (int line_number );
+
+ #ifndef YY_SKIP_YYWRAP
+ #ifdef __cplusplus
+-extern "C" int yywrap (void );
++extern "C" int yywrap ( void );
+ #else
+-extern int yywrap (void );
++extern int yywrap ( void );
+ #endif
+ #endif
+
+- static void yyunput (int c,char *buf_ptr );
++#ifndef YY_NO_UNPUT
+
++ static void yyunput ( int c, char *buf_ptr );
++
++#endif
++
+ #ifndef yytext_ptr
+-static void yy_flex_strncpy (char *,yyconst char *,int );
++static void yy_flex_strncpy ( char *, const char *, int );
+ #endif
+
+ #ifdef YY_NEED_STRLEN
+-static int yy_flex_strlen (yyconst char * );
++static int yy_flex_strlen ( const char * );
+ #endif
+
+ #ifndef YY_NO_INPUT
+-
+ #ifdef __cplusplus
+-static int yyinput (void );
++static int yyinput ( void );
+ #else
+-static int input (void );
++static int input ( void );
+ #endif
+
+ #endif
+@@ -1654,15 +1674,20 @@ static int input (void );
+ static int yy_start_stack_depth = 0;
+ static int *yy_start_stack = NULL;
+
+- static void yy_push_state (int new_state );
++ static void yy_push_state ( int _new_state );
+
+- static void yy_pop_state (void );
++ static void yy_pop_state ( void );
+
+- static int yy_top_state (void );
++ static int yy_top_state ( void );
+
+ /* Amount of stuff to slurp up with each read. */
+ #ifndef YY_READ_BUF_SIZE
++#ifdef __ia64__
++/* On IA-64, the buffer size is 16k, not 8k */
++#define YY_READ_BUF_SIZE 16384
++#else
+ #define YY_READ_BUF_SIZE 8192
++#endif /* __ia64__ */
+ #endif
+
+ /* Copy whatever the last rule matched to the standard output. */
+@@ -1670,7 +1695,7 @@ static int input (void );
+ /* This used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite().
+ */
+-#define ECHO fwrite( yytext, yyleng, 1, yyout )
++#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
+ #endif
+
+ /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
+@@ -1681,7 +1706,7 @@ static int input (void );
+ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
+ { \
+ int c = '*'; \
+- yy_size_t n; \
++ int n; \
+ for ( n = 0; n < max_size && \
+ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
+ buf[n] = (char) c; \
+@@ -1694,7 +1719,7 @@ static int input (void );
+ else \
+ { \
+ errno=0; \
+- while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
++ while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
+ { \
+ if( errno != EINTR) \
+ { \
+@@ -1749,7 +1774,7 @@ extern int yylex (void);
+
+ /* Code executed at the end of each rule. */
+ #ifndef YY_BREAK
+-#define YY_BREAK break;
++#define YY_BREAK /*LINTED*/break;
+ #endif
+
+ #define YY_RULE_SETUP \
+@@ -1762,15 +1787,10 @@ extern int yylex (void);
+ */
+ YY_DECL
+ {
+- register yy_state_type yy_current_state;
+- register char *yy_cp, *yy_bp;
+- register int yy_act;
++ yy_state_type yy_current_state;
++ char *yy_cp, *yy_bp;
++ int yy_act;
+
+-#line 74 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-
+-
+-#line 1773 "sip-4.19.23/sipgen/lexer.c"
+-
+ if ( !(yy_init) )
+ {
+ (yy_init) = 1;
+@@ -1791,13 +1811,19 @@ YY_DECL
+ if ( ! YY_CURRENT_BUFFER ) {
+ yyensure_buffer_stack ();
+ YY_CURRENT_BUFFER_LVALUE =
+- yy_create_buffer(yyin,YY_BUF_SIZE );
++ yy_create_buffer( yyin, YY_BUF_SIZE );
+ }
+
+- yy_load_buffer_state( );
++ yy_load_buffer_state( );
+ }
+
+- while ( 1 ) /* loops until end-of-file is reached */
++ {
++#line 74 "lexer.l"
++
++
++#line 1825 "../lexer.c"
++
++ while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
+ {
+ yy_cp = (yy_c_buf_p);
+
+@@ -1814,7 +1840,7 @@ YY_DECL
+ yy_match:
+ do
+ {
+- register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
++ YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
+ if ( yy_accept[yy_current_state] )
+ {
+ (yy_last_accepting_state) = yy_current_state;
+@@ -1823,13 +1849,13 @@ yy_match:
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+- if ( yy_current_state >= 1235 )
+- yy_c = yy_meta[(unsigned int) yy_c];
++ if ( yy_current_state >= 1261 )
++ yy_c = yy_meta[yy_c];
+ }
+- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
+ ++yy_cp;
+ }
+- while ( yy_base[yy_current_state] != 2845 );
++ while ( yy_base[yy_current_state] != 2950 );
+
+ yy_find_action:
+ yy_act = yy_accept[yy_current_state];
+@@ -1855,540 +1881,550 @@ do_action: /* This label is used only to
+
+ case 1:
+ YY_RULE_SETUP
+-#line 76 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 76 "lexer.l"
+ {BEGIN directive_start; return TK_API;}
+ YY_BREAK
+ case 2:
+ YY_RULE_SETUP
+-#line 77 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 77 "lexer.l"
+ {BEGIN directive_start; return TK_AUTOPYNAME;}
+ YY_BREAK
+ case 3:
+ YY_RULE_SETUP
+-#line 78 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 78 "lexer.l"
+ {return TK_CMODULE;}
+ YY_BREAK
+ case 4:
+ YY_RULE_SETUP
+-#line 79 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 79 "lexer.l"
+ {BEGIN directive_start; return TK_COMPOMODULE;}
+ YY_BREAK
+ case 5:
+ YY_RULE_SETUP
+-#line 80 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 80 "lexer.l"
+ {BEGIN directive_start; return TK_CONSMODULE;}
+ YY_BREAK
+ case 6:
+ YY_RULE_SETUP
+-#line 81 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 81 "lexer.l"
+ {BEGIN directive_start; return TK_DEFDOCSTRFMT;}
+ YY_BREAK
+ case 7:
+ YY_RULE_SETUP
+-#line 82 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 82 "lexer.l"
+ {BEGIN directive_start; return TK_DEFDOCSTRSIG;}
+ YY_BREAK
+ case 8:
+ YY_RULE_SETUP
+-#line 83 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 83 "lexer.l"
+ {BEGIN directive_start; return TK_DEFENCODING;}
+ YY_BREAK
+ case 9:
+ YY_RULE_SETUP
+-#line 84 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 84 "lexer.l"
+ {BEGIN directive_start; return TK_DEFMETATYPE;}
+ YY_BREAK
+ case 10:
+ YY_RULE_SETUP
+-#line 85 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 85 "lexer.l"
+ {BEGIN directive_start; return TK_DEFSUPERTYPE;}
+ YY_BREAK
+ case 11:
+ YY_RULE_SETUP
+-#line 86 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 86 "lexer.l"
+ {return TK_END;}
+ YY_BREAK
+ case 12:
+ YY_RULE_SETUP
+-#line 87 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 87 "lexer.l"
+ {BEGIN INITIAL; return TK_END;}
+ YY_BREAK
+ case 13:
+ YY_RULE_SETUP
+-#line 88 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 88 "lexer.l"
+ {return TK_EXCEPTION;}
+ YY_BREAK
+ case 14:
+ YY_RULE_SETUP
+-#line 89 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 89 "lexer.l"
+ {BEGIN directive_start; return TK_FEATURE;}
+ YY_BREAK
+ case 15:
+ YY_RULE_SETUP
+-#line 90 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 90 "lexer.l"
+ {BEGIN directive_start; return TK_HIDE_NS;}
+ YY_BREAK
+ case 16:
+ YY_RULE_SETUP
+-#line 91 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 91 "lexer.l"
+ {return TK_IF;}
+ YY_BREAK
+ case 17:
+ YY_RULE_SETUP
+-#line 92 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 92 "lexer.l"
+ {BEGIN directive_start; return TK_IMPORT;}
+ YY_BREAK
+ case 18:
+ YY_RULE_SETUP
+-#line 93 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 93 "lexer.l"
+ {BEGIN directive_start; return TK_INCLUDE;}
+ YY_BREAK
+ case 19:
+ YY_RULE_SETUP
+-#line 94 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 94 "lexer.l"
+ {BEGIN directive_start; return TK_LICENSE;}
+ YY_BREAK
+ case 20:
+ YY_RULE_SETUP
+-#line 95 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 95 "lexer.l"
+ {return TK_MAPPEDTYPE;}
+ YY_BREAK
+ case 21:
+ YY_RULE_SETUP
+-#line 96 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 96 "lexer.l"
+ {BEGIN directive_start; return TK_MODULE;}
+ YY_BREAK
+ case 22:
+ YY_RULE_SETUP
+-#line 97 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 97 "lexer.l"
+ {return TK_OPTINCLUDE;}
+ YY_BREAK
+ case 23:
+ YY_RULE_SETUP
+-#line 98 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 98 "lexer.l"
+ {return TK_PLATFORMS;}
+ YY_BREAK
+ case 24:
+ YY_RULE_SETUP
+-#line 99 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 99 "lexer.l"
+ {BEGIN directive_start; return TK_PLUGIN;}
+ YY_BREAK
+ case 25:
+ YY_RULE_SETUP
+-#line 100 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 100 "lexer.l"
+ {BEGIN directive_start; return TK_PROPERTY;}
+ YY_BREAK
+ case 26:
+ YY_RULE_SETUP
+-#line 101 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 101 "lexer.l"
+ {return TK_TIMELINE;}
+ YY_BREAK
+ case 27:
+ YY_RULE_SETUP
+-#line 103 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 103 "lexer.l"
+ {return TK_CLASS;}
+ YY_BREAK
+ case 28:
+ YY_RULE_SETUP
+-#line 104 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 104 "lexer.l"
+ {return TK_STRUCT;}
+ YY_BREAK
+ case 29:
+ YY_RULE_SETUP
+-#line 105 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 105 "lexer.l"
+ {return TK_PUBLIC;}
+ YY_BREAK
+ case 30:
+ YY_RULE_SETUP
+-#line 106 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 106 "lexer.l"
+ {return TK_PROTECTED;}
+ YY_BREAK
+ case 31:
+ YY_RULE_SETUP
+-#line 107 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 107 "lexer.l"
+ {return TK_PRIVATE;}
+ YY_BREAK
+ case 32:
+ YY_RULE_SETUP
+-#line 108 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 108 "lexer.l"
+ {return TK_SIGNALS;}
+ YY_BREAK
+ case 33:
+ YY_RULE_SETUP
+-#line 109 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 109 "lexer.l"
+ {return TK_SIGNALS;}
+ YY_BREAK
+ case 34:
+ YY_RULE_SETUP
+-#line 110 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 110 "lexer.l"
+ {return TK_SIGNAL_METHOD;}
+ YY_BREAK
+ case 35:
+ YY_RULE_SETUP
+-#line 111 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 111 "lexer.l"
+ {return TK_SLOTS;}
+ YY_BREAK
+ case 36:
+ YY_RULE_SETUP
+-#line 112 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 112 "lexer.l"
+ {return TK_SLOTS;}
+ YY_BREAK
+ case 37:
+ YY_RULE_SETUP
+-#line 113 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 113 "lexer.l"
+ {return TK_SLOT_METHOD;}
+ YY_BREAK
+ case 38:
+ YY_RULE_SETUP
+-#line 114 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 114 "lexer.l"
+ {return TK_CHAR;}
+ YY_BREAK
+ case 39:
+ YY_RULE_SETUP
+-#line 115 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 115 "lexer.l"
+ {return TK_WCHAR_T;}
+ YY_BREAK
+ case 40:
+ YY_RULE_SETUP
+-#line 116 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 116 "lexer.l"
+ {return TK_BOOL;}
+ YY_BREAK
+ case 41:
+ YY_RULE_SETUP
+-#line 117 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 117 "lexer.l"
+ {return TK_SHORT;}
+ YY_BREAK
+ case 42:
+ YY_RULE_SETUP
+-#line 118 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 118 "lexer.l"
+ {return TK_INT;}
+ YY_BREAK
+ case 43:
+ YY_RULE_SETUP
+-#line 119 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 119 "lexer.l"
+ {return TK_LONG;}
+ YY_BREAK
+ case 44:
+ YY_RULE_SETUP
+-#line 120 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 120 "lexer.l"
+ {return TK_FLOAT;}
+ YY_BREAK
+ case 45:
+ YY_RULE_SETUP
+-#line 121 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 121 "lexer.l"
+ {return TK_DOUBLE;}
+ YY_BREAK
+ case 46:
+ YY_RULE_SETUP
+-#line 122 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 122 "lexer.l"
+ {return TK_VOID;}
+ YY_BREAK
+ case 47:
+ YY_RULE_SETUP
+-#line 123 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 123 "lexer.l"
+ {return TK_VIRTUAL;}
+ YY_BREAK
+ case 48:
+ YY_RULE_SETUP
+-#line 124 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 124 "lexer.l"
+ {return TK_ENUM;}
+ YY_BREAK
+ case 49:
+ YY_RULE_SETUP
+-#line 125 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 125 "lexer.l"
+ {return TK_SIGNED;}
+ YY_BREAK
+ case 50:
+ YY_RULE_SETUP
+-#line 126 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 126 "lexer.l"
+ {return TK_UNSIGNED;}
+ YY_BREAK
+ case 51:
+ YY_RULE_SETUP
+-#line 127 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 127 "lexer.l"
+ {return TK_CONST;}
+ YY_BREAK
+ case 52:
+ YY_RULE_SETUP
+-#line 128 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 128 "lexer.l"
+ {return TK_STATIC;}
+ YY_BREAK
+ case 53:
+ YY_RULE_SETUP
+-#line 129 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 129 "lexer.l"
+ {return TK_TRUE_VALUE;}
+ YY_BREAK
+ case 54:
+ YY_RULE_SETUP
+-#line 130 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 130 "lexer.l"
+ {return TK_FALSE_VALUE;}
+ YY_BREAK
+ case 55:
+ YY_RULE_SETUP
+-#line 131 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 131 "lexer.l"
+ {return TK_NULL_VALUE;}
+ YY_BREAK
+ case 56:
+ YY_RULE_SETUP
+-#line 132 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 132 "lexer.l"
+ {return TK_TYPEDEF;}
+ YY_BREAK
+ case 57:
+ YY_RULE_SETUP
+-#line 133 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 133 "lexer.l"
+ {return TK_NAMESPACE;}
+ YY_BREAK
+ case 58:
+ YY_RULE_SETUP
+-#line 134 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 134 "lexer.l"
+ {return TK_OPERATOR;}
+ YY_BREAK
+ case 59:
+ YY_RULE_SETUP
+-#line 135 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 135 "lexer.l"
+ {return TK_THROW;}
+ YY_BREAK
+ case 60:
+ YY_RULE_SETUP
+-#line 136 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 136 "lexer.l"
+ {return TK_EXPLICIT;}
+ YY_BREAK
+ case 61:
+ YY_RULE_SETUP
+-#line 137 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 137 "lexer.l"
+ {return TK_TEMPLATE;}
+ YY_BREAK
+ case 62:
+ YY_RULE_SETUP
+-#line 138 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 138 "lexer.l"
+ {return TK_FINAL;}
+ YY_BREAK
+ case 63:
+ YY_RULE_SETUP
+-#line 139 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 139 "lexer.l"
+ {return TK_SIZET;}
+ YY_BREAK
+ case 64:
+ YY_RULE_SETUP
+-#line 140 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 140 "lexer.l"
+ {return TK_SCOPE;}
+ YY_BREAK
+ case 65:
+ YY_RULE_SETUP
+-#line 141 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 141 "lexer.l"
+ {return TK_LOGICAL_OR;}
+ YY_BREAK
+ case 66:
+ YY_RULE_SETUP
+-#line 142 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 142 "lexer.l"
+ {return TK_PYOBJECT;}
+ YY_BREAK
+ case 67:
+ YY_RULE_SETUP
+-#line 143 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 143 "lexer.l"
+ {return TK_PYTUPLE;}
+ YY_BREAK
+ case 68:
+ YY_RULE_SETUP
+-#line 144 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 144 "lexer.l"
+ {return TK_PYLIST;}
+ YY_BREAK
+ case 69:
+ YY_RULE_SETUP
+-#line 145 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 145 "lexer.l"
+ {return TK_PYDICT;}
+ YY_BREAK
+ case 70:
+ YY_RULE_SETUP
+-#line 146 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 146 "lexer.l"
+ {return TK_PYCALLABLE;}
+ YY_BREAK
+ case 71:
+ YY_RULE_SETUP
+-#line 147 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 147 "lexer.l"
+ {return TK_PYSLICE;}
+ YY_BREAK
+ case 72:
+ YY_RULE_SETUP
+-#line 148 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 148 "lexer.l"
+ {return TK_PYTYPE;}
+ YY_BREAK
+ case 73:
+ YY_RULE_SETUP
+-#line 149 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 149 "lexer.l"
+ {return TK_PYBUFFER;}
+ YY_BREAK
+ case 74:
+ YY_RULE_SETUP
+-#line 150 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 150 "lexer.l"
+ {return TK_SIPSIGNAL;}
+ YY_BREAK
+ case 75:
+ YY_RULE_SETUP
+-#line 151 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 151 "lexer.l"
+ {return TK_SIPSLOT;}
+ YY_BREAK
+ case 76:
+ YY_RULE_SETUP
+-#line 152 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 152 "lexer.l"
+ {return TK_SIPANYSLOT;}
+ YY_BREAK
+ case 77:
+ YY_RULE_SETUP
+-#line 153 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 153 "lexer.l"
+ {return TK_SIPRXCON;}
+ YY_BREAK
+ case 78:
+ YY_RULE_SETUP
+-#line 154 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 154 "lexer.l"
+ {return TK_SIPRXDIS;}
+ YY_BREAK
+ case 79:
+ YY_RULE_SETUP
+-#line 155 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 155 "lexer.l"
+ {return TK_SIPSLOTCON;}
+ YY_BREAK
+ case 80:
+ YY_RULE_SETUP
+-#line 156 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 156 "lexer.l"
+ {return TK_SIPSLOTDIS;}
+ YY_BREAK
+ case 81:
+ YY_RULE_SETUP
+-#line 157 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 157 "lexer.l"
+ {return TK_SIPSSIZET;}
+ YY_BREAK
+ case 82:
+ YY_RULE_SETUP
+-#line 158 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-{return TK_QOBJECT;}
++#line 158 "lexer.l"
++{return TK_SIPSSIZET;}
+ YY_BREAK
+ case 83:
+ YY_RULE_SETUP
+-#line 159 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-{return TK_ELLIPSIS;}
++#line 159 "lexer.l"
++{return TK_QOBJECT;}
+ YY_BREAK
+ case 84:
+ YY_RULE_SETUP
+-#line 161 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-{return TK_FORMAT;}
++#line 160 "lexer.l"
++{return TK_ELLIPSIS;}
+ YY_BREAK
+ case 85:
+ YY_RULE_SETUP
+-#line 162 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-{return TK_GET;}
++#line 162 "lexer.l"
++{return TK_FORMAT;}
+ YY_BREAK
+ case 86:
+ YY_RULE_SETUP
+-#line 163 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-{return TK_ID;}
++#line 163 "lexer.l"
++{return TK_GET;}
+ YY_BREAK
+ case 87:
+ YY_RULE_SETUP
+-#line 164 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-{return TK_KWARGS;}
++#line 164 "lexer.l"
++{return TK_ID;}
+ YY_BREAK
+ case 88:
+ YY_RULE_SETUP
+-#line 165 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-{return TK_LANGUAGE;}
++#line 165 "lexer.l"
++{return TK_KWARGS;}
+ YY_BREAK
+ case 89:
+ YY_RULE_SETUP
+-#line 166 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-{return TK_LICENSEE;}
++#line 166 "lexer.l"
++{return TK_LANGUAGE;}
+ YY_BREAK
+ case 90:
+ YY_RULE_SETUP
+-#line 167 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-{return TK_NAME;}
++#line 167 "lexer.l"
++{return TK_LICENSEE;}
+ YY_BREAK
+ case 91:
+ YY_RULE_SETUP
+-#line 168 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-{return TK_OPTIONAL;}
++#line 168 "lexer.l"
++{return TK_NAME;}
+ YY_BREAK
+ case 92:
+ YY_RULE_SETUP
+-#line 169 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-{return TK_ORDER;}
++#line 169 "lexer.l"
++{return TK_OPTIONAL;}
+ YY_BREAK
+ case 93:
+ YY_RULE_SETUP
+-#line 170 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-{return TK_REMOVELEADING;}
++#line 170 "lexer.l"
++{return TK_ORDER;}
+ YY_BREAK
+ case 94:
+ YY_RULE_SETUP
+-#line 171 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-{return TK_SET;}
++#line 171 "lexer.l"
++{return TK_REMOVELEADING;}
+ YY_BREAK
+ case 95:
+ YY_RULE_SETUP
+-#line 172 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-{return TK_SIGNATURE;}
++#line 172 "lexer.l"
++{return TK_SET;}
+ YY_BREAK
+ case 96:
+ YY_RULE_SETUP
+-#line 173 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-{return TK_TIMESTAMP;}
++#line 173 "lexer.l"
++{return TK_SIGNATURE;}
+ YY_BREAK
+ case 97:
+ YY_RULE_SETUP
+-#line 174 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-{return TK_TYPE;}
++#line 174 "lexer.l"
++{return TK_TIMESTAMP;}
+ YY_BREAK
+ case 98:
+ YY_RULE_SETUP
+-#line 175 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-{return TK_USEARGNAMES;}
++#line 175 "lexer.l"
++{return TK_TYPE;}
+ YY_BREAK
+ case 99:
+ YY_RULE_SETUP
+-#line 176 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-{return TK_USELIMITEDAPI;}
++#line 176 "lexer.l"
++{return TK_USEARGNAMES;}
+ YY_BREAK
+ case 100:
+ YY_RULE_SETUP
+-#line 177 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-{return TK_ALLRAISEPYEXC;}
++#line 177 "lexer.l"
++{return TK_PYSSIZETCLEAN;}
+ YY_BREAK
+ case 101:
+ YY_RULE_SETUP
+-#line 178 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-{return TK_CALLSUPERINIT;}
++#line 178 "lexer.l"
++{return TK_USELIMITEDAPI;}
+ YY_BREAK
+ case 102:
+ YY_RULE_SETUP
+-#line 179 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-{return TK_DEFERRORHANDLER;}
++#line 179 "lexer.l"
++{return TK_ALLRAISEPYEXC;}
+ YY_BREAK
+ case 103:
+ YY_RULE_SETUP
+-#line 180 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-{return TK_VERSION;}
++#line 180 "lexer.l"
++{return TK_CALLSUPERINIT;}
+ YY_BREAK
+ case 104:
+ YY_RULE_SETUP
+-#line 182 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-{return TK_TRUE_VALUE;}
++#line 181 "lexer.l"
++{return TK_DEFERRORHANDLER;}
+ YY_BREAK
+ case 105:
+ YY_RULE_SETUP
+-#line 183 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-{return TK_FALSE_VALUE;}
++#line 182 "lexer.l"
++{return TK_VERSION;}
+ YY_BREAK
+ case 106:
+ YY_RULE_SETUP
+-#line 186 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 184 "lexer.l"
++{return TK_TRUE_VALUE;}
++ YY_BREAK
++case 107:
++YY_RULE_SETUP
++#line 185 "lexer.l"
++{return TK_FALSE_VALUE;}
++ YY_BREAK
++case 108:
++YY_RULE_SETUP
++#line 188 "lexer.l"
+ {
+ /* Ignore whitespace. */
+ ;
+ }
+ YY_BREAK
+-case 107:
++case 109:
+ YY_RULE_SETUP
+-#line 191 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 193 "lexer.l"
+ {
+ /*
+ * Maintain the parenthesis depth so that we don't enter the 'code' state
+@@ -2401,9 +2437,9 @@ YY_RULE_SETUP
+ return '(';
+ }
+ YY_BREAK
+-case 108:
++case 110:
+ YY_RULE_SETUP
+-#line 203 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 205 "lexer.l"
+ {
+ /* Maintain the parenthesis depth. */
+ --parenDepth;
+@@ -2413,10 +2449,10 @@ YY_RULE_SETUP
+ return ')';
+ }
+ YY_BREAK
+-case 109:
+-/* rule 109 can match eol */
++case 111:
++/* rule 111 can match eol */
+ YY_RULE_SETUP
+-#line 212 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 214 "lexer.l"
+ {
+ /* Maintain the line number. */
+ ++inputFileStack[currentFile].sloc.linenr;
+@@ -2427,63 +2463,63 @@ YY_RULE_SETUP
+ }
+ }
+ YY_BREAK
+-case 110:
++case 112:
+ YY_RULE_SETUP
+-#line 222 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 224 "lexer.l"
+ {
+ /* Ignore C++ style comments. */
+ ;
+ }
+ YY_BREAK
+-case 111:
++case 113:
+ YY_RULE_SETUP
+-#line 228 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 230 "lexer.l"
+ {
+ /* A signed decimal number. */
+ yylval.number = strtol(yytext,NULL,0);
+ return TK_NUMBER_VALUE;
+ }
+ YY_BREAK
+-case 112:
++case 114:
+ YY_RULE_SETUP
+-#line 235 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 237 "lexer.l"
+ {
+ /* A floating point number. */
+ yylval.real = strtod(yytext,NULL);
+ return TK_REAL_VALUE;
+ }
+ YY_BREAK
+-case 113:
++case 115:
+ YY_RULE_SETUP
+-#line 242 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 244 "lexer.l"
+ {
+ /* An unsigned hexadecimal number. */
+ yylval.number = strtol(yytext,NULL,16);
+ return TK_NUMBER_VALUE;
+ }
+ YY_BREAK
+-case 114:
++case 116:
+ YY_RULE_SETUP
+-#line 249 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 251 "lexer.l"
+ {
+ /* An identifier name. */
+ yylval.text = sipStrdup(yytext);
+ return TK_NAME_VALUE;
+ }
+ YY_BREAK
+-case 115:
++case 117:
+ YY_RULE_SETUP
+-#line 256 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 258 "lexer.l"
+ {
+ /* A relative pathname. */
+ yylval.text = sipStrdup(yytext);
+ return TK_PATH_VALUE;
+ }
+ YY_BREAK
+-case 116:
+-/* rule 116 can match eol */
++case 118:
++/* rule 118 can match eol */
+ YY_RULE_SETUP
+-#line 263 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 265 "lexer.l"
+ {
+ /* A double-quoted string. */
+ char ch, *dp, *sp;
+@@ -2519,10 +2555,10 @@ YY_RULE_SETUP
+ return TK_STRING_VALUE;
+ }
+ YY_BREAK
+-case 117:
+-/* rule 117 can match eol */
++case 119:
++/* rule 119 can match eol */
+ YY_RULE_SETUP
+-#line 299 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 301 "lexer.l"
+ {
+ /* A single-quoted character. */
+ if (strlen(yytext) != 3)
+@@ -2533,84 +2569,84 @@ YY_RULE_SETUP
+ return TK_QCHAR_VALUE;
+ }
+ YY_BREAK
+-case 118:
++case 120:
+ YY_RULE_SETUP
+-#line 310 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 312 "lexer.l"
+ {
+ /* Ignore C-style comments. */
+ yy_push_state(ccomment);
+ }
+ YY_BREAK
+-case 119:
+-/* rule 119 can match eol */
++case 121:
++/* rule 121 can match eol */
+ YY_RULE_SETUP
+-#line 314 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 316 "lexer.l"
+ {
+ ++inputFileStack[currentFile].sloc.linenr;
+ }
+ YY_BREAK
+-case 120:
++case 122:
+ YY_RULE_SETUP
+-#line 317 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 319 "lexer.l"
+ {
+ yy_pop_state();
+ }
+ YY_BREAK
+-case 121:
++case 123:
+ YY_RULE_SETUP
+-#line 320 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 322 "lexer.l"
+ {
+ ;
+ }
+ YY_BREAK
+-case 122:
++case 124:
+ YY_RULE_SETUP
+-#line 325 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 327 "lexer.l"
+ {
+ /* The software license. */
+ codeIdx = 0;
+ return TK_COPYING;
+ }
+ YY_BREAK
+-case 123:
++case 125:
+ YY_RULE_SETUP
+-#line 331 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 333 "lexer.l"
+ {
+ /* The start of a from-type code block. */
+ codeIdx = 0;
+ return TK_FROMTYPE;
+ }
+ YY_BREAK
+-case 124:
++case 126:
+ YY_RULE_SETUP
+-#line 337 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 339 "lexer.l"
+ {
+ /* The start of a to-type code block. */
+ codeIdx = 0;
+ return TK_TOTYPE;
+ }
+ YY_BREAK
+-case 125:
++case 127:
+ YY_RULE_SETUP
+-#line 343 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 345 "lexer.l"
+ {
+ /* The start of a to-sub-class code block. */
+ codeIdx = 0;
+ return TK_TOSUBCLASS;
+ }
+ YY_BREAK
+-case 126:
++case 128:
+ YY_RULE_SETUP
+-#line 349 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 351 "lexer.l"
+ {
+ /* The start of an exported header code block. */
+ codeIdx = 0;
+ return TK_EXPHEADERCODE;
+ }
+ YY_BREAK
+-case 127:
++case 129:
+ YY_RULE_SETUP
+-#line 355 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 357 "lexer.l"
+ {
+ /* The start of part of an extract. */
+ codeIdx = 0;
+@@ -2620,225 +2656,225 @@ YY_RULE_SETUP
+ return TK_EXTRACT;
+ }
+ YY_BREAK
+-case 128:
++case 130:
+ YY_RULE_SETUP
+-#line 364 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 366 "lexer.l"
+ {
+ /* The start of a module header code block. */
+ codeIdx = 0;
+ return TK_MODHEADERCODE;
+ }
+ YY_BREAK
+-case 129:
++case 131:
+ YY_RULE_SETUP
+-#line 370 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 372 "lexer.l"
+ {
+ /* The start of a type header code block. */
+ codeIdx = 0;
+ return TK_TYPEHEADERCODE;
+ }
+ YY_BREAK
+-case 130:
++case 132:
+ YY_RULE_SETUP
+-#line 376 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 378 "lexer.l"
+ {
+ /* The start of a pre-initialisation code block. */
+ codeIdx = 0;
+ return TK_PREINITCODE;
+ }
+ YY_BREAK
+-case 131:
++case 133:
+ YY_RULE_SETUP
+-#line 382 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 384 "lexer.l"
+ {
+ /* The start of an initialisation code block. */
+ codeIdx = 0;
+ return TK_INITCODE;
+ }
+ YY_BREAK
+-case 132:
++case 134:
+ YY_RULE_SETUP
+-#line 388 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 390 "lexer.l"
+ {
+ /* The start of a post-initialisation code block. */
+ codeIdx = 0;
+ return TK_POSTINITCODE;
+ }
+ YY_BREAK
+-case 133:
++case 135:
+ YY_RULE_SETUP
+-#line 394 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 396 "lexer.l"
+ {
+ /* The start of a class finalisation code block. */
+ codeIdx = 0;
+ return TK_FINALCODE;
+ }
+ YY_BREAK
+-case 134:
++case 136:
+ YY_RULE_SETUP
+-#line 400 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 402 "lexer.l"
+ {
+ /* The start of a unit code block. */
+ codeIdx = 0;
+ return TK_UNITCODE;
+ }
+ YY_BREAK
+-case 135:
++case 137:
+ YY_RULE_SETUP
+-#line 406 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 408 "lexer.l"
+ {
+ /* The start of a unit post-include code block. */
+ codeIdx = 0;
+ return TK_UNITPOSTINCLUDECODE;
+ }
+ YY_BREAK
+-case 136:
++case 138:
+ YY_RULE_SETUP
+-#line 412 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 414 "lexer.l"
+ {
+ /* The start of a module code block. */
+ codeIdx = 0;
+ return TK_MODCODE;
+ }
+ YY_BREAK
+-case 137:
++case 139:
+ YY_RULE_SETUP
+-#line 418 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 420 "lexer.l"
+ {
+ /* The start of a type code block. */
+ codeIdx = 0;
+ return TK_TYPECODE;
+ }
+ YY_BREAK
+-case 138:
++case 140:
+ YY_RULE_SETUP
+-#line 424 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 426 "lexer.l"
+ {
+ /* The start of a C++ method code block. */
+ codeIdx = 0;
+ return TK_METHODCODE;
+ }
+ YY_BREAK
+-case 139:
++case 141:
+ YY_RULE_SETUP
+-#line 430 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 432 "lexer.l"
+ {
+ /* The start of a C++ code block to insert before the MethodCode. */
+ codeIdx = 0;
+ return TK_PREMETHODCODE;
+ }
+ YY_BREAK
+-case 140:
++case 142:
+ YY_RULE_SETUP
+-#line 436 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 438 "lexer.l"
+ {
+ /* The start of a C++ virtual call code block. */
+ codeIdx = 0;
+ return TK_VIRTUALCALLCODE;
+ }
+ YY_BREAK
+-case 141:
++case 143:
+ YY_RULE_SETUP
+-#line 442 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 444 "lexer.l"
+ {
+ /* The start of a C++ virtual code block. */
+ codeIdx = 0;
+ return TK_VIRTUALCATCHERCODE;
+ }
+ YY_BREAK
+-case 142:
++case 144:
+ YY_RULE_SETUP
+-#line 448 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 450 "lexer.l"
+ {
+ /* The start of a traverse code block. */
+ codeIdx = 0;
+ return TK_TRAVERSECODE;
+ }
+ YY_BREAK
+-case 143:
++case 145:
+ YY_RULE_SETUP
+-#line 454 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 456 "lexer.l"
+ {
+ /* The start of a clear code block. */
+ codeIdx = 0;
+ return TK_CLEARCODE;
+ }
+ YY_BREAK
+-case 144:
++case 146:
+ YY_RULE_SETUP
+-#line 460 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 462 "lexer.l"
+ {
+ /* The start of a get buffer code block. */
+ codeIdx = 0;
+ return TK_GETBUFFERCODE;
+ }
+ YY_BREAK
+-case 145:
++case 147:
+ YY_RULE_SETUP
+-#line 466 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 468 "lexer.l"
+ {
+ /* The start of a release buffer code block. */
+ codeIdx = 0;
+ return TK_RELEASEBUFFERCODE;
+ }
+ YY_BREAK
+-case 146:
++case 148:
+ YY_RULE_SETUP
+-#line 472 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 474 "lexer.l"
+ {
+ /* The start of a read buffer code block. */
+ codeIdx = 0;
+ return TK_READBUFFERCODE;
+ }
+ YY_BREAK
+-case 147:
++case 149:
+ YY_RULE_SETUP
+-#line 478 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 480 "lexer.l"
+ {
+ /* The start of a write buffer code block. */
+ codeIdx = 0;
+ return TK_WRITEBUFFERCODE;
+ }
+ YY_BREAK
+-case 148:
++case 150:
+ YY_RULE_SETUP
+-#line 484 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 486 "lexer.l"
+ {
+ /* The start of a segment count code block. */
+ codeIdx = 0;
+ return TK_SEGCOUNTCODE;
+ }
+ YY_BREAK
+-case 149:
++case 151:
+ YY_RULE_SETUP
+-#line 490 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 492 "lexer.l"
+ {
+ /* The start of a char buffer code block. */
+ codeIdx = 0;
+ return TK_CHARBUFFERCODE;
+ }
+ YY_BREAK
+-case 150:
++case 152:
+ YY_RULE_SETUP
+-#line 496 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 498 "lexer.l"
+ {
+ /* The start of a create instance code block. */
+ codeIdx = 0;
+ return TK_INSTANCECODE;
+ }
+ YY_BREAK
+-case 151:
++case 153:
+ YY_RULE_SETUP
+-#line 502 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 504 "lexer.l"
+ {
+ /* The start of a pickle code block. */
+ codeIdx = 0;
+ return TK_PICKLECODE;
+ }
+ YY_BREAK
+-case 152:
++case 154:
+ YY_RULE_SETUP
+-#line 508 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 510 "lexer.l"
+ {
+ /* The start of a pre-Python code block. */
+ deprecated("%PrePythonCode is deprecated");
+@@ -2847,36 +2883,36 @@ YY_RULE_SETUP
+ return TK_PREPYCODE;
+ }
+ YY_BREAK
+-case 153:
++case 155:
+ YY_RULE_SETUP
+-#line 516 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 518 "lexer.l"
+ {
+ /* The start of a raise Python exception code block. */
+ codeIdx = 0;
+ return TK_RAISECODE;
+ }
+ YY_BREAK
+-case 154:
++case 156:
+ YY_RULE_SETUP
+-#line 522 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 524 "lexer.l"
+ {
+ /* The start of an exported type hint code block. */
+ codeIdx = 0;
+ return TK_EXPTYPEHINTCODE;
+ }
+ YY_BREAK
+-case 155:
++case 157:
+ YY_RULE_SETUP
+-#line 528 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 530 "lexer.l"
+ {
+ /* The start of a type hint code block. */
+ codeIdx = 0;
+ return TK_TYPEHINTCODE;
+ }
+ YY_BREAK
+-case 156:
++case 158:
+ YY_RULE_SETUP
+-#line 534 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 536 "lexer.l"
+ {
+ /* The start of a docstring block. */
+ codeIdx = 0;
+@@ -2886,9 +2922,9 @@ YY_RULE_SETUP
+ return TK_DOCSTRING;
+ }
+ YY_BREAK
+-case 157:
++case 159:
+ YY_RULE_SETUP
+-#line 543 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 545 "lexer.l"
+ {
+ /* The start of a documentation block. */
+ deprecated("%Doc is deprecated, use %Extract instead");
+@@ -2897,9 +2933,9 @@ YY_RULE_SETUP
+ return TK_DOC;
+ }
+ YY_BREAK
+-case 158:
++case 160:
+ YY_RULE_SETUP
+-#line 551 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 553 "lexer.l"
+ {
+ /* The start of an exported documentation block. */
+ deprecated("%ExportedDoc is deprecated, use %Extract instead");
+@@ -2908,9 +2944,9 @@ YY_RULE_SETUP
+ return TK_EXPORTEDDOC;
+ }
+ YY_BREAK
+-case 159:
++case 161:
+ YY_RULE_SETUP
+-#line 559 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 561 "lexer.l"
+ {
+ /* The start of a Makefile code block. */
+ deprecated("%Makefile is deprecated");
+@@ -2919,36 +2955,36 @@ YY_RULE_SETUP
+ return TK_MAKEFILE;
+ }
+ YY_BREAK
+-case 160:
++case 162:
+ YY_RULE_SETUP
+-#line 567 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 569 "lexer.l"
+ {
+ /* The start of an access code block. */
+ codeIdx = 0;
+ return TK_ACCESSCODE;
+ }
+ YY_BREAK
+-case 161:
++case 163:
+ YY_RULE_SETUP
+-#line 573 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 575 "lexer.l"
+ {
+ /* The start of a get code block. */
+ codeIdx = 0;
+ return TK_GETCODE;
+ }
+ YY_BREAK
+-case 162:
++case 164:
+ YY_RULE_SETUP
+-#line 579 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 581 "lexer.l"
+ {
+ /* The start of a set code block. */
+ codeIdx = 0;
+ return TK_SETCODE;
+ }
+ YY_BREAK
+-case 163:
++case 165:
+ YY_RULE_SETUP
+-#line 585 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 587 "lexer.l"
+ {
+ /* The start of part of a virtual error handler. */
+ codeIdx = 0;
+@@ -2958,9 +2994,9 @@ YY_RULE_SETUP
+ return TK_VIRTERRORHANDLER;
+ }
+ YY_BREAK
+-case 164:
++case 166:
+ YY_RULE_SETUP
+-#line 594 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 596 "lexer.l"
+ {
+ /* The end of a code block. */
+ BEGIN INITIAL;
+@@ -2968,10 +3004,10 @@ YY_RULE_SETUP
+ return TK_END;
+ }
+ YY_BREAK
+-case 165:
+-/* rule 165 can match eol */
++case 167:
++/* rule 167 can match eol */
+ YY_RULE_SETUP
+-#line 601 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 603 "lexer.l"
+ {
+ /* The end of a code line . */
+ struct inputFile *ifp;
+@@ -2991,9 +3027,9 @@ YY_RULE_SETUP
+ return TK_CODELINE;
+ }
+ YY_BREAK
+-case 166:
++case 168:
+ YY_RULE_SETUP
+-#line 620 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 622 "lexer.l"
+ {
+ /* The contents of a code line. */
+ if (codeIdx == MAX_CODE_LINE_LENGTH)
+@@ -3002,20 +3038,20 @@ YY_RULE_SETUP
+ codeLine[codeIdx++] = yytext[0];
+ }
+ YY_BREAK
+-case 167:
++case 169:
+ YY_RULE_SETUP
+-#line 628 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 630 "lexer.l"
+ {
+ /* Anything else is returned as is. */
+ return yytext[0];
+ }
+ YY_BREAK
+-case 168:
++case 170:
+ YY_RULE_SETUP
+-#line 633 "sip-4.19.23/sipgen/metasrc/lexer.l"
++#line 635 "lexer.l"
+ ECHO;
+ YY_BREAK
+-#line 3019 "sip-4.19.23/sipgen/lexer.c"
++#line 3055 "../lexer.c"
+ case YY_STATE_EOF(INITIAL):
+ case YY_STATE_EOF(code):
+ case YY_STATE_EOF(ccomment):
+@@ -3097,7 +3133,7 @@ case YY_STATE_EOF(directive_start):
+ {
+ (yy_did_buffer_switch_on_eof) = 0;
+
+- if ( yywrap( ) )
++ if ( yywrap( ) )
+ {
+ /* Note: because we've taken care in
+ * yy_get_next_buffer() to have set up
+@@ -3150,6 +3186,7 @@ case YY_STATE_EOF(directive_start):
+ "fatal flex scanner internal error--no action found" );
+ } /* end of action switch */
+ } /* end of scanning one token */
++ } /* end of user's declarations */
+ } /* end of yylex */
+
+ /* yy_get_next_buffer - try to read in a new buffer
+@@ -3161,9 +3198,9 @@ case YY_STATE_EOF(directive_start):
+ */
+ static int yy_get_next_buffer (void)
+ {
+- register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+- register char *source = (yytext_ptr);
+- register int number_to_move, i;
++ char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
++ char *source = (yytext_ptr);
++ int number_to_move, i;
+ int ret_val;
+
+ if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
+@@ -3192,7 +3229,7 @@ static int yy_get_next_buffer (void)
+ /* Try to read more data. */
+
+ /* First move last chars to start of buffer. */
+- number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
++ number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
+
+ for ( i = 0; i < number_to_move; ++i )
+ *(dest++) = *(source++);
+@@ -3205,21 +3242,21 @@ static int yy_get_next_buffer (void)
+
+ else
+ {
+- yy_size_t num_to_read =
++ int num_to_read =
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
+
+ while ( num_to_read <= 0 )
+ { /* Not enough room in the buffer - grow it. */
+
+ /* just a shorter name for the current buffer */
+- YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
++ YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
+
+ int yy_c_buf_p_offset =
+ (int) ((yy_c_buf_p) - b->yy_ch_buf);
+
+ if ( b->yy_is_our_buffer )
+ {
+- yy_size_t new_size = b->yy_buf_size * 2;
++ int new_size = b->yy_buf_size * 2;
+
+ if ( new_size <= 0 )
+ b->yy_buf_size += b->yy_buf_size / 8;
+@@ -3228,11 +3265,12 @@ static int yy_get_next_buffer (void)
+
+ b->yy_ch_buf = (char *)
+ /* Include room in for 2 EOB chars. */
+- yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
++ yyrealloc( (void *) b->yy_ch_buf,
++ (yy_size_t) (b->yy_buf_size + 2) );
+ }
+ else
+ /* Can't grow it, we don't own it. */
+- b->yy_ch_buf = 0;
++ b->yy_ch_buf = NULL;
+
+ if ( ! b->yy_ch_buf )
+ YY_FATAL_ERROR(
+@@ -3260,7 +3298,7 @@ static int yy_get_next_buffer (void)
+ if ( number_to_move == YY_MORE_ADJ )
+ {
+ ret_val = EOB_ACT_END_OF_FILE;
+- yyrestart(yyin );
++ yyrestart( yyin );
+ }
+
+ else
+@@ -3274,12 +3312,15 @@ static int yy_get_next_buffer (void)
+ else
+ ret_val = EOB_ACT_CONTINUE_SCAN;
+
+- if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
++ if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+ /* Extend the array by 50%, plus the number we really need. */
+- yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+- YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
++ int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
++ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
++ (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
+ if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
++ /* "- 2" to take care of EOB's */
++ YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
+ }
+
+ (yy_n_chars) += number_to_move;
+@@ -3295,15 +3336,15 @@ static int yy_get_next_buffer (void)
+
+ static yy_state_type yy_get_previous_state (void)
+ {
+- register yy_state_type yy_current_state;
+- register char *yy_cp;
++ yy_state_type yy_current_state;
++ char *yy_cp;
+
+ yy_current_state = (yy_start);
+ yy_current_state += YY_AT_BOL();
+
+ for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
+ {
+- register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
++ YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+ if ( yy_accept[yy_current_state] )
+ {
+ (yy_last_accepting_state) = yy_current_state;
+@@ -3312,10 +3353,10 @@ static int yy_get_next_buffer (void)
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+- if ( yy_current_state >= 1235 )
+- yy_c = yy_meta[(unsigned int) yy_c];
++ if ( yy_current_state >= 1261 )
++ yy_c = yy_meta[yy_c];
+ }
+- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
+ }
+
+ return yy_current_state;
+@@ -3328,10 +3369,10 @@ static int yy_get_next_buffer (void)
+ */
+ static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
+ {
+- register int yy_is_jam;
+- register char *yy_cp = (yy_c_buf_p);
++ int yy_is_jam;
++ char *yy_cp = (yy_c_buf_p);
+
+- register YY_CHAR yy_c = 1;
++ YY_CHAR yy_c = 1;
+ if ( yy_accept[yy_current_state] )
+ {
+ (yy_last_accepting_state) = yy_current_state;
+@@ -3340,18 +3381,20 @@ static int yy_get_next_buffer (void)
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+- if ( yy_current_state >= 1235 )
+- yy_c = yy_meta[(unsigned int) yy_c];
++ if ( yy_current_state >= 1261 )
++ yy_c = yy_meta[yy_c];
+ }
+- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+- yy_is_jam = (yy_current_state == 1234);
++ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++ yy_is_jam = (yy_current_state == 1260);
+
+- return yy_is_jam ? 0 : yy_current_state;
++ return yy_is_jam ? 0 : yy_current_state;
+ }
+
+- static void yyunput (int c, register char * yy_bp )
++#ifndef YY_NO_UNPUT
++
++ static void yyunput (int c, char * yy_bp )
+ {
+- register char *yy_cp;
++ char *yy_cp;
+
+ yy_cp = (yy_c_buf_p);
+
+@@ -3361,10 +3404,10 @@ static int yy_get_next_buffer (void)
+ if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+ { /* need to shift things up to make room */
+ /* +2 for EOB chars. */
+- register yy_size_t number_to_move = (yy_n_chars) + 2;
+- register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
++ int number_to_move = (yy_n_chars) + 2;
++ char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
+- register char *source =
++ char *source =
+ &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
+
+ while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+@@ -3373,7 +3416,7 @@ static int yy_get_next_buffer (void)
+ yy_cp += (int) (dest - source);
+ yy_bp += (int) (dest - source);
+ YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
+- (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
++ (yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
+
+ if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+ YY_FATAL_ERROR( "flex scanner push-back overflow" );
+@@ -3386,6 +3429,8 @@ static int yy_get_next_buffer (void)
+ (yy_c_buf_p) = yy_cp;
+ }
+
++#endif
++
+ #ifndef YY_NO_INPUT
+ #ifdef __cplusplus
+ static int yyinput (void)
+@@ -3410,7 +3455,7 @@ static int yy_get_next_buffer (void)
+
+ else
+ { /* need more input */
+- yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
++ int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
+ ++(yy_c_buf_p);
+
+ switch ( yy_get_next_buffer( ) )
+@@ -3427,13 +3472,13 @@ static int yy_get_next_buffer (void)
+ */
+
+ /* Reset buffer status. */
+- yyrestart(yyin );
++ yyrestart( yyin );
+
+ /*FALLTHROUGH*/
+
+ case EOB_ACT_END_OF_FILE:
+ {
+- if ( yywrap( ) )
++ if ( yywrap( ) )
+ return 0;
+
+ if ( ! (yy_did_buffer_switch_on_eof) )
+@@ -3473,11 +3518,11 @@ static int yy_get_next_buffer (void)
+ if ( ! YY_CURRENT_BUFFER ){
+ yyensure_buffer_stack ();
+ YY_CURRENT_BUFFER_LVALUE =
+- yy_create_buffer(yyin,YY_BUF_SIZE );
++ yy_create_buffer( yyin, YY_BUF_SIZE );
+ }
+
+- yy_init_buffer(YY_CURRENT_BUFFER,input_file );
+- yy_load_buffer_state( );
++ yy_init_buffer( YY_CURRENT_BUFFER, input_file );
++ yy_load_buffer_state( );
+ }
+
+ /** Switch to a different input buffer.
+@@ -3505,7 +3550,7 @@ static int yy_get_next_buffer (void)
+ }
+
+ YY_CURRENT_BUFFER_LVALUE = new_buffer;
+- yy_load_buffer_state( );
++ yy_load_buffer_state( );
+
+ /* We don't actually know whether we did this switch during
+ * EOF (yywrap()) processing, but the only time this flag
+@@ -3533,7 +3578,7 @@ static void yy_load_buffer_state (void)
+ {
+ YY_BUFFER_STATE b;
+
+- b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
++ b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
+ if ( ! b )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+@@ -3542,13 +3587,13 @@ static void yy_load_buffer_state (void)
+ /* yy_ch_buf has to be 2 characters longer than the size given because
+ * we need to put in 2 end-of-buffer characters.
+ */
+- b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
++ b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
+ if ( ! b->yy_ch_buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+ b->yy_is_our_buffer = 1;
+
+- yy_init_buffer(b,file );
++ yy_init_buffer( b, file );
+
+ return b;
+ }
+@@ -3567,15 +3612,11 @@ static void yy_load_buffer_state (void)
+ YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
+
+ if ( b->yy_is_our_buffer )
+- yyfree((void *) b->yy_ch_buf );
++ yyfree( (void *) b->yy_ch_buf );
+
+- yyfree((void *) b );
++ yyfree( (void *) b );
+ }
+
+-#ifndef __cplusplus
+-extern int isatty (int );
+-#endif /* __cplusplus */
+-
+ /* Initializes or reinitializes a buffer.
+ * This function is sometimes called more than once on the same buffer,
+ * such as during a yyrestart() or at EOF.
+@@ -3585,7 +3626,7 @@ extern int isatty (int );
+ {
+ int oerrno = errno;
+
+- yy_flush_buffer(b );
++ yy_flush_buffer( b );
+
+ b->yy_input_file = file;
+ b->yy_fill_buffer = 1;
+@@ -3628,7 +3669,7 @@ extern int isatty (int );
+ b->yy_buffer_status = YY_BUFFER_NEW;
+
+ if ( b == YY_CURRENT_BUFFER )
+- yy_load_buffer_state( );
++ yy_load_buffer_state( );
+ }
+
+ /** Pushes the new state onto the stack. The new state becomes
+@@ -3659,7 +3700,7 @@ void yypush_buffer_state (YY_BUFFER_STAT
+ YY_CURRENT_BUFFER_LVALUE = new_buffer;
+
+ /* copied from yy_switch_to_buffer. */
+- yy_load_buffer_state( );
++ yy_load_buffer_state( );
+ (yy_did_buffer_switch_on_eof) = 1;
+ }
+
+@@ -3678,7 +3719,7 @@ void yypop_buffer_state (void)
+ --(yy_buffer_stack_top);
+
+ if (YY_CURRENT_BUFFER) {
+- yy_load_buffer_state( );
++ yy_load_buffer_state( );
+ (yy_did_buffer_switch_on_eof) = 1;
+ }
+ }
+@@ -3696,15 +3737,15 @@ static void yyensure_buffer_stack (void)
+ * scanner will even need a stack. We use 2 instead of 1 to avoid an
+ * immediate realloc on the next call.
+ */
+- num_to_alloc = 1;
++ num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
+ (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
+ (num_to_alloc * sizeof(struct yy_buffer_state*)
+ );
+ if ( ! (yy_buffer_stack) )
+ YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
+-
++
+ memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
+-
++
+ (yy_buffer_stack_max) = num_to_alloc;
+ (yy_buffer_stack_top) = 0;
+ return;
+@@ -3713,7 +3754,7 @@ static void yyensure_buffer_stack (void)
+ if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
+
+ /* Increase the buffer to prepare for a possible push. */
+- int grow_size = 8 /* arbitrary grow size */;
++ yy_size_t grow_size = 8 /* arbitrary grow size */;
+
+ num_to_alloc = (yy_buffer_stack_max) + grow_size;
+ (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
+@@ -3733,7 +3774,7 @@ static void yyensure_buffer_stack (void)
+ * @param base the character buffer
+ * @param size the size in bytes of the character buffer
+ *
+- * @return the newly allocated buffer state object.
++ * @return the newly allocated buffer state object.
+ */
+ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
+ {
+@@ -3743,23 +3784,23 @@ YY_BUFFER_STATE yy_scan_buffer (char *
+ base[size-2] != YY_END_OF_BUFFER_CHAR ||
+ base[size-1] != YY_END_OF_BUFFER_CHAR )
+ /* They forgot to leave room for the EOB's. */
+- return 0;
++ return NULL;
+
+- b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
++ b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
+ if ( ! b )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
+
+- b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
++ b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
+ b->yy_buf_pos = b->yy_ch_buf = base;
+ b->yy_is_our_buffer = 0;
+- b->yy_input_file = 0;
++ b->yy_input_file = NULL;
+ b->yy_n_chars = b->yy_buf_size;
+ b->yy_is_interactive = 0;
+ b->yy_at_bol = 1;
+ b->yy_fill_buffer = 0;
+ b->yy_buffer_status = YY_BUFFER_NEW;
+
+- yy_switch_to_buffer(b );
++ yy_switch_to_buffer( b );
+
+ return b;
+ }
+@@ -3772,28 +3813,29 @@ YY_BUFFER_STATE yy_scan_buffer (char *
+ * @note If you want to scan bytes that may contain NUL values, then use
+ * yy_scan_bytes() instead.
+ */
+-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
++YY_BUFFER_STATE yy_scan_string (const char * yystr )
+ {
+
+- return yy_scan_bytes(yystr,strlen(yystr) );
++ return yy_scan_bytes( yystr, (int) strlen(yystr) );
+ }
+
+ /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
+ * scan from a @e copy of @a bytes.
+- * @param bytes the byte buffer to scan
+- * @param len the number of bytes in the buffer pointed to by @a bytes.
++ * @param yybytes the byte buffer to scan
++ * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
+ *
+ * @return the newly allocated buffer state object.
+ */
+-YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
++YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
+ {
+ YY_BUFFER_STATE b;
+ char *buf;
+- yy_size_t n, i;
++ yy_size_t n;
++ int i;
+
+ /* Get memory for full buffer, including space for trailing EOB's. */
+- n = _yybytes_len + 2;
+- buf = (char *) yyalloc(n );
++ n = (yy_size_t) (_yybytes_len + 2);
++ buf = (char *) yyalloc( n );
+ if ( ! buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
+
+@@ -3802,7 +3844,7 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst
+
+ buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
+
+- b = yy_scan_buffer(buf,n );
++ b = yy_scan_buffer( buf, n );
+ if ( ! b )
+ YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
+
+@@ -3814,20 +3856,21 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst
+ return b;
+ }
+
+- static void yy_push_state (int new_state )
++ static void yy_push_state (int _new_state )
+ {
+ if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
+ {
+ yy_size_t new_size;
+
+ (yy_start_stack_depth) += YY_START_STACK_INCR;
+- new_size = (yy_start_stack_depth) * sizeof( int );
++ new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
+
+ if ( ! (yy_start_stack) )
+- (yy_start_stack) = (int *) yyalloc(new_size );
++ (yy_start_stack) = (int *) yyalloc( new_size );
+
+ else
+- (yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size );
++ (yy_start_stack) = (int *) yyrealloc(
++ (void *) (yy_start_stack), new_size );
+
+ if ( ! (yy_start_stack) )
+ YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
+@@ -3835,7 +3878,7 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst
+
+ (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
+
+- BEGIN(new_state);
++ BEGIN(_new_state);
+ }
+
+ static void yy_pop_state (void)
+@@ -3855,9 +3898,9 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst
+ #define YY_EXIT_FAILURE 2
+ #endif
+
+-static void yy_fatal_error (yyconst char* msg )
++static void yynoreturn yy_fatal_error (const char* msg )
+ {
+- (void) fprintf( stderr, "%s\n", msg );
++ fprintf( stderr, "%s\n", msg );
+ exit( YY_EXIT_FAILURE );
+ }
+
+@@ -3885,7 +3928,7 @@ static void yy_fatal_error (yyconst char
+ */
+ int yyget_lineno (void)
+ {
+-
++
+ return yylineno;
+ }
+
+@@ -3908,7 +3951,7 @@ FILE *yyget_out (void)
+ /** Get the length of the current token.
+ *
+ */
+-yy_size_t yyget_leng (void)
++int yyget_leng (void)
+ {
+ return yyleng;
+ }
+@@ -3923,29 +3966,29 @@ char *yyget_text (void)
+ }
+
+ /** Set the current line number.
+- * @param line_number
++ * @param _line_number line number
+ *
+ */
+-void yyset_lineno (int line_number )
++void yyset_lineno (int _line_number )
+ {
+
+- yylineno = line_number;
++ yylineno = _line_number;
+ }
+
+ /** Set the input stream. This does not discard the current
+ * input buffer.
+- * @param in_str A readable stream.
++ * @param _in_str A readable stream.
+ *
+ * @see yy_switch_to_buffer
+ */
+-void yyset_in (FILE * in_str )
++void yyset_in (FILE * _in_str )
+ {
+- yyin = in_str ;
++ yyin = _in_str ;
+ }
+
+-void yyset_out (FILE * out_str )
++void yyset_out (FILE * _out_str )
+ {
+- yyout = out_str ;
++ yyout = _out_str ;
+ }
+
+ int yyget_debug (void)
+@@ -3953,9 +3996,9 @@ int yyget_debug (void)
+ return yy_flex_debug;
+ }
+
+-void yyset_debug (int bdebug )
++void yyset_debug (int _bdebug )
+ {
+- yy_flex_debug = bdebug ;
++ yy_flex_debug = _bdebug ;
+ }
+
+ static int yy_init_globals (void)
+@@ -3964,10 +4007,10 @@ static int yy_init_globals (void)
+ * This function is called from yylex_destroy(), so don't allocate here.
+ */
+
+- (yy_buffer_stack) = 0;
++ (yy_buffer_stack) = NULL;
+ (yy_buffer_stack_top) = 0;
+ (yy_buffer_stack_max) = 0;
+- (yy_c_buf_p) = (char *) 0;
++ (yy_c_buf_p) = NULL;
+ (yy_init) = 0;
+ (yy_start) = 0;
+
+@@ -3980,8 +4023,8 @@ static int yy_init_globals (void)
+ yyin = stdin;
+ yyout = stdout;
+ #else
+- yyin = (FILE *) 0;
+- yyout = (FILE *) 0;
++ yyin = NULL;
++ yyout = NULL;
+ #endif
+
+ /* For future reference: Set errno on error, since we are called by
+@@ -3996,7 +4039,7 @@ int yylex_destroy (void)
+
+ /* Pop the buffer stack, destroying each element. */
+ while(YY_CURRENT_BUFFER){
+- yy_delete_buffer(YY_CURRENT_BUFFER );
++ yy_delete_buffer( YY_CURRENT_BUFFER );
+ YY_CURRENT_BUFFER_LVALUE = NULL;
+ yypop_buffer_state();
+ }
+@@ -4006,7 +4049,7 @@ int yylex_destroy (void)
+ (yy_buffer_stack) = NULL;
+
+ /* Destroy the start condition stack. */
+- yyfree((yy_start_stack) );
++ yyfree( (yy_start_stack) );
+ (yy_start_stack) = NULL;
+
+ /* Reset the globals. This is important in a non-reentrant scanner so the next time
+@@ -4021,18 +4064,19 @@ int yylex_destroy (void)
+ */
+
+ #ifndef yytext_ptr
+-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
++static void yy_flex_strncpy (char* s1, const char * s2, int n )
+ {
+- register int i;
++
++ int i;
+ for ( i = 0; i < n; ++i )
+ s1[i] = s2[i];
+ }
+ #endif
+
+ #ifdef YY_NEED_STRLEN
+-static int yy_flex_strlen (yyconst char * s )
++static int yy_flex_strlen (const char * s )
+ {
+- register int n;
++ int n;
+ for ( n = 0; s[n]; ++n )
+ ;
+
+@@ -4042,11 +4086,12 @@ static int yy_flex_strlen (yyconst char
+
+ void *yyalloc (yy_size_t size )
+ {
+- return (void *) malloc( size );
++ return malloc(size);
+ }
+
+ void *yyrealloc (void * ptr, yy_size_t size )
+ {
++
+ /* The cast to (char *) in the following accommodates both
+ * implementations that use char* generic pointers, and those
+ * that use void* generic pointers. It works with the latter
+@@ -4054,18 +4099,17 @@ void *yyrealloc (void * ptr, yy_size_t
+ * any pointer type to void*, and deal with argument conversions
+ * as though doing an assignment.
+ */
+- return (void *) realloc( (char *) ptr, size );
++ return realloc(ptr, size);
+ }
+
+ void yyfree (void * ptr )
+ {
+- free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
++ free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
+ }
+
+ #define YYTABLES_NAME "yytables"
+
+-#line 633 "sip-4.19.23/sipgen/metasrc/lexer.l"
+-
++#line 635 "lexer.l"
+
+
+ /*
+Index: sip-4.19.23/sipgen/parser.c
+===================================================================
+--- sip-4.19.23.orig/sipgen/parser.c
++++ sip-4.19.23/sipgen/parser.c
+@@ -1,14 +1,14 @@
+-/* A Bison parser, made by GNU Bison 2.3. */
++/* A Bison parser, made by GNU Bison 3.8.2. */
+
+-/* Skeleton implementation for Bison's Yacc-like parsers in C
++/* Bison implementation for Yacc-like parsers in C
+
+- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+- Free Software Foundation, Inc.
++ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
++ Inc.
+
+- This program is free software; you can redistribute it and/or modify
++ 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
+- the Free Software Foundation; either version 2, or (at your option)
+- any later version.
++ the Free Software Foundation, either version 3 of the License, or
++ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+@@ -16,9 +16,7 @@
+ GNU General Public License for more details.
+
+ 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., 51 Franklin Street, Fifth Floor,
+- Boston, MA 02110-1301, USA. */
++ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+ /* As a special exception, you may create a larger work that contains
+ part or all of the Bison parser skeleton and distribute that work
+@@ -36,6 +34,10 @@
+ /* C LALR(1) parser skeleton written by Richard Stallman, by
+ simplifying the original so-called "semantic" parser. */
+
++/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
++ especially those whose name start with YY_ or yy_. They are
++ private implementation details that can be changed or removed. */
++
+ /* All symbols defined below should begin with yy or YY, to avoid
+ infringing on user name space. This should be done even for local
+ variables, as they might otherwise be expanded by user macros.
+@@ -43,11 +45,11 @@
+ define necessary library symbols; they are noted "INFRINGES ON
+ USER NAME SPACE" below. */
+
+-/* Identify Bison output. */
+-#define YYBISON 1
++/* Identify Bison output, and Bison version. */
++#define YYBISON 30802
+
+-/* Bison version. */
+-#define YYBISON_VERSION "2.3"
++/* Bison version string. */
++#define YYBISON_VERSION "3.8.2"
+
+ /* Skeleton name. */
+ #define YYSKELETON_NAME "yacc.c"
+@@ -55,324 +57,17 @@
+ /* Pure parsers. */
+ #define YYPURE 0
+
+-/* Using locations. */
+-#define YYLSP_NEEDED 0
+-
++/* Push parsers. */
++#define YYPUSH 0
+
+-
+-/* Tokens. */
+-#ifndef YYTOKENTYPE
+-# define YYTOKENTYPE
+- /* Put the tokens into the symbol table, so that GDB and other debuggers
+- know about them. */
+- enum yytokentype {
+- TK_API = 258,
+- TK_AUTOPYNAME = 259,
+- TK_DEFDOCSTRFMT = 260,
+- TK_DEFDOCSTRSIG = 261,
+- TK_DEFENCODING = 262,
+- TK_PLUGIN = 263,
+- TK_VIRTERRORHANDLER = 264,
+- TK_EXPTYPEHINTCODE = 265,
+- TK_TYPEHINTCODE = 266,
+- TK_DOCSTRING = 267,
+- TK_DOC = 268,
+- TK_EXPORTEDDOC = 269,
+- TK_EXTRACT = 270,
+- TK_MAKEFILE = 271,
+- TK_ACCESSCODE = 272,
+- TK_GETCODE = 273,
+- TK_SETCODE = 274,
+- TK_PREINITCODE = 275,
+- TK_INITCODE = 276,
+- TK_POSTINITCODE = 277,
+- TK_FINALCODE = 278,
+- TK_UNITCODE = 279,
+- TK_UNITPOSTINCLUDECODE = 280,
+- TK_MODCODE = 281,
+- TK_TYPECODE = 282,
+- TK_PREPYCODE = 283,
+- TK_COPYING = 284,
+- TK_MAPPEDTYPE = 285,
+- TK_CODELINE = 286,
+- TK_IF = 287,
+- TK_END = 288,
+- TK_NAME_VALUE = 289,
+- TK_PATH_VALUE = 290,
+- TK_STRING_VALUE = 291,
+- TK_VIRTUALCATCHERCODE = 292,
+- TK_TRAVERSECODE = 293,
+- TK_CLEARCODE = 294,
+- TK_GETBUFFERCODE = 295,
+- TK_RELEASEBUFFERCODE = 296,
+- TK_READBUFFERCODE = 297,
+- TK_WRITEBUFFERCODE = 298,
+- TK_SEGCOUNTCODE = 299,
+- TK_CHARBUFFERCODE = 300,
+- TK_PICKLECODE = 301,
+- TK_VIRTUALCALLCODE = 302,
+- TK_METHODCODE = 303,
+- TK_PREMETHODCODE = 304,
+- TK_INSTANCECODE = 305,
+- TK_FROMTYPE = 306,
+- TK_TOTYPE = 307,
+- TK_TOSUBCLASS = 308,
+- TK_INCLUDE = 309,
+- TK_OPTINCLUDE = 310,
+- TK_IMPORT = 311,
+- TK_EXPHEADERCODE = 312,
+- TK_MODHEADERCODE = 313,
+- TK_TYPEHEADERCODE = 314,
+- TK_MODULE = 315,
+- TK_CMODULE = 316,
+- TK_CONSMODULE = 317,
+- TK_COMPOMODULE = 318,
+- TK_CLASS = 319,
+- TK_STRUCT = 320,
+- TK_PUBLIC = 321,
+- TK_PROTECTED = 322,
+- TK_PRIVATE = 323,
+- TK_SIGNALS = 324,
+- TK_SIGNAL_METHOD = 325,
+- TK_SLOTS = 326,
+- TK_SLOT_METHOD = 327,
+- TK_BOOL = 328,
+- TK_SHORT = 329,
+- TK_INT = 330,
+- TK_LONG = 331,
+- TK_FLOAT = 332,
+- TK_DOUBLE = 333,
+- TK_CHAR = 334,
+- TK_WCHAR_T = 335,
+- TK_VOID = 336,
+- TK_PYOBJECT = 337,
+- TK_PYTUPLE = 338,
+- TK_PYLIST = 339,
+- TK_PYDICT = 340,
+- TK_PYCALLABLE = 341,
+- TK_PYSLICE = 342,
+- TK_PYTYPE = 343,
+- TK_PYBUFFER = 344,
+- TK_VIRTUAL = 345,
+- TK_ENUM = 346,
+- TK_SIGNED = 347,
+- TK_UNSIGNED = 348,
+- TK_SCOPE = 349,
+- TK_LOGICAL_OR = 350,
+- TK_CONST = 351,
+- TK_STATIC = 352,
+- TK_SIPSIGNAL = 353,
+- TK_SIPSLOT = 354,
+- TK_SIPANYSLOT = 355,
+- TK_SIPRXCON = 356,
+- TK_SIPRXDIS = 357,
+- TK_SIPSLOTCON = 358,
+- TK_SIPSLOTDIS = 359,
+- TK_SIPSSIZET = 360,
+- TK_SIZET = 361,
+- TK_NUMBER_VALUE = 362,
+- TK_REAL_VALUE = 363,
+- TK_TYPEDEF = 364,
+- TK_NAMESPACE = 365,
+- TK_TIMELINE = 366,
+- TK_PLATFORMS = 367,
+- TK_FEATURE = 368,
+- TK_LICENSE = 369,
+- TK_QCHAR_VALUE = 370,
+- TK_TRUE_VALUE = 371,
+- TK_FALSE_VALUE = 372,
+- TK_NULL_VALUE = 373,
+- TK_OPERATOR = 374,
+- TK_THROW = 375,
+- TK_QOBJECT = 376,
+- TK_EXCEPTION = 377,
+- TK_RAISECODE = 378,
+- TK_EXPLICIT = 379,
+- TK_TEMPLATE = 380,
+- TK_FINAL = 381,
+- TK_ELLIPSIS = 382,
+- TK_DEFMETATYPE = 383,
+- TK_DEFSUPERTYPE = 384,
+- TK_PROPERTY = 385,
+- TK_HIDE_NS = 386,
+- TK_FORMAT = 387,
+- TK_GET = 388,
+- TK_ID = 389,
+- TK_KWARGS = 390,
+- TK_LANGUAGE = 391,
+- TK_LICENSEE = 392,
+- TK_NAME = 393,
+- TK_OPTIONAL = 394,
+- TK_ORDER = 395,
+- TK_REMOVELEADING = 396,
+- TK_SET = 397,
+- TK_SIGNATURE = 398,
+- TK_TIMESTAMP = 399,
+- TK_TYPE = 400,
+- TK_USEARGNAMES = 401,
+- TK_USELIMITEDAPI = 402,
+- TK_ALLRAISEPYEXC = 403,
+- TK_CALLSUPERINIT = 404,
+- TK_DEFERRORHANDLER = 405,
+- TK_VERSION = 406
+- };
+-#endif
+-/* Tokens. */
+-#define TK_API 258
+-#define TK_AUTOPYNAME 259
+-#define TK_DEFDOCSTRFMT 260
+-#define TK_DEFDOCSTRSIG 261
+-#define TK_DEFENCODING 262
+-#define TK_PLUGIN 263
+-#define TK_VIRTERRORHANDLER 264
+-#define TK_EXPTYPEHINTCODE 265
+-#define TK_TYPEHINTCODE 266
+-#define TK_DOCSTRING 267
+-#define TK_DOC 268
+-#define TK_EXPORTEDDOC 269
+-#define TK_EXTRACT 270
+-#define TK_MAKEFILE 271
+-#define TK_ACCESSCODE 272
+-#define TK_GETCODE 273
+-#define TK_SETCODE 274
+-#define TK_PREINITCODE 275
+-#define TK_INITCODE 276
+-#define TK_POSTINITCODE 277
+-#define TK_FINALCODE 278
+-#define TK_UNITCODE 279
+-#define TK_UNITPOSTINCLUDECODE 280
+-#define TK_MODCODE 281
+-#define TK_TYPECODE 282
+-#define TK_PREPYCODE 283
+-#define TK_COPYING 284
+-#define TK_MAPPEDTYPE 285
+-#define TK_CODELINE 286
+-#define TK_IF 287
+-#define TK_END 288
+-#define TK_NAME_VALUE 289
+-#define TK_PATH_VALUE 290
+-#define TK_STRING_VALUE 291
+-#define TK_VIRTUALCATCHERCODE 292
+-#define TK_TRAVERSECODE 293
+-#define TK_CLEARCODE 294
+-#define TK_GETBUFFERCODE 295
+-#define TK_RELEASEBUFFERCODE 296
+-#define TK_READBUFFERCODE 297
+-#define TK_WRITEBUFFERCODE 298
+-#define TK_SEGCOUNTCODE 299
+-#define TK_CHARBUFFERCODE 300
+-#define TK_PICKLECODE 301
+-#define TK_VIRTUALCALLCODE 302
+-#define TK_METHODCODE 303
+-#define TK_PREMETHODCODE 304
+-#define TK_INSTANCECODE 305
+-#define TK_FROMTYPE 306
+-#define TK_TOTYPE 307
+-#define TK_TOSUBCLASS 308
+-#define TK_INCLUDE 309
+-#define TK_OPTINCLUDE 310
+-#define TK_IMPORT 311
+-#define TK_EXPHEADERCODE 312
+-#define TK_MODHEADERCODE 313
+-#define TK_TYPEHEADERCODE 314
+-#define TK_MODULE 315
+-#define TK_CMODULE 316
+-#define TK_CONSMODULE 317
+-#define TK_COMPOMODULE 318
+-#define TK_CLASS 319
+-#define TK_STRUCT 320
+-#define TK_PUBLIC 321
+-#define TK_PROTECTED 322
+-#define TK_PRIVATE 323
+-#define TK_SIGNALS 324
+-#define TK_SIGNAL_METHOD 325
+-#define TK_SLOTS 326
+-#define TK_SLOT_METHOD 327
+-#define TK_BOOL 328
+-#define TK_SHORT 329
+-#define TK_INT 330
+-#define TK_LONG 331
+-#define TK_FLOAT 332
+-#define TK_DOUBLE 333
+-#define TK_CHAR 334
+-#define TK_WCHAR_T 335
+-#define TK_VOID 336
+-#define TK_PYOBJECT 337
+-#define TK_PYTUPLE 338
+-#define TK_PYLIST 339
+-#define TK_PYDICT 340
+-#define TK_PYCALLABLE 341
+-#define TK_PYSLICE 342
+-#define TK_PYTYPE 343
+-#define TK_PYBUFFER 344
+-#define TK_VIRTUAL 345
+-#define TK_ENUM 346
+-#define TK_SIGNED 347
+-#define TK_UNSIGNED 348
+-#define TK_SCOPE 349
+-#define TK_LOGICAL_OR 350
+-#define TK_CONST 351
+-#define TK_STATIC 352
+-#define TK_SIPSIGNAL 353
+-#define TK_SIPSLOT 354
+-#define TK_SIPANYSLOT 355
+-#define TK_SIPRXCON 356
+-#define TK_SIPRXDIS 357
+-#define TK_SIPSLOTCON 358
+-#define TK_SIPSLOTDIS 359
+-#define TK_SIPSSIZET 360
+-#define TK_SIZET 361
+-#define TK_NUMBER_VALUE 362
+-#define TK_REAL_VALUE 363
+-#define TK_TYPEDEF 364
+-#define TK_NAMESPACE 365
+-#define TK_TIMELINE 366
+-#define TK_PLATFORMS 367
+-#define TK_FEATURE 368
+-#define TK_LICENSE 369
+-#define TK_QCHAR_VALUE 370
+-#define TK_TRUE_VALUE 371
+-#define TK_FALSE_VALUE 372
+-#define TK_NULL_VALUE 373
+-#define TK_OPERATOR 374
+-#define TK_THROW 375
+-#define TK_QOBJECT 376
+-#define TK_EXCEPTION 377
+-#define TK_RAISECODE 378
+-#define TK_EXPLICIT 379
+-#define TK_TEMPLATE 380
+-#define TK_FINAL 381
+-#define TK_ELLIPSIS 382
+-#define TK_DEFMETATYPE 383
+-#define TK_DEFSUPERTYPE 384
+-#define TK_PROPERTY 385
+-#define TK_HIDE_NS 386
+-#define TK_FORMAT 387
+-#define TK_GET 388
+-#define TK_ID 389
+-#define TK_KWARGS 390
+-#define TK_LANGUAGE 391
+-#define TK_LICENSEE 392
+-#define TK_NAME 393
+-#define TK_OPTIONAL 394
+-#define TK_ORDER 395
+-#define TK_REMOVELEADING 396
+-#define TK_SET 397
+-#define TK_SIGNATURE 398
+-#define TK_TIMESTAMP 399
+-#define TK_TYPE 400
+-#define TK_USEARGNAMES 401
+-#define TK_USELIMITEDAPI 402
+-#define TK_ALLRAISEPYEXC 403
+-#define TK_CALLSUPERINIT 404
+-#define TK_DEFERRORHANDLER 405
+-#define TK_VERSION 406
++/* Pull parsers. */
++#define YYPULL 1
+
+
+
+
+-/* Copy the first part of user declarations. */
+-#line 19 "sip-4.19.23/sipgen/metasrc/parser.y"
++/* First part of user prologue. */
++#line 19 "parser.y"
+
+ #include <stdlib.h>
+ #include <string.h>
+@@ -539,9 +234,9 @@ static void addProperty(sipSpec *pt, mod
+ docstringDef *docstring);
+ static moduleDef *configureModule(sipSpec *pt, moduleDef *module,
+ const char *filename, const char *name, int c_module, KwArgs kwargs,
+- int use_arg_names, int use_limited_api, int call_super_init,
+- int all_raise_py_exc, const char *def_error_handler,
+- docstringDef *docstring);
++ int use_arg_names, int py_ssize_t_clean, int use_limited_api,
++ int call_super_init, int all_raise_py_exc,
++ const char *def_error_handler, docstringDef *docstring);
+ static void addAutoPyName(moduleDef *mod, const char *remove_leading);
+ static KwArgs convertKwArgs(const char *kwargs);
+ static void checkAnnos(optFlags *annos, const char *valid[]);
+@@ -555,117 +250,555 @@ static int isBackstop(qualDef *qd);
+ static void checkEllipsis(signatureDef *sd);
+ static scopedNameDef *fullyQualifiedName(scopedNameDef *snd);
+
++#line 254 "../parser.c"
+
+-/* Enabling traces. */
+-#ifndef YYDEBUG
+-# define YYDEBUG 0
+-#endif
+-
+-/* Enabling verbose error messages. */
+-#ifdef YYERROR_VERBOSE
+-# undef YYERROR_VERBOSE
+-# define YYERROR_VERBOSE 1
+-#else
+-# define YYERROR_VERBOSE 0
+-#endif
+-
+-/* Enabling the token table. */
+-#ifndef YYTOKEN_TABLE
+-# define YYTOKEN_TABLE 0
+-#endif
+-
+-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+-typedef union YYSTYPE
+-#line 202 "sip-4.19.23/sipgen/metasrc/parser.y"
+-{
+- char qchar;
+- char *text;
+- long number;
+- double real;
+- argDef memArg;
+- signatureDef signature;
+- signatureDef *optsignature;
+- throwArgs *throwlist;
+- codeBlock *codeb;
+- docstringDef *docstr;
+- valueDef value;
+- valueDef *valp;
+- optFlags optflags;
+- optFlag flag;
+- scopedNameDef *scpvalp;
+- fcallDef fcall;
+- int boolean;
+- exceptionDef exceptionbase;
+- classDef *klass;
+- apiCfg api;
+- autoPyNameCfg autopyname;
+- compModuleCfg compmodule;
+- consModuleCfg consmodule;
+- defDocstringFmtCfg defdocstringfmt;
+- defDocstringSigCfg defdocstringsig;
+- defEncodingCfg defencoding;
+- defMetatypeCfg defmetatype;
+- defSupertypeCfg defsupertype;
+- hiddenNsCfg hiddenns;
+- exceptionCfg exception;
+- docstringCfg docstring;
+- extractCfg extract;
+- featureCfg feature;
+- licenseCfg license;
+- importCfg import;
+- includeCfg include;
+- moduleCfg module;
+- pluginCfg plugin;
+- propertyCfg property;
+- variableCfg variable;
+- vehCfg veh;
+- int token;
+-}
+-/* Line 193 of yacc.c. */
+-#line 626 "sip-4.19.23/sipgen/parser.c"
+- YYSTYPE;
+-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+-# define YYSTYPE_IS_DECLARED 1
+-# define YYSTYPE_IS_TRIVIAL 1
+-#endif
+-
++# ifndef YY_CAST
++# ifdef __cplusplus
++# define YY_CAST(Type, Val) static_cast<Type> (Val)
++# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
++# else
++# define YY_CAST(Type, Val) ((Type) (Val))
++# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
++# endif
++# endif
++# ifndef YY_NULLPTR
++# if defined __cplusplus
++# if 201103L <= __cplusplus
++# define YY_NULLPTR nullptr
++# else
++# define YY_NULLPTR 0
++# endif
++# else
++# define YY_NULLPTR ((void*)0)
++# endif
++# endif
+
++#include "parser.h"
++/* Symbol kind. */
++enum yysymbol_kind_t
++{
++ YYSYMBOL_YYEMPTY = -2,
++ YYSYMBOL_YYEOF = 0, /* "end of file" */
++ YYSYMBOL_YYerror = 1, /* error */
++ YYSYMBOL_YYUNDEF = 2, /* "invalid token" */
++ YYSYMBOL_TK_API = 3, /* TK_API */
++ YYSYMBOL_TK_AUTOPYNAME = 4, /* TK_AUTOPYNAME */
++ YYSYMBOL_TK_DEFDOCSTRFMT = 5, /* TK_DEFDOCSTRFMT */
++ YYSYMBOL_TK_DEFDOCSTRSIG = 6, /* TK_DEFDOCSTRSIG */
++ YYSYMBOL_TK_DEFENCODING = 7, /* TK_DEFENCODING */
++ YYSYMBOL_TK_PLUGIN = 8, /* TK_PLUGIN */
++ YYSYMBOL_TK_VIRTERRORHANDLER = 9, /* TK_VIRTERRORHANDLER */
++ YYSYMBOL_TK_EXPTYPEHINTCODE = 10, /* TK_EXPTYPEHINTCODE */
++ YYSYMBOL_TK_TYPEHINTCODE = 11, /* TK_TYPEHINTCODE */
++ YYSYMBOL_TK_DOCSTRING = 12, /* TK_DOCSTRING */
++ YYSYMBOL_TK_DOC = 13, /* TK_DOC */
++ YYSYMBOL_TK_EXPORTEDDOC = 14, /* TK_EXPORTEDDOC */
++ YYSYMBOL_TK_EXTRACT = 15, /* TK_EXTRACT */
++ YYSYMBOL_TK_MAKEFILE = 16, /* TK_MAKEFILE */
++ YYSYMBOL_TK_ACCESSCODE = 17, /* TK_ACCESSCODE */
++ YYSYMBOL_TK_GETCODE = 18, /* TK_GETCODE */
++ YYSYMBOL_TK_SETCODE = 19, /* TK_SETCODE */
++ YYSYMBOL_TK_PREINITCODE = 20, /* TK_PREINITCODE */
++ YYSYMBOL_TK_INITCODE = 21, /* TK_INITCODE */
++ YYSYMBOL_TK_POSTINITCODE = 22, /* TK_POSTINITCODE */
++ YYSYMBOL_TK_FINALCODE = 23, /* TK_FINALCODE */
++ YYSYMBOL_TK_UNITCODE = 24, /* TK_UNITCODE */
++ YYSYMBOL_TK_UNITPOSTINCLUDECODE = 25, /* TK_UNITPOSTINCLUDECODE */
++ YYSYMBOL_TK_MODCODE = 26, /* TK_MODCODE */
++ YYSYMBOL_TK_TYPECODE = 27, /* TK_TYPECODE */
++ YYSYMBOL_TK_PREPYCODE = 28, /* TK_PREPYCODE */
++ YYSYMBOL_TK_COPYING = 29, /* TK_COPYING */
++ YYSYMBOL_TK_MAPPEDTYPE = 30, /* TK_MAPPEDTYPE */
++ YYSYMBOL_TK_CODELINE = 31, /* TK_CODELINE */
++ YYSYMBOL_TK_IF = 32, /* TK_IF */
++ YYSYMBOL_TK_END = 33, /* TK_END */
++ YYSYMBOL_TK_NAME_VALUE = 34, /* TK_NAME_VALUE */
++ YYSYMBOL_TK_PATH_VALUE = 35, /* TK_PATH_VALUE */
++ YYSYMBOL_TK_STRING_VALUE = 36, /* TK_STRING_VALUE */
++ YYSYMBOL_TK_VIRTUALCATCHERCODE = 37, /* TK_VIRTUALCATCHERCODE */
++ YYSYMBOL_TK_TRAVERSECODE = 38, /* TK_TRAVERSECODE */
++ YYSYMBOL_TK_CLEARCODE = 39, /* TK_CLEARCODE */
++ YYSYMBOL_TK_GETBUFFERCODE = 40, /* TK_GETBUFFERCODE */
++ YYSYMBOL_TK_RELEASEBUFFERCODE = 41, /* TK_RELEASEBUFFERCODE */
++ YYSYMBOL_TK_READBUFFERCODE = 42, /* TK_READBUFFERCODE */
++ YYSYMBOL_TK_WRITEBUFFERCODE = 43, /* TK_WRITEBUFFERCODE */
++ YYSYMBOL_TK_SEGCOUNTCODE = 44, /* TK_SEGCOUNTCODE */
++ YYSYMBOL_TK_CHARBUFFERCODE = 45, /* TK_CHARBUFFERCODE */
++ YYSYMBOL_TK_PICKLECODE = 46, /* TK_PICKLECODE */
++ YYSYMBOL_TK_VIRTUALCALLCODE = 47, /* TK_VIRTUALCALLCODE */
++ YYSYMBOL_TK_METHODCODE = 48, /* TK_METHODCODE */
++ YYSYMBOL_TK_PREMETHODCODE = 49, /* TK_PREMETHODCODE */
++ YYSYMBOL_TK_INSTANCECODE = 50, /* TK_INSTANCECODE */
++ YYSYMBOL_TK_FROMTYPE = 51, /* TK_FROMTYPE */
++ YYSYMBOL_TK_TOTYPE = 52, /* TK_TOTYPE */
++ YYSYMBOL_TK_TOSUBCLASS = 53, /* TK_TOSUBCLASS */
++ YYSYMBOL_TK_INCLUDE = 54, /* TK_INCLUDE */
++ YYSYMBOL_TK_OPTINCLUDE = 55, /* TK_OPTINCLUDE */
++ YYSYMBOL_TK_IMPORT = 56, /* TK_IMPORT */
++ YYSYMBOL_TK_EXPHEADERCODE = 57, /* TK_EXPHEADERCODE */
++ YYSYMBOL_TK_MODHEADERCODE = 58, /* TK_MODHEADERCODE */
++ YYSYMBOL_TK_TYPEHEADERCODE = 59, /* TK_TYPEHEADERCODE */
++ YYSYMBOL_TK_MODULE = 60, /* TK_MODULE */
++ YYSYMBOL_TK_CMODULE = 61, /* TK_CMODULE */
++ YYSYMBOL_TK_CONSMODULE = 62, /* TK_CONSMODULE */
++ YYSYMBOL_TK_COMPOMODULE = 63, /* TK_COMPOMODULE */
++ YYSYMBOL_TK_CLASS = 64, /* TK_CLASS */
++ YYSYMBOL_TK_STRUCT = 65, /* TK_STRUCT */
++ YYSYMBOL_TK_PUBLIC = 66, /* TK_PUBLIC */
++ YYSYMBOL_TK_PROTECTED = 67, /* TK_PROTECTED */
++ YYSYMBOL_TK_PRIVATE = 68, /* TK_PRIVATE */
++ YYSYMBOL_TK_SIGNALS = 69, /* TK_SIGNALS */
++ YYSYMBOL_TK_SIGNAL_METHOD = 70, /* TK_SIGNAL_METHOD */
++ YYSYMBOL_TK_SLOTS = 71, /* TK_SLOTS */
++ YYSYMBOL_TK_SLOT_METHOD = 72, /* TK_SLOT_METHOD */
++ YYSYMBOL_TK_BOOL = 73, /* TK_BOOL */
++ YYSYMBOL_TK_SHORT = 74, /* TK_SHORT */
++ YYSYMBOL_TK_INT = 75, /* TK_INT */
++ YYSYMBOL_TK_LONG = 76, /* TK_LONG */
++ YYSYMBOL_TK_FLOAT = 77, /* TK_FLOAT */
++ YYSYMBOL_TK_DOUBLE = 78, /* TK_DOUBLE */
++ YYSYMBOL_TK_CHAR = 79, /* TK_CHAR */
++ YYSYMBOL_TK_WCHAR_T = 80, /* TK_WCHAR_T */
++ YYSYMBOL_TK_VOID = 81, /* TK_VOID */
++ YYSYMBOL_TK_PYOBJECT = 82, /* TK_PYOBJECT */
++ YYSYMBOL_TK_PYTUPLE = 83, /* TK_PYTUPLE */
++ YYSYMBOL_TK_PYLIST = 84, /* TK_PYLIST */
++ YYSYMBOL_TK_PYDICT = 85, /* TK_PYDICT */
++ YYSYMBOL_TK_PYCALLABLE = 86, /* TK_PYCALLABLE */
++ YYSYMBOL_TK_PYSLICE = 87, /* TK_PYSLICE */
++ YYSYMBOL_TK_PYTYPE = 88, /* TK_PYTYPE */
++ YYSYMBOL_TK_PYBUFFER = 89, /* TK_PYBUFFER */
++ YYSYMBOL_TK_VIRTUAL = 90, /* TK_VIRTUAL */
++ YYSYMBOL_TK_ENUM = 91, /* TK_ENUM */
++ YYSYMBOL_TK_SIGNED = 92, /* TK_SIGNED */
++ YYSYMBOL_TK_UNSIGNED = 93, /* TK_UNSIGNED */
++ YYSYMBOL_TK_SCOPE = 94, /* TK_SCOPE */
++ YYSYMBOL_TK_LOGICAL_OR = 95, /* TK_LOGICAL_OR */
++ YYSYMBOL_TK_CONST = 96, /* TK_CONST */
++ YYSYMBOL_TK_STATIC = 97, /* TK_STATIC */
++ YYSYMBOL_TK_SIPSIGNAL = 98, /* TK_SIPSIGNAL */
++ YYSYMBOL_TK_SIPSLOT = 99, /* TK_SIPSLOT */
++ YYSYMBOL_TK_SIPANYSLOT = 100, /* TK_SIPANYSLOT */
++ YYSYMBOL_TK_SIPRXCON = 101, /* TK_SIPRXCON */
++ YYSYMBOL_TK_SIPRXDIS = 102, /* TK_SIPRXDIS */
++ YYSYMBOL_TK_SIPSLOTCON = 103, /* TK_SIPSLOTCON */
++ YYSYMBOL_TK_SIPSLOTDIS = 104, /* TK_SIPSLOTDIS */
++ YYSYMBOL_TK_SIPSSIZET = 105, /* TK_SIPSSIZET */
++ YYSYMBOL_TK_SIZET = 106, /* TK_SIZET */
++ YYSYMBOL_TK_NUMBER_VALUE = 107, /* TK_NUMBER_VALUE */
++ YYSYMBOL_TK_REAL_VALUE = 108, /* TK_REAL_VALUE */
++ YYSYMBOL_TK_TYPEDEF = 109, /* TK_TYPEDEF */
++ YYSYMBOL_TK_NAMESPACE = 110, /* TK_NAMESPACE */
++ YYSYMBOL_TK_TIMELINE = 111, /* TK_TIMELINE */
++ YYSYMBOL_TK_PLATFORMS = 112, /* TK_PLATFORMS */
++ YYSYMBOL_TK_FEATURE = 113, /* TK_FEATURE */
++ YYSYMBOL_TK_LICENSE = 114, /* TK_LICENSE */
++ YYSYMBOL_TK_QCHAR_VALUE = 115, /* TK_QCHAR_VALUE */
++ YYSYMBOL_TK_TRUE_VALUE = 116, /* TK_TRUE_VALUE */
++ YYSYMBOL_TK_FALSE_VALUE = 117, /* TK_FALSE_VALUE */
++ YYSYMBOL_TK_NULL_VALUE = 118, /* TK_NULL_VALUE */
++ YYSYMBOL_TK_OPERATOR = 119, /* TK_OPERATOR */
++ YYSYMBOL_TK_THROW = 120, /* TK_THROW */
++ YYSYMBOL_TK_QOBJECT = 121, /* TK_QOBJECT */
++ YYSYMBOL_TK_EXCEPTION = 122, /* TK_EXCEPTION */
++ YYSYMBOL_TK_RAISECODE = 123, /* TK_RAISECODE */
++ YYSYMBOL_TK_EXPLICIT = 124, /* TK_EXPLICIT */
++ YYSYMBOL_TK_TEMPLATE = 125, /* TK_TEMPLATE */
++ YYSYMBOL_TK_FINAL = 126, /* TK_FINAL */
++ YYSYMBOL_TK_ELLIPSIS = 127, /* TK_ELLIPSIS */
++ YYSYMBOL_TK_DEFMETATYPE = 128, /* TK_DEFMETATYPE */
++ YYSYMBOL_TK_DEFSUPERTYPE = 129, /* TK_DEFSUPERTYPE */
++ YYSYMBOL_TK_PROPERTY = 130, /* TK_PROPERTY */
++ YYSYMBOL_TK_HIDE_NS = 131, /* TK_HIDE_NS */
++ YYSYMBOL_TK_FORMAT = 132, /* TK_FORMAT */
++ YYSYMBOL_TK_GET = 133, /* TK_GET */
++ YYSYMBOL_TK_ID = 134, /* TK_ID */
++ YYSYMBOL_TK_KWARGS = 135, /* TK_KWARGS */
++ YYSYMBOL_TK_LANGUAGE = 136, /* TK_LANGUAGE */
++ YYSYMBOL_TK_LICENSEE = 137, /* TK_LICENSEE */
++ YYSYMBOL_TK_NAME = 138, /* TK_NAME */
++ YYSYMBOL_TK_OPTIONAL = 139, /* TK_OPTIONAL */
++ YYSYMBOL_TK_ORDER = 140, /* TK_ORDER */
++ YYSYMBOL_TK_REMOVELEADING = 141, /* TK_REMOVELEADING */
++ YYSYMBOL_TK_SET = 142, /* TK_SET */
++ YYSYMBOL_TK_SIGNATURE = 143, /* TK_SIGNATURE */
++ YYSYMBOL_TK_TIMESTAMP = 144, /* TK_TIMESTAMP */
++ YYSYMBOL_TK_TYPE = 145, /* TK_TYPE */
++ YYSYMBOL_TK_USEARGNAMES = 146, /* TK_USEARGNAMES */
++ YYSYMBOL_TK_PYSSIZETCLEAN = 147, /* TK_PYSSIZETCLEAN */
++ YYSYMBOL_TK_USELIMITEDAPI = 148, /* TK_USELIMITEDAPI */
++ YYSYMBOL_TK_ALLRAISEPYEXC = 149, /* TK_ALLRAISEPYEXC */
++ YYSYMBOL_TK_CALLSUPERINIT = 150, /* TK_CALLSUPERINIT */
++ YYSYMBOL_TK_DEFERRORHANDLER = 151, /* TK_DEFERRORHANDLER */
++ YYSYMBOL_TK_VERSION = 152, /* TK_VERSION */
++ YYSYMBOL_153_ = 153, /* '(' */
++ YYSYMBOL_154_ = 154, /* ')' */
++ YYSYMBOL_155_ = 155, /* ',' */
++ YYSYMBOL_156_ = 156, /* '=' */
++ YYSYMBOL_157_ = 157, /* '{' */
++ YYSYMBOL_158_ = 158, /* '}' */
++ YYSYMBOL_159_ = 159, /* ';' */
++ YYSYMBOL_160_ = 160, /* '!' */
++ YYSYMBOL_161_ = 161, /* '-' */
++ YYSYMBOL_162_ = 162, /* '+' */
++ YYSYMBOL_163_ = 163, /* '*' */
++ YYSYMBOL_164_ = 164, /* '/' */
++ YYSYMBOL_165_ = 165, /* '&' */
++ YYSYMBOL_166_ = 166, /* '|' */
++ YYSYMBOL_167_ = 167, /* '~' */
++ YYSYMBOL_168_ = 168, /* '<' */
++ YYSYMBOL_169_ = 169, /* '>' */
++ YYSYMBOL_170_ = 170, /* ':' */
++ YYSYMBOL_171_ = 171, /* '[' */
++ YYSYMBOL_172_ = 172, /* ']' */
++ YYSYMBOL_173_ = 173, /* '%' */
++ YYSYMBOL_174_ = 174, /* '^' */
++ YYSYMBOL_YYACCEPT = 175, /* $accept */
++ YYSYMBOL_specification = 176, /* specification */
++ YYSYMBOL_statement = 177, /* statement */
++ YYSYMBOL_178_1 = 178, /* $@1 */
++ YYSYMBOL_modstatement = 179, /* modstatement */
++ YYSYMBOL_nsstatement = 180, /* nsstatement */
++ YYSYMBOL_defdocstringfmt = 181, /* defdocstringfmt */
++ YYSYMBOL_defdocstringfmt_args = 182, /* defdocstringfmt_args */
++ YYSYMBOL_defdocstringfmt_arg_list = 183, /* defdocstringfmt_arg_list */
++ YYSYMBOL_defdocstringfmt_arg = 184, /* defdocstringfmt_arg */
++ YYSYMBOL_defdocstringsig = 185, /* defdocstringsig */
++ YYSYMBOL_defdocstringsig_args = 186, /* defdocstringsig_args */
++ YYSYMBOL_defdocstringsig_arg_list = 187, /* defdocstringsig_arg_list */
++ YYSYMBOL_defdocstringsig_arg = 188, /* defdocstringsig_arg */
++ YYSYMBOL_defencoding = 189, /* defencoding */
++ YYSYMBOL_defencoding_args = 190, /* defencoding_args */
++ YYSYMBOL_defencoding_arg_list = 191, /* defencoding_arg_list */
++ YYSYMBOL_defencoding_arg = 192, /* defencoding_arg */
++ YYSYMBOL_plugin = 193, /* plugin */
++ YYSYMBOL_plugin_args = 194, /* plugin_args */
++ YYSYMBOL_plugin_arg_list = 195, /* plugin_arg_list */
++ YYSYMBOL_plugin_arg = 196, /* plugin_arg */
++ YYSYMBOL_virterrorhandler = 197, /* virterrorhandler */
++ YYSYMBOL_veh_args = 198, /* veh_args */
++ YYSYMBOL_veh_arg_list = 199, /* veh_arg_list */
++ YYSYMBOL_veh_arg = 200, /* veh_arg */
++ YYSYMBOL_api = 201, /* api */
++ YYSYMBOL_api_args = 202, /* api_args */
++ YYSYMBOL_api_arg_list = 203, /* api_arg_list */
++ YYSYMBOL_api_arg = 204, /* api_arg */
++ YYSYMBOL_exception = 205, /* exception */
++ YYSYMBOL_baseexception = 206, /* baseexception */
++ YYSYMBOL_exception_body = 207, /* exception_body */
++ YYSYMBOL_exception_body_directives = 208, /* exception_body_directives */
++ YYSYMBOL_exception_body_directive = 209, /* exception_body_directive */
++ YYSYMBOL_raisecode = 210, /* raisecode */
++ YYSYMBOL_mappedtype = 211, /* mappedtype */
++ YYSYMBOL_212_2 = 212, /* $@2 */
++ YYSYMBOL_mappedtypetmpl = 213, /* mappedtypetmpl */
++ YYSYMBOL_214_3 = 214, /* $@3 */
++ YYSYMBOL_mtdefinition = 215, /* mtdefinition */
++ YYSYMBOL_mtbody = 216, /* mtbody */
++ YYSYMBOL_mtline = 217, /* mtline */
++ YYSYMBOL_mtfunction = 218, /* mtfunction */
++ YYSYMBOL_namespace = 219, /* namespace */
++ YYSYMBOL_220_4 = 220, /* $@4 */
++ YYSYMBOL_optnsbody = 221, /* optnsbody */
++ YYSYMBOL_nsbody = 222, /* nsbody */
++ YYSYMBOL_platforms = 223, /* platforms */
++ YYSYMBOL_224_5 = 224, /* $@5 */
++ YYSYMBOL_platformlist = 225, /* platformlist */
++ YYSYMBOL_platform = 226, /* platform */
++ YYSYMBOL_feature = 227, /* feature */
++ YYSYMBOL_feature_args = 228, /* feature_args */
++ YYSYMBOL_feature_arg_list = 229, /* feature_arg_list */
++ YYSYMBOL_feature_arg = 230, /* feature_arg */
++ YYSYMBOL_timeline = 231, /* timeline */
++ YYSYMBOL_232_6 = 232, /* $@6 */
++ YYSYMBOL_qualifierlist = 233, /* qualifierlist */
++ YYSYMBOL_qualifiername = 234, /* qualifiername */
++ YYSYMBOL_ifstart = 235, /* ifstart */
++ YYSYMBOL_236_7 = 236, /* $@7 */
++ YYSYMBOL_oredqualifiers = 237, /* oredqualifiers */
++ YYSYMBOL_qualifiers = 238, /* qualifiers */
++ YYSYMBOL_ifend = 239, /* ifend */
++ YYSYMBOL_license = 240, /* license */
++ YYSYMBOL_license_args = 241, /* license_args */
++ YYSYMBOL_license_arg_list = 242, /* license_arg_list */
++ YYSYMBOL_license_arg = 243, /* license_arg */
++ YYSYMBOL_defmetatype = 244, /* defmetatype */
++ YYSYMBOL_defmetatype_args = 245, /* defmetatype_args */
++ YYSYMBOL_defmetatype_arg_list = 246, /* defmetatype_arg_list */
++ YYSYMBOL_defmetatype_arg = 247, /* defmetatype_arg */
++ YYSYMBOL_defsupertype = 248, /* defsupertype */
++ YYSYMBOL_defsupertype_args = 249, /* defsupertype_args */
++ YYSYMBOL_defsupertype_arg_list = 250, /* defsupertype_arg_list */
++ YYSYMBOL_defsupertype_arg = 251, /* defsupertype_arg */
++ YYSYMBOL_hiddenns = 252, /* hiddenns */
++ YYSYMBOL_hiddenns_args = 253, /* hiddenns_args */
++ YYSYMBOL_hiddenns_arg_list = 254, /* hiddenns_arg_list */
++ YYSYMBOL_hiddenns_arg = 255, /* hiddenns_arg */
++ YYSYMBOL_consmodule = 256, /* consmodule */
++ YYSYMBOL_consmodule_args = 257, /* consmodule_args */
++ YYSYMBOL_consmodule_arg_list = 258, /* consmodule_arg_list */
++ YYSYMBOL_consmodule_arg = 259, /* consmodule_arg */
++ YYSYMBOL_consmodule_body = 260, /* consmodule_body */
++ YYSYMBOL_consmodule_body_directives = 261, /* consmodule_body_directives */
++ YYSYMBOL_consmodule_body_directive = 262, /* consmodule_body_directive */
++ YYSYMBOL_compmodule = 263, /* compmodule */
++ YYSYMBOL_compmodule_args = 264, /* compmodule_args */
++ YYSYMBOL_compmodule_arg_list = 265, /* compmodule_arg_list */
++ YYSYMBOL_compmodule_arg = 266, /* compmodule_arg */
++ YYSYMBOL_compmodule_body = 267, /* compmodule_body */
++ YYSYMBOL_compmodule_body_directives = 268, /* compmodule_body_directives */
++ YYSYMBOL_compmodule_body_directive = 269, /* compmodule_body_directive */
++ YYSYMBOL_module = 270, /* module */
++ YYSYMBOL_module_args = 271, /* module_args */
++ YYSYMBOL_272_8 = 272, /* $@8 */
++ YYSYMBOL_module_arg_list = 273, /* module_arg_list */
++ YYSYMBOL_module_arg = 274, /* module_arg */
++ YYSYMBOL_module_body = 275, /* module_body */
++ YYSYMBOL_module_body_directives = 276, /* module_body_directives */
++ YYSYMBOL_module_body_directive = 277, /* module_body_directive */
++ YYSYMBOL_dottedname = 278, /* dottedname */
++ YYSYMBOL_optnumber = 279, /* optnumber */
++ YYSYMBOL_include = 280, /* include */
++ YYSYMBOL_include_args = 281, /* include_args */
++ YYSYMBOL_include_arg_list = 282, /* include_arg_list */
++ YYSYMBOL_include_arg = 283, /* include_arg */
++ YYSYMBOL_optinclude = 284, /* optinclude */
++ YYSYMBOL_import = 285, /* import */
++ YYSYMBOL_import_args = 286, /* import_args */
++ YYSYMBOL_import_arg_list = 287, /* import_arg_list */
++ YYSYMBOL_import_arg = 288, /* import_arg */
++ YYSYMBOL_optaccesscode = 289, /* optaccesscode */
++ YYSYMBOL_optgetcode = 290, /* optgetcode */
++ YYSYMBOL_optsetcode = 291, /* optsetcode */
++ YYSYMBOL_copying = 292, /* copying */
++ YYSYMBOL_exphdrcode = 293, /* exphdrcode */
++ YYSYMBOL_modhdrcode = 294, /* modhdrcode */
++ YYSYMBOL_typehdrcode = 295, /* typehdrcode */
++ YYSYMBOL_travcode = 296, /* travcode */
++ YYSYMBOL_clearcode = 297, /* clearcode */
++ YYSYMBOL_getbufcode = 298, /* getbufcode */
++ YYSYMBOL_releasebufcode = 299, /* releasebufcode */
++ YYSYMBOL_readbufcode = 300, /* readbufcode */
++ YYSYMBOL_writebufcode = 301, /* writebufcode */
++ YYSYMBOL_segcountcode = 302, /* segcountcode */
++ YYSYMBOL_charbufcode = 303, /* charbufcode */
++ YYSYMBOL_instancecode = 304, /* instancecode */
++ YYSYMBOL_picklecode = 305, /* picklecode */
++ YYSYMBOL_finalcode = 306, /* finalcode */
++ YYSYMBOL_modcode = 307, /* modcode */
++ YYSYMBOL_typecode = 308, /* typecode */
++ YYSYMBOL_preinitcode = 309, /* preinitcode */
++ YYSYMBOL_initcode = 310, /* initcode */
++ YYSYMBOL_postinitcode = 311, /* postinitcode */
++ YYSYMBOL_unitcode = 312, /* unitcode */
++ YYSYMBOL_unitpostinccode = 313, /* unitpostinccode */
++ YYSYMBOL_prepycode = 314, /* prepycode */
++ YYSYMBOL_exptypehintcode = 315, /* exptypehintcode */
++ YYSYMBOL_modtypehintcode = 316, /* modtypehintcode */
++ YYSYMBOL_classtypehintcode = 317, /* classtypehintcode */
++ YYSYMBOL_doc = 318, /* doc */
++ YYSYMBOL_exporteddoc = 319, /* exporteddoc */
++ YYSYMBOL_autopyname = 320, /* autopyname */
++ YYSYMBOL_autopyname_args = 321, /* autopyname_args */
++ YYSYMBOL_autopyname_arg_list = 322, /* autopyname_arg_list */
++ YYSYMBOL_autopyname_arg = 323, /* autopyname_arg */
++ YYSYMBOL_docstring = 324, /* docstring */
++ YYSYMBOL_docstring_args = 325, /* docstring_args */
++ YYSYMBOL_docstring_arg_list = 326, /* docstring_arg_list */
++ YYSYMBOL_docstring_arg = 327, /* docstring_arg */
++ YYSYMBOL_optdocstring = 328, /* optdocstring */
++ YYSYMBOL_extract = 329, /* extract */
++ YYSYMBOL_extract_args = 330, /* extract_args */
++ YYSYMBOL_extract_arg_list = 331, /* extract_arg_list */
++ YYSYMBOL_extract_arg = 332, /* extract_arg */
++ YYSYMBOL_makefile = 333, /* makefile */
++ YYSYMBOL_codeblock = 334, /* codeblock */
++ YYSYMBOL_codelines = 335, /* codelines */
++ YYSYMBOL_enum = 336, /* enum */
++ YYSYMBOL_337_9 = 337, /* $@9 */
++ YYSYMBOL_optenumkey = 338, /* optenumkey */
++ YYSYMBOL_optfilename = 339, /* optfilename */
++ YYSYMBOL_optname = 340, /* optname */
++ YYSYMBOL_optenumbody = 341, /* optenumbody */
++ YYSYMBOL_enumbody = 342, /* enumbody */
++ YYSYMBOL_enumline = 343, /* enumline */
++ YYSYMBOL_optcomma = 344, /* optcomma */
++ YYSYMBOL_optenumassign = 345, /* optenumassign */
++ YYSYMBOL_optassign = 346, /* optassign */
++ YYSYMBOL_expr = 347, /* expr */
++ YYSYMBOL_binop = 348, /* binop */
++ YYSYMBOL_optunop = 349, /* optunop */
++ YYSYMBOL_value = 350, /* value */
++ YYSYMBOL_optcast = 351, /* optcast */
++ YYSYMBOL_scopedname = 352, /* scopedname */
++ YYSYMBOL_scopednamehead = 353, /* scopednamehead */
++ YYSYMBOL_scopepart = 354, /* scopepart */
++ YYSYMBOL_bool_value = 355, /* bool_value */
++ YYSYMBOL_simplevalue = 356, /* simplevalue */
++ YYSYMBOL_exprlist = 357, /* exprlist */
++ YYSYMBOL_typedef = 358, /* typedef */
++ YYSYMBOL_struct = 359, /* struct */
++ YYSYMBOL_360_10 = 360, /* $@10 */
++ YYSYMBOL_361_11 = 361, /* $@11 */
++ YYSYMBOL_classtmpl = 362, /* classtmpl */
++ YYSYMBOL_363_12 = 363, /* $@12 */
++ YYSYMBOL_template = 364, /* template */
++ YYSYMBOL_class = 365, /* class */
++ YYSYMBOL_366_13 = 366, /* $@13 */
++ YYSYMBOL_367_14 = 367, /* $@14 */
++ YYSYMBOL_superclasses = 368, /* superclasses */
++ YYSYMBOL_superlist = 369, /* superlist */
++ YYSYMBOL_superclass = 370, /* superclass */
++ YYSYMBOL_class_access = 371, /* class_access */
++ YYSYMBOL_optclassbody = 372, /* optclassbody */
++ YYSYMBOL_classbody = 373, /* classbody */
++ YYSYMBOL_classline = 374, /* classline */
++ YYSYMBOL_property = 375, /* property */
++ YYSYMBOL_property_args = 376, /* property_args */
++ YYSYMBOL_property_arg_list = 377, /* property_arg_list */
++ YYSYMBOL_property_arg = 378, /* property_arg */
++ YYSYMBOL_property_body = 379, /* property_body */
++ YYSYMBOL_property_body_directives = 380, /* property_body_directives */
++ YYSYMBOL_property_body_directive = 381, /* property_body_directive */
++ YYSYMBOL_name_or_string = 382, /* name_or_string */
++ YYSYMBOL_optslot = 383, /* optslot */
++ YYSYMBOL_dtor = 384, /* dtor */
++ YYSYMBOL_385_15 = 385, /* $@15 */
++ YYSYMBOL_dtor_decl = 386, /* dtor_decl */
++ YYSYMBOL_ctor = 387, /* ctor */
++ YYSYMBOL_388_16 = 388, /* $@16 */
++ YYSYMBOL_simplector = 389, /* simplector */
++ YYSYMBOL_optctorsig = 390, /* optctorsig */
++ YYSYMBOL_391_17 = 391, /* $@17 */
++ YYSYMBOL_optsig = 392, /* optsig */
++ YYSYMBOL_393_18 = 393, /* $@18 */
++ YYSYMBOL_function = 394, /* function */
++ YYSYMBOL_operatorname = 395, /* operatorname */
++ YYSYMBOL_optconst = 396, /* optconst */
++ YYSYMBOL_optfinal = 397, /* optfinal */
++ YYSYMBOL_optabstract = 398, /* optabstract */
++ YYSYMBOL_optflags = 399, /* optflags */
++ YYSYMBOL_flaglist = 400, /* flaglist */
++ YYSYMBOL_flag = 401, /* flag */
++ YYSYMBOL_flagvalue = 402, /* flagvalue */
++ YYSYMBOL_virtualcallcode = 403, /* virtualcallcode */
++ YYSYMBOL_methodcode = 404, /* methodcode */
++ YYSYMBOL_premethodcode = 405, /* premethodcode */
++ YYSYMBOL_virtualcatchercode = 406, /* virtualcatchercode */
++ YYSYMBOL_arglist = 407, /* arglist */
++ YYSYMBOL_rawarglist = 408, /* rawarglist */
++ YYSYMBOL_argvalue = 409, /* argvalue */
++ YYSYMBOL_varmember = 410, /* varmember */
++ YYSYMBOL_411_19 = 411, /* $@19 */
++ YYSYMBOL_412_20 = 412, /* $@20 */
++ YYSYMBOL_simple_varmem = 413, /* simple_varmem */
++ YYSYMBOL_414_21 = 414, /* $@21 */
++ YYSYMBOL_varmem = 415, /* varmem */
++ YYSYMBOL_member = 416, /* member */
++ YYSYMBOL_417_22 = 417, /* $@22 */
++ YYSYMBOL_variable = 418, /* variable */
++ YYSYMBOL_variable_body = 419, /* variable_body */
++ YYSYMBOL_variable_body_directives = 420, /* variable_body_directives */
++ YYSYMBOL_variable_body_directive = 421, /* variable_body_directive */
++ YYSYMBOL_cpptype = 422, /* cpptype */
++ YYSYMBOL_argtype = 423, /* argtype */
++ YYSYMBOL_optref = 424, /* optref */
++ YYSYMBOL_deref = 425, /* deref */
++ YYSYMBOL_basetype = 426, /* basetype */
++ YYSYMBOL_cpptypelist = 427, /* cpptypelist */
++ YYSYMBOL_optexceptions = 428, /* optexceptions */
++ YYSYMBOL_exceptionlist = 429 /* exceptionlist */
++};
++typedef enum yysymbol_kind_t yysymbol_kind_t;
+
+-/* Copy the second part of user declarations. */
+
+
+-/* Line 216 of yacc.c. */
+-#line 639 "sip-4.19.23/sipgen/parser.c"
+
+ #ifdef short
+ # undef short
+ #endif
+
+-#ifdef YYTYPE_UINT8
+-typedef YYTYPE_UINT8 yytype_uint8;
+-#else
+-typedef unsigned char yytype_uint8;
++/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
++ <limits.h> and (if available) <stdint.h> are included
++ so that the code can choose integer types of a good width. */
++
++#ifndef __PTRDIFF_MAX__
++# include <limits.h> /* INFRINGES ON USER NAME SPACE */
++# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
++# include <stdint.h> /* INFRINGES ON USER NAME SPACE */
++# define YY_STDINT_H
++# endif
+ #endif
+
+-#ifdef YYTYPE_INT8
+-typedef YYTYPE_INT8 yytype_int8;
+-#elif (defined __STDC__ || defined __C99__FUNC__ \
+- || defined __cplusplus || defined _MSC_VER)
++/* Narrow types that promote to a signed type and that can represent a
++ signed or unsigned integer of at least N bits. In tables they can
++ save space and decrease cache pressure. Promoting to a signed type
++ helps avoid bugs in integer arithmetic. */
++
++#ifdef __INT_LEAST8_MAX__
++typedef __INT_LEAST8_TYPE__ yytype_int8;
++#elif defined YY_STDINT_H
++typedef int_least8_t yytype_int8;
++#else
+ typedef signed char yytype_int8;
++#endif
++
++#ifdef __INT_LEAST16_MAX__
++typedef __INT_LEAST16_TYPE__ yytype_int16;
++#elif defined YY_STDINT_H
++typedef int_least16_t yytype_int16;
+ #else
+-typedef short int yytype_int8;
++typedef short yytype_int16;
++#endif
++
++/* Work around bug in HP-UX 11.23, which defines these macros
++ incorrectly for preprocessor constants. This workaround can likely
++ be removed in 2023, as HPE has promised support for HP-UX 11.23
++ (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
++ <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>. */
++#ifdef __hpux
++# undef UINT_LEAST8_MAX
++# undef UINT_LEAST16_MAX
++# define UINT_LEAST8_MAX 255
++# define UINT_LEAST16_MAX 65535
+ #endif
+
+-#ifdef YYTYPE_UINT16
+-typedef YYTYPE_UINT16 yytype_uint16;
++#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
++typedef __UINT_LEAST8_TYPE__ yytype_uint8;
++#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
++ && UINT_LEAST8_MAX <= INT_MAX)
++typedef uint_least8_t yytype_uint8;
++#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
++typedef unsigned char yytype_uint8;
+ #else
+-typedef unsigned short int yytype_uint16;
++typedef short yytype_uint8;
+ #endif
+
+-#ifdef YYTYPE_INT16
+-typedef YYTYPE_INT16 yytype_int16;
++#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
++typedef __UINT_LEAST16_TYPE__ yytype_uint16;
++#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
++ && UINT_LEAST16_MAX <= INT_MAX)
++typedef uint_least16_t yytype_uint16;
++#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
++typedef unsigned short yytype_uint16;
+ #else
+-typedef short int yytype_int16;
++typedef int yytype_uint16;
++#endif
++
++#ifndef YYPTRDIFF_T
++# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
++# define YYPTRDIFF_T __PTRDIFF_TYPE__
++# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
++# elif defined PTRDIFF_MAX
++# ifndef ptrdiff_t
++# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
++# endif
++# define YYPTRDIFF_T ptrdiff_t
++# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
++# else
++# define YYPTRDIFF_T long
++# define YYPTRDIFF_MAXIMUM LONG_MAX
++# endif
+ #endif
+
+ #ifndef YYSIZE_T
+@@ -673,55 +806,106 @@ typedef short int yytype_int16;
+ # define YYSIZE_T __SIZE_TYPE__
+ # elif defined size_t
+ # define YYSIZE_T size_t
+-# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
+- || defined __cplusplus || defined _MSC_VER)
++# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
+ # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+ # define YYSIZE_T size_t
+ # else
+-# define YYSIZE_T unsigned int
++# define YYSIZE_T unsigned
+ # endif
+ #endif
+
+-#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
++#define YYSIZE_MAXIMUM \
++ YY_CAST (YYPTRDIFF_T, \
++ (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
++ ? YYPTRDIFF_MAXIMUM \
++ : YY_CAST (YYSIZE_T, -1)))
++
++#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
++
++
++/* Stored state numbers (used for stacks). */
++typedef yytype_int16 yy_state_t;
++
++/* State numbers in computations. */
++typedef int yy_state_fast_t;
+
+ #ifndef YY_
+ # if defined YYENABLE_NLS && YYENABLE_NLS
+ # if ENABLE_NLS
+ # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+-# define YY_(msgid) dgettext ("bison-runtime", msgid)
++# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
+ # endif
+ # endif
+ # ifndef YY_
+-# define YY_(msgid) msgid
++# define YY_(Msgid) Msgid
++# endif
++#endif
++
++
++#ifndef YY_ATTRIBUTE_PURE
++# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
++# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
++# else
++# define YY_ATTRIBUTE_PURE
++# endif
++#endif
++
++#ifndef YY_ATTRIBUTE_UNUSED
++# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
++# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
++# else
++# define YY_ATTRIBUTE_UNUSED
+ # endif
+ #endif
+
+ /* Suppress unused-variable warnings by "using" E. */
+ #if ! defined lint || defined __GNUC__
+-# define YYUSE(e) ((void) (e))
++# define YY_USE(E) ((void) (E))
+ #else
+-# define YYUSE(e) /* empty */
++# define YY_USE(E) /* empty */
+ #endif
+
+-/* Identity function, used to suppress warnings about constant conditions. */
+-#ifndef lint
+-# define YYID(n) (n)
+-#else
+-#if (defined __STDC__ || defined __C99__FUNC__ \
+- || defined __cplusplus || defined _MSC_VER)
+-static int
+-YYID (int i)
++/* Suppress an incorrect diagnostic about yylval being uninitialized. */
++#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
++# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
++ _Pragma ("GCC diagnostic push") \
++ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
++# else
++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
++ _Pragma ("GCC diagnostic push") \
++ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
++ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
++# endif
++# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
++ _Pragma ("GCC diagnostic pop")
+ #else
+-static int
+-YYID (i)
+- int i;
++# define YY_INITIAL_VALUE(Value) Value
+ #endif
+-{
+- return i;
+-}
++#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
++# define YY_IGNORE_MAYBE_UNINITIALIZED_END
++#endif
++#ifndef YY_INITIAL_VALUE
++# define YY_INITIAL_VALUE(Value) /* Nothing. */
++#endif
++
++#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
++# define YY_IGNORE_USELESS_CAST_BEGIN \
++ _Pragma ("GCC diagnostic push") \
++ _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
++# define YY_IGNORE_USELESS_CAST_END \
++ _Pragma ("GCC diagnostic pop")
+ #endif
++#ifndef YY_IGNORE_USELESS_CAST_BEGIN
++# define YY_IGNORE_USELESS_CAST_BEGIN
++# define YY_IGNORE_USELESS_CAST_END
++#endif
++
++
++#define YY_ASSERT(E) ((void) (0 && (E)))
+
+-#if ! defined yyoverflow || YYERROR_VERBOSE
++#if !defined yyoverflow
+
+ /* The parser invokes alloca or malloc; define the necessary symbols. */
+
+@@ -738,11 +922,11 @@ YYID (i)
+ # define alloca _alloca
+ # else
+ # define YYSTACK_ALLOC alloca
+-# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+- || defined __cplusplus || defined _MSC_VER)
++# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
+ # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+-# ifndef _STDLIB_H
+-# define _STDLIB_H 1
++ /* Use EXIT_SUCCESS as a witness for stdlib.h. */
++# ifndef EXIT_SUCCESS
++# define EXIT_SUCCESS 0
+ # endif
+ # endif
+ # endif
+@@ -750,8 +934,8 @@ YYID (i)
+ # endif
+
+ # ifdef YYSTACK_ALLOC
+- /* Pacify GCC's `empty if-body' warning. */
+-# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
++ /* Pacify GCC's 'empty if-body' warning. */
++# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+ # ifndef 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
+@@ -765,125 +949,131 @@ YYID (i)
+ # ifndef YYSTACK_ALLOC_MAXIMUM
+ # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+ # endif
+-# if (defined __cplusplus && ! defined _STDLIB_H \
++# if (defined __cplusplus && ! defined EXIT_SUCCESS \
+ && ! ((defined YYMALLOC || defined malloc) \
+- && (defined YYFREE || defined free)))
++ && (defined YYFREE || defined free)))
+ # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+-# ifndef _STDLIB_H
+-# define _STDLIB_H 1
++# ifndef EXIT_SUCCESS
++# define EXIT_SUCCESS 0
+ # endif
+ # endif
+ # ifndef YYMALLOC
+ # define YYMALLOC malloc
+-# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+- || defined __cplusplus || defined _MSC_VER)
++# if ! defined malloc && ! defined EXIT_SUCCESS
+ void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+ # endif
+ # endif
+ # ifndef YYFREE
+ # define YYFREE free
+-# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+- || defined __cplusplus || defined _MSC_VER)
++# if ! defined free && ! defined EXIT_SUCCESS
+ void free (void *); /* INFRINGES ON USER NAME SPACE */
+ # endif
+ # endif
+ # endif
+-#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
+-
++#endif /* !defined yyoverflow */
+
+ #if (! defined yyoverflow \
+ && (! defined __cplusplus \
+- || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
++ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+
+ /* A type that is properly aligned for any stack member. */
+ union yyalloc
+ {
+- yytype_int16 yyss;
+- YYSTYPE yyvs;
+- };
++ yy_state_t yyss_alloc;
++ YYSTYPE yyvs_alloc;
++};
+
+ /* The size of the maximum gap between one aligned stack and the next. */
+-# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
++# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
+
+ /* The size of an array large to enough to hold all stacks, each with
+ N elements. */
+ # define YYSTACK_BYTES(N) \
+- ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
++ ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
+ + YYSTACK_GAP_MAXIMUM)
+
+-/* Copy COUNT objects from FROM to TO. The source and destination do
+- not overlap. */
+-# ifndef YYCOPY
+-# if defined __GNUC__ && 1 < __GNUC__
+-# define YYCOPY(To, From, Count) \
+- __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+-# else
+-# define YYCOPY(To, From, Count) \
+- do \
+- { \
+- YYSIZE_T yyi; \
+- for (yyi = 0; yyi < (Count); yyi++) \
+- (To)[yyi] = (From)[yyi]; \
+- } \
+- while (YYID (0))
+-# endif
+-# endif
++# define YYCOPY_NEEDED 1
+
+ /* Relocate STACK from its old location to the new one. The
+ local variables YYSIZE and YYSTACKSIZE give the old and new number of
+ elements in the stack, and YYPTR gives the new location of the
+ stack. Advance YYPTR to a properly aligned location for the next
+ stack. */
+-# define YYSTACK_RELOCATE(Stack) \
+- do \
+- { \
+- YYSIZE_T yynewbytes; \
+- YYCOPY (&yyptr->Stack, Stack, yysize); \
+- Stack = &yyptr->Stack; \
+- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+- yyptr += yynewbytes / sizeof (*yyptr); \
+- } \
+- while (YYID (0))
++# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
++ do \
++ { \
++ YYPTRDIFF_T yynewbytes; \
++ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
++ Stack = &yyptr->Stack_alloc; \
++ yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
++ yyptr += yynewbytes / YYSIZEOF (*yyptr); \
++ } \
++ while (0)
+
+ #endif
+
++#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
++/* Copy COUNT objects from SRC to DST. The source and destination do
++ not overlap. */
++# ifndef YYCOPY
++# if defined __GNUC__ && 1 < __GNUC__
++# define YYCOPY(Dst, Src, Count) \
++ __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
++# else
++# define YYCOPY(Dst, Src, Count) \
++ do \
++ { \
++ YYPTRDIFF_T yyi; \
++ for (yyi = 0; yyi < (Count); yyi++) \
++ (Dst)[yyi] = (Src)[yyi]; \
++ } \
++ while (0)
++# endif
++# endif
++#endif /* !YYCOPY_NEEDED */
++
+ /* YYFINAL -- State number of the termination state. */
+ #define YYFINAL 4
+ /* YYLAST -- Last index in YYTABLE. */
+-#define YYLAST 1630
++#define YYLAST 1669
+
+ /* YYNTOKENS -- Number of terminals. */
+-#define YYNTOKENS 174
++#define YYNTOKENS 175
+ /* YYNNTS -- Number of nonterminals. */
+ #define YYNNTS 255
+ /* YYNRULES -- Number of rules. */
+-#define YYNRULES 597
+-/* YYNRULES -- Number of states. */
+-#define YYNSTATES 1047
+-
+-/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
+-#define YYUNDEFTOK 2
+-#define YYMAXUTOK 406
+-
+-#define YYTRANSLATE(YYX) \
+- ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
++#define YYNRULES 598
++/* YYNSTATES -- Number of states. */
++#define YYNSTATES 1050
++
++/* YYMAXUTOK -- Last valid token kind. */
++#define YYMAXUTOK 407
++
++
++/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
++ as returned by yylex, with out-of-bounds checking. */
++#define YYTRANSLATE(YYX) \
++ (0 <= (YYX) && (YYX) <= YYMAXUTOK \
++ ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
++ : YYSYMBOL_YYUNDEF)
+
+-/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
++/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
++ as returned by yylex. */
+ static const yytype_uint8 yytranslate[] =
+ {
+ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+- 2, 2, 2, 159, 2, 2, 2, 172, 164, 2,
+- 152, 153, 162, 161, 154, 160, 2, 163, 2, 2,
+- 2, 2, 2, 2, 2, 2, 2, 2, 169, 158,
+- 167, 155, 168, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 160, 2, 2, 2, 173, 165, 2,
++ 153, 154, 163, 162, 155, 161, 2, 164, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 170, 159,
++ 168, 156, 169, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+- 2, 170, 2, 171, 173, 2, 2, 2, 2, 2,
++ 2, 171, 2, 172, 174, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+- 2, 2, 2, 156, 165, 157, 166, 2, 2, 2,
++ 2, 2, 2, 157, 166, 158, 167, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+@@ -911,334 +1101,97 @@ static const yytype_uint8 yytranslate[]
+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
+ 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
+ 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
+- 145, 146, 147, 148, 149, 150, 151
++ 145, 146, 147, 148, 149, 150, 151, 152
+ };
+
+ #if YYDEBUG
+-/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+- YYRHS. */
+-static const yytype_uint16 yyprhs[] =
+-{
+- 0, 0, 3, 5, 8, 9, 12, 14, 16, 18,
+- 20, 22, 24, 26, 28, 30, 32, 34, 36, 38,
+- 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
+- 60, 62, 64, 66, 68, 70, 72, 74, 76, 78,
+- 80, 82, 84, 86, 88, 90, 92, 94, 96, 98,
+- 100, 102, 104, 106, 108, 110, 112, 115, 117, 121,
+- 123, 127, 131, 134, 136, 140, 142, 146, 150, 153,
+- 155, 159, 161, 165, 169, 172, 174, 178, 180, 184,
+- 188, 192, 194, 198, 200, 204, 208, 211, 214, 218,
+- 220, 224, 228, 232, 238, 239, 243, 248, 250, 253,
+- 255, 257, 259, 261, 264, 265, 271, 272, 279, 284,
+- 286, 289, 291, 293, 295, 297, 300, 303, 305, 307,
+- 309, 324, 325, 331, 332, 336, 338, 341, 342, 348,
+- 350, 353, 355, 358, 360, 364, 366, 370, 374, 375,
+- 381, 383, 386, 388, 389, 395, 397, 400, 404, 409,
+- 411, 415, 417, 421, 422, 424, 428, 430, 434, 438,
+- 442, 446, 450, 453, 455, 459, 461, 465, 469, 472,
+- 474, 478, 480, 484, 488, 491, 493, 497, 499, 503,
+- 507, 511, 513, 517, 519, 523, 527, 528, 533, 535,
+- 538, 540, 542, 544, 548, 550, 554, 556, 560, 564,
+- 565, 570, 572, 575, 577, 579, 581, 585, 589, 590,
+- 594, 598, 600, 604, 608, 612, 616, 620, 624, 628,
+- 632, 636, 640, 641, 646, 648, 651, 653, 655, 657,
+- 659, 661, 663, 664, 666, 669, 671, 675, 677, 681,
+- 685, 689, 692, 695, 697, 701, 703, 707, 711, 712,
+- 715, 716, 719, 720, 723, 726, 729, 732, 735, 738,
+- 741, 744, 747, 750, 753, 756, 759, 762, 765, 768,
+- 771, 774, 777, 780, 783, 786, 789, 792, 795, 798,
+- 801, 804, 807, 810, 814, 816, 820, 824, 828, 829,
+- 831, 835, 837, 841, 845, 849, 850, 852, 856, 858,
+- 862, 864, 868, 872, 876, 881, 884, 886, 889, 890,
+- 900, 901, 903, 905, 906, 908, 909, 911, 912, 914,
+- 916, 919, 921, 923, 928, 929, 931, 932, 935, 936,
+- 939, 941, 945, 947, 949, 951, 953, 955, 957, 958,
+- 960, 962, 964, 966, 968, 970, 974, 975, 979, 982,
+- 984, 986, 990, 992, 994, 996, 998, 1003, 1006, 1008,
+- 1010, 1012, 1014, 1016, 1018, 1019, 1021, 1025, 1032, 1045,
+- 1046, 1047, 1056, 1057, 1061, 1066, 1067, 1068, 1077, 1078,
+- 1081, 1083, 1087, 1090, 1091, 1093, 1095, 1097, 1098, 1102,
+- 1103, 1105, 1108, 1110, 1112, 1114, 1116, 1118, 1120, 1122,
+- 1124, 1126, 1128, 1130, 1132, 1134, 1136, 1138, 1140, 1142,
+- 1144, 1146, 1148, 1150, 1152, 1154, 1156, 1158, 1160, 1162,
+- 1164, 1167, 1170, 1173, 1177, 1181, 1185, 1188, 1192, 1196,
+- 1198, 1202, 1206, 1210, 1214, 1215, 1220, 1222, 1225, 1227,
+- 1229, 1231, 1233, 1235, 1236, 1238, 1239, 1243, 1245, 1257,
+- 1258, 1262, 1264, 1276, 1277, 1278, 1285, 1286, 1287, 1295,
+- 1313, 1321, 1339, 1356, 1358, 1360, 1362, 1364, 1366, 1368,
+- 1370, 1372, 1375, 1378, 1381, 1384, 1387, 1390, 1393, 1396,
+- 1399, 1402, 1406, 1410, 1412, 1415, 1418, 1420, 1423, 1426,
+- 1429, 1431, 1434, 1435, 1437, 1438, 1440, 1441, 1444, 1445,
+- 1449, 1451, 1455, 1457, 1461, 1463, 1469, 1471, 1473, 1474,
+- 1477, 1478, 1481, 1482, 1485, 1486, 1489, 1491, 1492, 1494,
+- 1498, 1503, 1508, 1513, 1517, 1521, 1528, 1535, 1539, 1542,
+- 1543, 1547, 1548, 1552, 1554, 1555, 1559, 1561, 1563, 1565,
+- 1566, 1570, 1572, 1581, 1582, 1586, 1588, 1591, 1593, 1595,
+- 1598, 1601, 1604, 1609, 1613, 1617, 1618, 1620, 1621, 1625,
+- 1628, 1630, 1635, 1638, 1641, 1643, 1645, 1648, 1650, 1652,
+- 1655, 1658, 1662, 1664, 1666, 1668, 1671, 1674, 1676, 1678,
+- 1680, 1682, 1684, 1686, 1688, 1690, 1692, 1694, 1696, 1698,
+- 1700, 1702, 1704, 1708, 1709, 1714, 1715, 1717
+-};
+-
+-/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+-static const yytype_int16 yyrhs[] =
+-{
+- 175, 0, -1, 176, -1, 175, 176, -1, -1, 177,
+- 178, -1, 269, -1, 255, -1, 262, -1, 192, -1,
+- 291, -1, 279, -1, 283, -1, 284, -1, 200, -1,
+- 230, -1, 222, -1, 226, -1, 239, -1, 180, -1,
+- 184, -1, 188, -1, 243, -1, 247, -1, 251, -1,
+- 292, -1, 293, -1, 306, -1, 308, -1, 309, -1,
+- 310, -1, 311, -1, 312, -1, 313, -1, 314, -1,
+- 315, -1, 317, -1, 318, -1, 328, -1, 332, -1,
+- 210, -1, 212, -1, 196, -1, 179, -1, 234, -1,
+- 238, -1, 218, -1, 358, -1, 364, -1, 361, -1,
+- 204, -1, 357, -1, 335, -1, 393, -1, 417, -1,
+- 294, -1, 5, 181, -1, 36, -1, 152, 182, 153,
+- -1, 183, -1, 182, 154, 183, -1, 138, 155, 36,
+- -1, 6, 185, -1, 36, -1, 152, 186, 153, -1,
+- 187, -1, 186, 154, 187, -1, 138, 155, 36, -1,
+- 7, 189, -1, 36, -1, 152, 190, 153, -1, 191,
+- -1, 190, 154, 191, -1, 138, 155, 36, -1, 8,
+- 193, -1, 34, -1, 152, 194, 153, -1, 195, -1,
+- 194, 154, 195, -1, 138, 155, 34, -1, 9, 197,
+- 333, -1, 34, -1, 152, 198, 153, -1, 199, -1,
+- 198, 154, 199, -1, 138, 155, 34, -1, 3, 201,
+- -1, 34, 107, -1, 152, 202, 153, -1, 203, -1,
+- 202, 154, 203, -1, 138, 155, 381, -1, 151, 155,
+- 107, -1, 122, 351, 205, 398, 206, -1, -1, 152,
+- 351, 153, -1, 156, 207, 157, 158, -1, 208, -1,
+- 207, 208, -1, 234, -1, 238, -1, 209, -1, 294,
+- -1, 123, 333, -1, -1, 30, 425, 398, 211, 214,
+- -1, -1, 363, 30, 425, 398, 213, 214, -1, 156,
+- 215, 157, 158, -1, 216, -1, 215, 216, -1, 234,
+- -1, 238, -1, 294, -1, 307, -1, 51, 333, -1,
+- 52, 333, -1, 303, -1, 335, -1, 217, -1, 97,
+- 421, 34, 152, 406, 153, 395, 427, 398, 391, 158,
+- 327, 404, 403, -1, -1, 110, 34, 219, 220, 158,
+- -1, -1, 156, 221, 157, -1, 179, -1, 221, 179,
+- -1, -1, 112, 223, 156, 224, 157, -1, 225, -1,
+- 224, 225, -1, 34, -1, 113, 227, -1, 34, -1,
+- 152, 228, 153, -1, 229, -1, 228, 154, 229, -1,
+- 138, 155, 381, -1, -1, 111, 231, 156, 232, 157,
+- -1, 233, -1, 232, 233, -1, 34, -1, -1, 32,
+- 152, 235, 237, 153, -1, 34, -1, 159, 34, -1,
+- 236, 95, 34, -1, 236, 95, 159, 34, -1, 236,
+- -1, 339, 160, 339, -1, 33, -1, 114, 240, 398,
+- -1, -1, 36, -1, 152, 241, 153, -1, 242, -1,
+- 241, 154, 242, -1, 145, 155, 36, -1, 137, 155,
+- 36, -1, 143, 155, 36, -1, 144, 155, 36, -1,
+- 128, 244, -1, 277, -1, 152, 245, 153, -1, 246,
+- -1, 245, 154, 246, -1, 138, 155, 277, -1, 129,
+- 248, -1, 277, -1, 152, 249, 153, -1, 250, -1,
+- 249, 154, 250, -1, 138, 155, 277, -1, 131, 252,
+- -1, 351, -1, 152, 253, 153, -1, 254, -1, 253,
+- 154, 254, -1, 138, 155, 351, -1, 62, 256, 259,
+- -1, 277, -1, 152, 257, 153, -1, 258, -1, 257,
+- 154, 258, -1, 138, 155, 277, -1, -1, 156, 260,
+- 157, 158, -1, 261, -1, 260, 261, -1, 234, -1,
+- 238, -1, 323, -1, 63, 263, 266, -1, 277, -1,
+- 152, 264, 153, -1, 265, -1, 264, 154, 265, -1,
+- 138, 155, 277, -1, -1, 156, 267, 157, 158, -1,
+- 268, -1, 267, 268, -1, 234, -1, 238, -1, 323,
+- -1, 60, 270, 274, -1, 61, 277, 278, -1, -1,
+- 277, 271, 278, -1, 152, 272, 153, -1, 273, -1,
+- 272, 154, 273, -1, 135, 155, 36, -1, 136, 155,
+- 36, -1, 138, 155, 277, -1, 146, 155, 354, -1,
+- 147, 155, 354, -1, 148, 155, 354, -1, 149, 155,
+- 354, -1, 150, 155, 34, -1, 151, 155, 107, -1,
+- -1, 156, 275, 157, 158, -1, 276, -1, 275, 276,
+- -1, 234, -1, 238, -1, 319, -1, 323, -1, 34,
+- -1, 35, -1, -1, 107, -1, 54, 280, -1, 35,
+- -1, 152, 281, 153, -1, 282, -1, 281, 154, 282,
+- -1, 138, 155, 35, -1, 139, 155, 354, -1, 55,
+- 35, -1, 56, 285, -1, 35, -1, 152, 286, 153,
+- -1, 287, -1, 286, 154, 287, -1, 138, 155, 35,
+- -1, -1, 17, 333, -1, -1, 18, 333, -1, -1,
+- 19, 333, -1, 29, 333, -1, 57, 333, -1, 58,
+- 333, -1, 59, 333, -1, 38, 333, -1, 39, 333,
+- -1, 40, 333, -1, 41, 333, -1, 42, 333, -1,
+- 43, 333, -1, 44, 333, -1, 45, 333, -1, 50,
+- 333, -1, 46, 333, -1, 23, 333, -1, 26, 333,
+- -1, 27, 333, -1, 20, 333, -1, 21, 333, -1,
+- 22, 333, -1, 24, 333, -1, 25, 333, -1, 28,
+- 333, -1, 10, 333, -1, 11, 333, -1, 11, 333,
+- -1, 13, 333, -1, 14, 333, -1, 4, 320, -1,
+- 152, 321, 153, -1, 322, -1, 321, 154, 322, -1,
+- 141, 155, 36, -1, 12, 324, 333, -1, -1, 36,
+- -1, 152, 325, 153, -1, 326, -1, 325, 154, 326,
+- -1, 132, 155, 36, -1, 143, 155, 36, -1, -1,
+- 323, -1, 15, 329, 333, -1, 34, -1, 152, 330,
+- 153, -1, 331, -1, 330, 154, 331, -1, 134, 155,
+- 34, -1, 140, 155, 107, -1, 16, 35, 338, 333,
+- -1, 334, 33, -1, 31, -1, 334, 31, -1, -1,
+- 91, 337, 339, 398, 336, 156, 340, 157, 158, -1,
+- -1, 64, -1, 65, -1, -1, 35, -1, -1, 34,
+- -1, -1, 341, -1, 342, -1, 341, 342, -1, 234,
+- -1, 238, -1, 34, 344, 398, 343, -1, -1, 154,
+- -1, -1, 155, 349, -1, -1, 155, 346, -1, 349,
+- -1, 346, 347, 349, -1, 160, -1, 161, -1, 162,
+- -1, 163, -1, 164, -1, 165, -1, -1, 159, -1,
+- 166, -1, 160, -1, 161, -1, 162, -1, 164, -1,
+- 350, 348, 355, -1, -1, 152, 351, 153, -1, 94,
+- 352, -1, 352, -1, 353, -1, 352, 94, 353, -1,
+- 34, -1, 116, -1, 117, -1, 351, -1, 425, 152,
+- 356, 153, -1, 156, 157, -1, 108, -1, 107, -1,
+- 354, -1, 118, -1, 36, -1, 115, -1, -1, 346,
+- -1, 356, 154, 346, -1, 109, 421, 34, 398, 158,
+- 327, -1, 109, 421, 152, 162, 34, 153, 152, 426,
+- 153, 398, 158, 327, -1, -1, -1, 65, 351, 359,
+- 367, 398, 360, 371, 158, -1, -1, 363, 362, 364,
+- -1, 125, 167, 426, 168, -1, -1, -1, 64, 351,
+- 365, 367, 398, 366, 371, 158, -1, -1, 169, 368,
+- -1, 369, -1, 368, 154, 369, -1, 370, 351, -1,
+- -1, 66, -1, 67, -1, 68, -1, -1, 156, 372,
+- 157, -1, -1, 373, -1, 372, 373, -1, 234, -1,
+- 238, -1, 218, -1, 358, -1, 364, -1, 361, -1,
+- 204, -1, 357, -1, 335, -1, 374, -1, 323, -1,
+- 307, -1, 294, -1, 295, -1, 296, -1, 297, -1,
+- 298, -1, 299, -1, 300, -1, 301, -1, 302, -1,
+- 303, -1, 304, -1, 305, -1, 316, -1, 386, -1,
+- 383, -1, 409, -1, 53, 333, -1, 52, 333, -1,
+- 51, 333, -1, 66, 382, 169, -1, 67, 382, 169,
+- -1, 68, 382, 169, -1, 69, 169, -1, 130, 375,
+- 378, -1, 152, 376, 153, -1, 377, -1, 376, 154,
+- 377, -1, 133, 155, 34, -1, 138, 155, 381, -1,
+- 142, 155, 34, -1, -1, 156, 379, 157, 158, -1,
+- 380, -1, 379, 380, -1, 234, -1, 238, -1, 323,
+- -1, 34, -1, 36, -1, -1, 71, -1, -1, 90,
+- 384, 385, -1, 385, -1, 166, 34, 152, 153, 427,
+- 397, 398, 158, 404, 403, 405, -1, -1, 124, 387,
+- 388, -1, 388, -1, 34, 152, 406, 153, 427, 398,
+- 389, 158, 327, 404, 403, -1, -1, -1, 170, 390,
+- 152, 406, 153, 171, -1, -1, -1, 170, 392, 421,
+- 152, 406, 153, 171, -1, 421, 34, 152, 406, 153,
+- 395, 396, 427, 397, 398, 391, 158, 327, 404, 403,
+- 405, 402, -1, 421, 119, 155, 152, 421, 153, 158,
+- -1, 421, 119, 394, 152, 406, 153, 395, 396, 427,
+- 397, 398, 391, 158, 404, 403, 405, 402, -1, 119,
+- 421, 152, 406, 153, 395, 396, 427, 397, 398, 391,
+- 158, 404, 403, 405, 402, -1, 161, -1, 160, -1,
+- 162, -1, 163, -1, 172, -1, 164, -1, 165, -1,
+- 173, -1, 167, 167, -1, 168, 168, -1, 161, 155,
+- -1, 160, 155, -1, 162, 155, -1, 163, 155, -1,
+- 172, 155, -1, 164, 155, -1, 165, 155, -1, 173,
+- 155, -1, 167, 167, 155, -1, 168, 168, 155, -1,
+- 166, -1, 152, 153, -1, 170, 171, -1, 167, -1,
+- 167, 155, -1, 155, 155, -1, 159, 155, -1, 168,
+- -1, 168, 155, -1, -1, 96, -1, -1, 126, -1,
+- -1, 155, 107, -1, -1, 163, 399, 163, -1, 400,
+- -1, 399, 154, 400, -1, 34, -1, 34, 155, 401,
+- -1, 277, -1, 34, 169, 278, 160, 278, -1, 36,
+- -1, 107, -1, -1, 47, 333, -1, -1, 48, 333,
+- -1, -1, 49, 333, -1, -1, 37, 333, -1, 407,
+- -1, -1, 408, -1, 407, 154, 408, -1, 98, 339,
+- 398, 345, -1, 99, 339, 398, 345, -1, 100, 339,
+- 398, 345, -1, 101, 339, 398, -1, 102, 339, 398,
+- -1, 103, 152, 406, 153, 339, 398, -1, 104, 152,
+- 406, 153, 339, 398, -1, 121, 339, 398, -1, 422,
+- 345, -1, -1, 70, 410, 412, -1, -1, 72, 411,
+- 412, -1, 412, -1, -1, 97, 413, 414, -1, 414,
+- -1, 415, -1, 417, -1, -1, 90, 416, 393, -1,
+- 393, -1, 421, 34, 398, 418, 158, 288, 289, 290,
+- -1, -1, 156, 419, 157, -1, 420, -1, 419, 420,
+- -1, 234, -1, 238, -1, 17, 333, -1, 18, 333,
+- -1, 19, 333, -1, 96, 425, 424, 423, -1, 425,
+- 424, 423, -1, 421, 339, 398, -1, -1, 164, -1,
+- -1, 424, 162, 96, -1, 424, 162, -1, 351, -1,
+- 351, 167, 426, 168, -1, 65, 351, -1, 93, 74,
+- -1, 74, -1, 93, -1, 93, 75, -1, 75, -1,
+- 76, -1, 93, 76, -1, 76, 76, -1, 93, 76,
+- 76, -1, 77, -1, 78, -1, 73, -1, 92, 79,
+- -1, 93, 79, -1, 79, -1, 80, -1, 81, -1,
+- 82, -1, 83, -1, 84, -1, 85, -1, 86, -1,
+- 87, -1, 88, -1, 89, -1, 105, -1, 106, -1,
+- 127, -1, 421, -1, 426, 154, 421, -1, -1, 120,
+- 152, 428, 153, -1, -1, 351, -1, 428, 154, 351,
+- -1
+-};
+-
+-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
+-static const yytype_uint16 yyrline[] =
++/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
++static const yytype_int16 yyrline[] =
+ {
+- 0, 574, 574, 575, 578, 578, 597, 598, 599, 600,
+- 601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
+- 611, 612, 613, 614, 615, 616, 617, 618, 619, 620,
+- 621, 622, 623, 624, 625, 626, 627, 628, 629, 630,
+- 631, 632, 633, 634, 637, 638, 639, 640, 641, 642,
+- 643, 644, 645, 646, 647, 648, 661, 667, 672, 677,
+- 678, 688, 695, 701, 706, 711, 712, 722, 729, 738,
+- 743, 748, 749, 759, 766, 777, 782, 787, 788, 798,
+- 805, 834, 839, 844, 845, 855, 862, 888, 896, 901,
+- 902, 913, 919, 927, 974, 978, 1085, 1090, 1091, 1102,
+- 1105, 1108, 1122, 1138, 1143, 1143, 1166, 1166, 1233, 1247,
+- 1248, 1251, 1252, 1253, 1257, 1261, 1270, 1279, 1288, 1289,
+- 1292, 1307, 1307, 1344, 1345, 1348, 1349, 1352, 1352, 1381,
+- 1382, 1385, 1391, 1397, 1402, 1407, 1408, 1418, 1425, 1425,
+- 1451, 1452, 1455, 1461, 1461, 1480, 1483, 1486, 1489, 1494,
+- 1495, 1500, 1508, 1545, 1553, 1559, 1564, 1565, 1578, 1586,
+- 1594, 1602, 1612, 1623, 1628, 1633, 1634, 1644, 1651, 1662,
+- 1667, 1672, 1673, 1683, 1690, 1702, 1707, 1712, 1713, 1723,
+- 1730, 1750, 1755, 1760, 1761, 1771, 1778, 1782, 1787, 1788,
+- 1798, 1801, 1804, 1818, 1836, 1841, 1846, 1847, 1857, 1864,
+- 1868, 1873, 1874, 1884, 1887, 1890, 1904, 1915, 1925, 1925,
+- 1938, 1943, 1944, 1961, 1973, 1991, 2003, 2015, 2027, 2039,
+- 2051, 2063, 2082, 2086, 2091, 2092, 2102, 2105, 2108, 2111,
+- 2125, 2126, 2142, 2145, 2148, 2157, 2163, 2168, 2169, 2180,
+- 2186, 2194, 2202, 2208, 2213, 2218, 2219, 2229, 2236, 2239,
+- 2244, 2247, 2252, 2255, 2260, 2266, 2272, 2278, 2283, 2288,
+- 2293, 2298, 2303, 2308, 2313, 2318, 2323, 2328, 2333, 2338,
+- 2344, 2349, 2355, 2361, 2367, 2373, 2379, 2384, 2390, 2396,
+- 2401, 2407, 2413, 2419, 2424, 2425, 2435, 2442, 2526, 2530,
+- 2536, 2541, 2542, 2553, 2559, 2567, 2570, 2573, 2582, 2588,
+- 2593, 2594, 2605, 2611, 2622, 2627, 2630, 2631, 2641, 2641,
+- 2665, 2668, 2671, 2676, 2679, 2684, 2687, 2692, 2693, 2696,
+- 2697, 2700, 2701, 2702, 2746, 2747, 2750, 2751, 2754, 2757,
+- 2762, 2763, 2781, 2784, 2787, 2790, 2793, 2796, 2801, 2804,
+- 2807, 2810, 2813, 2816, 2819, 2824, 2839, 2842, 2847, 2853,
+- 2856, 2857, 2865, 2870, 2873, 2878, 2887, 2897, 2900, 2904,
+- 2908, 2912, 2916, 2920, 2926, 2931, 2937, 2955, 2977, 3016,
+- 3022, 3016, 3066, 3066, 3092, 3097, 3103, 3097, 3143, 3144,
+- 3147, 3148, 3151, 3203, 3206, 3209, 3212, 3217, 3220, 3225,
+- 3226, 3227, 3230, 3231, 3232, 3233, 3234, 3235, 3236, 3237,
+- 3238, 3239, 3240, 3251, 3255, 3259, 3270, 3281, 3292, 3303,
+- 3314, 3325, 3336, 3347, 3358, 3369, 3380, 3391, 3392, 3393,
+- 3394, 3405, 3416, 3427, 3434, 3441, 3448, 3457, 3470, 3475,
+- 3476, 3488, 3495, 3502, 3511, 3515, 3520, 3521, 3531, 3534,
+- 3537, 3551, 3552, 3555, 3558, 3564, 3564, 3565, 3568, 3634,
+- 3634, 3635, 3638, 3684, 3687, 3687, 3698, 3701, 3701, 3713,
+- 3731, 3751, 3795, 3876, 3877, 3878, 3879, 3880, 3881, 3882,
+- 3883, 3884, 3885, 3886, 3887, 3888, 3889, 3890, 3891, 3892,
+- 3893, 3894, 3895, 3896, 3897, 3898, 3899, 3900, 3901, 3902,
+- 3903, 3904, 3907, 3910, 3915, 3918, 3923, 3926, 3934, 3937,
+- 3943, 3947, 3959, 3963, 3969, 3973, 3996, 4000, 4006, 4009,
+- 4014, 4017, 4022, 4025, 4030, 4033, 4038, 4090, 4095, 4101,
+- 4124, 4136, 4148, 4160, 4179, 4190, 4207, 4224, 4233, 4240,
+- 4240, 4241, 4241, 4242, 4246, 4246, 4247, 4251, 4252, 4256,
+- 4256, 4257, 4260, 4315, 4321, 4326, 4327, 4339, 4342, 4345,
+- 4360, 4375, 4392, 4397, 4411, 4521, 4524, 4532, 4535, 4538,
+- 4543, 4551, 4562, 4577, 4581, 4585, 4589, 4593, 4597, 4601,
+- 4605, 4609, 4613, 4617, 4621, 4625, 4629, 4633, 4637, 4641,
+- 4645, 4649, 4653, 4657, 4661, 4665, 4669, 4673, 4677, 4681,
+- 4685, 4691, 4697, 4713, 4716, 4724, 4730, 4737
++ 0, 575, 575, 576, 579, 579, 598, 599, 600, 601,
++ 602, 603, 604, 605, 606, 607, 608, 609, 610, 611,
++ 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
++ 622, 623, 624, 625, 626, 627, 628, 629, 630, 631,
++ 632, 633, 634, 635, 638, 639, 640, 641, 642, 643,
++ 644, 645, 646, 647, 648, 649, 662, 668, 673, 678,
++ 679, 689, 696, 702, 707, 712, 713, 723, 730, 739,
++ 744, 749, 750, 760, 767, 778, 783, 788, 789, 799,
++ 806, 835, 840, 845, 846, 856, 863, 889, 897, 902,
++ 903, 914, 920, 928, 975, 979, 1086, 1091, 1092, 1103,
++ 1106, 1109, 1123, 1139, 1144, 1144, 1167, 1167, 1234, 1248,
++ 1249, 1252, 1253, 1254, 1258, 1262, 1271, 1280, 1289, 1290,
++ 1293, 1308, 1308, 1345, 1346, 1349, 1350, 1353, 1353, 1382,
++ 1383, 1386, 1392, 1398, 1403, 1408, 1409, 1419, 1426, 1426,
++ 1452, 1453, 1456, 1462, 1462, 1481, 1484, 1487, 1490, 1495,
++ 1496, 1501, 1509, 1546, 1554, 1560, 1565, 1566, 1579, 1587,
++ 1595, 1603, 1613, 1624, 1629, 1634, 1635, 1645, 1652, 1663,
++ 1668, 1673, 1674, 1684, 1691, 1703, 1708, 1713, 1714, 1724,
++ 1731, 1751, 1756, 1761, 1762, 1772, 1779, 1783, 1788, 1789,
++ 1799, 1802, 1805, 1819, 1837, 1842, 1847, 1848, 1858, 1865,
++ 1869, 1874, 1875, 1885, 1888, 1891, 1905, 1917, 1927, 1927,
++ 1941, 1946, 1947, 1965, 1978, 1997, 2010, 2023, 2036, 2049,
++ 2062, 2075, 2088, 2108, 2112, 2117, 2118, 2128, 2131, 2134,
++ 2137, 2151, 2152, 2168, 2171, 2174, 2183, 2189, 2194, 2195,
++ 2206, 2212, 2220, 2228, 2234, 2239, 2244, 2245, 2255, 2262,
++ 2265, 2270, 2273, 2278, 2281, 2286, 2292, 2298, 2304, 2309,
++ 2314, 2319, 2324, 2329, 2334, 2339, 2344, 2349, 2354, 2359,
++ 2364, 2370, 2375, 2381, 2387, 2393, 2399, 2405, 2410, 2416,
++ 2422, 2427, 2433, 2439, 2445, 2450, 2451, 2461, 2468, 2552,
++ 2556, 2562, 2567, 2568, 2579, 2585, 2593, 2596, 2599, 2608,
++ 2614, 2619, 2620, 2631, 2637, 2648, 2653, 2656, 2657, 2667,
++ 2667, 2691, 2694, 2697, 2702, 2705, 2710, 2713, 2718, 2719,
++ 2722, 2723, 2726, 2727, 2728, 2772, 2773, 2776, 2777, 2780,
++ 2783, 2788, 2789, 2807, 2810, 2813, 2816, 2819, 2822, 2827,
++ 2830, 2833, 2836, 2839, 2842, 2845, 2850, 2865, 2868, 2873,
++ 2879, 2882, 2883, 2891, 2896, 2899, 2904, 2913, 2923, 2926,
++ 2930, 2934, 2938, 2942, 2946, 2952, 2957, 2963, 2981, 3003,
++ 3042, 3048, 3042, 3092, 3092, 3118, 3123, 3129, 3123, 3169,
++ 3170, 3173, 3174, 3177, 3229, 3232, 3235, 3238, 3243, 3246,
++ 3251, 3252, 3253, 3256, 3257, 3258, 3259, 3260, 3261, 3262,
++ 3263, 3264, 3265, 3266, 3277, 3281, 3285, 3296, 3307, 3318,
++ 3329, 3340, 3351, 3362, 3373, 3384, 3395, 3406, 3417, 3418,
++ 3419, 3420, 3431, 3442, 3453, 3460, 3467, 3474, 3483, 3496,
++ 3501, 3502, 3514, 3521, 3528, 3537, 3541, 3546, 3547, 3557,
++ 3560, 3563, 3577, 3578, 3581, 3584, 3590, 3590, 3591, 3594,
++ 3660, 3660, 3661, 3664, 3710, 3713, 3713, 3724, 3727, 3727,
++ 3739, 3757, 3777, 3821, 3902, 3903, 3904, 3905, 3906, 3907,
++ 3908, 3909, 3910, 3911, 3912, 3913, 3914, 3915, 3916, 3917,
++ 3918, 3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926, 3927,
++ 3928, 3929, 3930, 3933, 3936, 3941, 3944, 3949, 3952, 3960,
++ 3963, 3969, 3973, 3985, 3989, 3995, 3999, 4022, 4026, 4032,
++ 4035, 4040, 4043, 4048, 4051, 4056, 4059, 4064, 4116, 4121,
++ 4127, 4150, 4162, 4174, 4186, 4205, 4216, 4233, 4250, 4259,
++ 4266, 4266, 4267, 4267, 4268, 4272, 4272, 4273, 4277, 4278,
++ 4282, 4282, 4283, 4286, 4341, 4347, 4352, 4353, 4365, 4368,
++ 4371, 4386, 4401, 4418, 4423, 4437, 4547, 4550, 4558, 4561,
++ 4564, 4569, 4577, 4588, 4603, 4607, 4611, 4615, 4619, 4623,
++ 4627, 4631, 4635, 4639, 4643, 4647, 4651, 4655, 4659, 4663,
++ 4667, 4671, 4675, 4679, 4683, 4687, 4691, 4695, 4699, 4703,
++ 4707, 4711, 4717, 4723, 4739, 4742, 4750, 4756, 4763
+ };
+ #endif
+
+-#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
++/** Accessing symbol of state STATE. */
++#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
++
++#if YYDEBUG || 0
++/* The user-facing name of the symbol whose (internal) number is
++ YYSYMBOL. No bounds checking. */
++static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
++
+ /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+ static const char *const yytname[] =
+ {
+- "$end", "error", "$undefined", "TK_API", "TK_AUTOPYNAME",
+- "TK_DEFDOCSTRFMT", "TK_DEFDOCSTRSIG", "TK_DEFENCODING", "TK_PLUGIN",
+- "TK_VIRTERRORHANDLER", "TK_EXPTYPEHINTCODE", "TK_TYPEHINTCODE",
+- "TK_DOCSTRING", "TK_DOC", "TK_EXPORTEDDOC", "TK_EXTRACT", "TK_MAKEFILE",
+- "TK_ACCESSCODE", "TK_GETCODE", "TK_SETCODE", "TK_PREINITCODE",
+- "TK_INITCODE", "TK_POSTINITCODE", "TK_FINALCODE", "TK_UNITCODE",
+- "TK_UNITPOSTINCLUDECODE", "TK_MODCODE", "TK_TYPECODE", "TK_PREPYCODE",
+- "TK_COPYING", "TK_MAPPEDTYPE", "TK_CODELINE", "TK_IF", "TK_END",
+- "TK_NAME_VALUE", "TK_PATH_VALUE", "TK_STRING_VALUE",
++ "\"end of file\"", "error", "\"invalid token\"", "TK_API",
++ "TK_AUTOPYNAME", "TK_DEFDOCSTRFMT", "TK_DEFDOCSTRSIG", "TK_DEFENCODING",
++ "TK_PLUGIN", "TK_VIRTERRORHANDLER", "TK_EXPTYPEHINTCODE",
++ "TK_TYPEHINTCODE", "TK_DOCSTRING", "TK_DOC", "TK_EXPORTEDDOC",
++ "TK_EXTRACT", "TK_MAKEFILE", "TK_ACCESSCODE", "TK_GETCODE", "TK_SETCODE",
++ "TK_PREINITCODE", "TK_INITCODE", "TK_POSTINITCODE", "TK_FINALCODE",
++ "TK_UNITCODE", "TK_UNITPOSTINCLUDECODE", "TK_MODCODE", "TK_TYPECODE",
++ "TK_PREPYCODE", "TK_COPYING", "TK_MAPPEDTYPE", "TK_CODELINE", "TK_IF",
++ "TK_END", "TK_NAME_VALUE", "TK_PATH_VALUE", "TK_STRING_VALUE",
+ "TK_VIRTUALCATCHERCODE", "TK_TRAVERSECODE", "TK_CLEARCODE",
+ "TK_GETBUFFERCODE", "TK_RELEASEBUFFERCODE", "TK_READBUFFERCODE",
+ "TK_WRITEBUFFERCODE", "TK_SEGCOUNTCODE", "TK_CHARBUFFERCODE",
+@@ -1264,13 +1217,13 @@ static const char *const yytname[] =
+ "TK_DEFSUPERTYPE", "TK_PROPERTY", "TK_HIDE_NS", "TK_FORMAT", "TK_GET",
+ "TK_ID", "TK_KWARGS", "TK_LANGUAGE", "TK_LICENSEE", "TK_NAME",
+ "TK_OPTIONAL", "TK_ORDER", "TK_REMOVELEADING", "TK_SET", "TK_SIGNATURE",
+- "TK_TIMESTAMP", "TK_TYPE", "TK_USEARGNAMES", "TK_USELIMITEDAPI",
+- "TK_ALLRAISEPYEXC", "TK_CALLSUPERINIT", "TK_DEFERRORHANDLER",
+- "TK_VERSION", "'('", "')'", "','", "'='", "'{'", "'}'", "';'", "'!'",
+- "'-'", "'+'", "'*'", "'/'", "'&'", "'|'", "'~'", "'<'", "'>'", "':'",
+- "'['", "']'", "'%'", "'^'", "$accept", "specification", "statement",
+- "@1", "modstatement", "nsstatement", "defdocstringfmt",
+- "defdocstringfmt_args", "defdocstringfmt_arg_list",
++ "TK_TIMESTAMP", "TK_TYPE", "TK_USEARGNAMES", "TK_PYSSIZETCLEAN",
++ "TK_USELIMITEDAPI", "TK_ALLRAISEPYEXC", "TK_CALLSUPERINIT",
++ "TK_DEFERRORHANDLER", "TK_VERSION", "'('", "')'", "','", "'='", "'{'",
++ "'}'", "';'", "'!'", "'-'", "'+'", "'*'", "'/'", "'&'", "'|'", "'~'",
++ "'<'", "'>'", "':'", "'['", "']'", "'%'", "'^'", "$accept",
++ "specification", "statement", "$@1", "modstatement", "nsstatement",
++ "defdocstringfmt", "defdocstringfmt_args", "defdocstringfmt_arg_list",
+ "defdocstringfmt_arg", "defdocstringsig", "defdocstringsig_args",
+ "defdocstringsig_arg_list", "defdocstringsig_arg", "defencoding",
+ "defencoding_args", "defencoding_arg_list", "defencoding_arg", "plugin",
+@@ -1278,13 +1231,13 @@ static const char *const yytname[] =
+ "veh_args", "veh_arg_list", "veh_arg", "api", "api_args", "api_arg_list",
+ "api_arg", "exception", "baseexception", "exception_body",
+ "exception_body_directives", "exception_body_directive", "raisecode",
+- "mappedtype", "@2", "mappedtypetmpl", "@3", "mtdefinition", "mtbody",
+- "mtline", "mtfunction", "namespace", "@4", "optnsbody", "nsbody",
+- "platforms", "@5", "platformlist", "platform", "feature", "feature_args",
+- "feature_arg_list", "feature_arg", "timeline", "@6", "qualifierlist",
+- "qualifiername", "ifstart", "@7", "oredqualifiers", "qualifiers",
+- "ifend", "license", "license_args", "license_arg_list", "license_arg",
+- "defmetatype", "defmetatype_args", "defmetatype_arg_list",
++ "mappedtype", "$@2", "mappedtypetmpl", "$@3", "mtdefinition", "mtbody",
++ "mtline", "mtfunction", "namespace", "$@4", "optnsbody", "nsbody",
++ "platforms", "$@5", "platformlist", "platform", "feature",
++ "feature_args", "feature_arg_list", "feature_arg", "timeline", "$@6",
++ "qualifierlist", "qualifiername", "ifstart", "$@7", "oredqualifiers",
++ "qualifiers", "ifend", "license", "license_args", "license_arg_list",
++ "license_arg", "defmetatype", "defmetatype_args", "defmetatype_arg_list",
+ "defmetatype_arg", "defsupertype", "defsupertype_args",
+ "defsupertype_arg_list", "defsupertype_arg", "hiddenns", "hiddenns_args",
+ "hiddenns_arg_list", "hiddenns_arg", "consmodule", "consmodule_args",
+@@ -1292,7 +1245,7 @@ static const char *const yytname[] =
+ "consmodule_body_directives", "consmodule_body_directive", "compmodule",
+ "compmodule_args", "compmodule_arg_list", "compmodule_arg",
+ "compmodule_body", "compmodule_body_directives",
+- "compmodule_body_directive", "module", "module_args", "@8",
++ "compmodule_body_directive", "module", "module_args", "$@8",
+ "module_arg_list", "module_arg", "module_body", "module_body_directives",
+ "module_body_directive", "dottedname", "optnumber", "include",
+ "include_args", "include_arg_list", "include_arg", "optinclude",
+@@ -1307,1011 +1260,950 @@ static const char *const yytname[] =
+ "autopyname_args", "autopyname_arg_list", "autopyname_arg", "docstring",
+ "docstring_args", "docstring_arg_list", "docstring_arg", "optdocstring",
+ "extract", "extract_args", "extract_arg_list", "extract_arg", "makefile",
+- "codeblock", "codelines", "enum", "@9", "optenumkey", "optfilename",
++ "codeblock", "codelines", "enum", "$@9", "optenumkey", "optfilename",
+ "optname", "optenumbody", "enumbody", "enumline", "optcomma",
+ "optenumassign", "optassign", "expr", "binop", "optunop", "value",
+ "optcast", "scopedname", "scopednamehead", "scopepart", "bool_value",
+- "simplevalue", "exprlist", "typedef", "struct", "@10", "@11",
+- "classtmpl", "@12", "template", "class", "@13", "@14", "superclasses",
++ "simplevalue", "exprlist", "typedef", "struct", "$@10", "$@11",
++ "classtmpl", "$@12", "template", "class", "$@13", "$@14", "superclasses",
+ "superlist", "superclass", "class_access", "optclassbody", "classbody",
+ "classline", "property", "property_args", "property_arg_list",
+ "property_arg", "property_body", "property_body_directives",
+- "property_body_directive", "name_or_string", "optslot", "dtor", "@15",
+- "dtor_decl", "ctor", "@16", "simplector", "optctorsig", "@17", "optsig",
+- "@18", "function", "operatorname", "optconst", "optfinal", "optabstract",
+- "optflags", "flaglist", "flag", "flagvalue", "virtualcallcode",
+- "methodcode", "premethodcode", "virtualcatchercode", "arglist",
+- "rawarglist", "argvalue", "varmember", "@19", "@20", "simple_varmem",
+- "@21", "varmem", "member", "@22", "variable", "variable_body",
+- "variable_body_directives", "variable_body_directive", "cpptype",
+- "argtype", "optref", "deref", "basetype", "cpptypelist", "optexceptions",
+- "exceptionlist", 0
++ "property_body_directive", "name_or_string", "optslot", "dtor", "$@15",
++ "dtor_decl", "ctor", "$@16", "simplector", "optctorsig", "$@17",
++ "optsig", "$@18", "function", "operatorname", "optconst", "optfinal",
++ "optabstract", "optflags", "flaglist", "flag", "flagvalue",
++ "virtualcallcode", "methodcode", "premethodcode", "virtualcatchercode",
++ "arglist", "rawarglist", "argvalue", "varmember", "$@19", "$@20",
++ "simple_varmem", "$@21", "varmem", "member", "$@22", "variable",
++ "variable_body", "variable_body_directives", "variable_body_directive",
++ "cpptype", "argtype", "optref", "deref", "basetype", "cpptypelist",
++ "optexceptions", "exceptionlist", YY_NULLPTR
+ };
++
++static const char *
++yysymbol_name (yysymbol_kind_t yysymbol)
++{
++ return yytname[yysymbol];
++}
+ #endif
+
+-# ifdef YYPRINT
+-/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+- token YYLEX-NUM. */
+-static const yytype_uint16 yytoknum[] =
+-{
+- 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
+- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
+- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
+- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
+- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
+- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
+- 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
+- 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
+- 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+- 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
+- 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+- 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
+- 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
+- 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+- 405, 406, 40, 41, 44, 61, 123, 125, 59, 33,
+- 45, 43, 42, 47, 38, 124, 126, 60, 62, 58,
+- 91, 93, 37, 94
+-};
+-# endif
++#define YYPACT_NINF (-840)
+
+-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+-static const yytype_uint16 yyr1[] =
+-{
+- 0, 174, 175, 175, 177, 176, 178, 178, 178, 178,
+- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
+- 178, 178, 178, 178, 179, 179, 179, 179, 179, 179,
+- 179, 179, 179, 179, 179, 179, 180, 181, 181, 182,
+- 182, 183, 184, 185, 185, 186, 186, 187, 188, 189,
+- 189, 190, 190, 191, 192, 193, 193, 194, 194, 195,
+- 196, 197, 197, 198, 198, 199, 200, 201, 201, 202,
+- 202, 203, 203, 204, 205, 205, 206, 207, 207, 208,
+- 208, 208, 208, 209, 211, 210, 213, 212, 214, 215,
+- 215, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+- 217, 219, 218, 220, 220, 221, 221, 223, 222, 224,
+- 224, 225, 226, 227, 227, 228, 228, 229, 231, 230,
+- 232, 232, 233, 235, 234, 236, 236, 236, 236, 237,
+- 237, 238, 239, 240, 240, 240, 241, 241, 242, 242,
+- 242, 242, 243, 244, 244, 245, 245, 246, 247, 248,
+- 248, 249, 249, 250, 251, 252, 252, 253, 253, 254,
+- 255, 256, 256, 257, 257, 258, 259, 259, 260, 260,
+- 261, 261, 261, 262, 263, 263, 264, 264, 265, 266,
+- 266, 267, 267, 268, 268, 268, 269, 269, 271, 270,
+- 270, 272, 272, 273, 273, 273, 273, 273, 273, 273,
+- 273, 273, 274, 274, 275, 275, 276, 276, 276, 276,
+- 277, 277, 278, 278, 279, 280, 280, 281, 281, 282,
+- 282, 283, 284, 285, 285, 286, 286, 287, 288, 288,
+- 289, 289, 290, 290, 291, 292, 293, 294, 295, 296,
+- 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
+- 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+- 317, 318, 319, 320, 321, 321, 322, 323, 324, 324,
+- 324, 325, 325, 326, 326, 327, 327, 328, 329, 329,
+- 330, 330, 331, 331, 332, 333, 334, 334, 336, 335,
+- 337, 337, 337, 338, 338, 339, 339, 340, 340, 341,
+- 341, 342, 342, 342, 343, 343, 344, 344, 345, 345,
+- 346, 346, 347, 347, 347, 347, 347, 347, 348, 348,
+- 348, 348, 348, 348, 348, 349, 350, 350, 351, 351,
+- 352, 352, 353, 354, 354, 355, 355, 355, 355, 355,
+- 355, 355, 355, 355, 356, 356, 356, 357, 357, 359,
+- 360, 358, 362, 361, 363, 365, 366, 364, 367, 367,
+- 368, 368, 369, 370, 370, 370, 370, 371, 371, 372,
+- 372, 372, 373, 373, 373, 373, 373, 373, 373, 373,
+- 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
+- 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
+- 373, 373, 373, 373, 373, 373, 373, 374, 375, 376,
+- 376, 377, 377, 377, 378, 378, 379, 379, 380, 380,
+- 380, 381, 381, 382, 382, 384, 383, 383, 385, 387,
+- 386, 386, 388, 389, 390, 389, 391, 392, 391, 393,
+- 393, 393, 393, 394, 394, 394, 394, 394, 394, 394,
+- 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
+- 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
+- 394, 394, 395, 395, 396, 396, 397, 397, 398, 398,
+- 399, 399, 400, 400, 401, 401, 401, 401, 402, 402,
+- 403, 403, 404, 404, 405, 405, 406, 407, 407, 407,
+- 408, 408, 408, 408, 408, 408, 408, 408, 408, 410,
+- 409, 411, 409, 409, 413, 412, 412, 414, 414, 416,
+- 415, 415, 417, 418, 418, 419, 419, 420, 420, 420,
+- 420, 420, 421, 421, 422, 423, 423, 424, 424, 424,
+- 425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
+- 425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
+- 425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
+- 425, 426, 426, 427, 427, 428, 428, 428
+-};
++#define yypact_value_is_default(Yyn) \
++ ((Yyn) == YYPACT_NINF)
+
+-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
+-static const yytype_uint8 yyr2[] =
++#define YYTABLE_NINF (-564)
++
++#define yytable_value_is_error(Yyn) \
++ 0
++
++/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
++ STATE-NUM. */
++static const yytype_int16 yypact[] =
+ {
+- 0, 2, 1, 2, 0, 2, 1, 1, 1, 1,
+- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+- 1, 1, 1, 1, 1, 1, 2, 1, 3, 1,
+- 3, 3, 2, 1, 3, 1, 3, 3, 2, 1,
+- 3, 1, 3, 3, 2, 1, 3, 1, 3, 3,
+- 3, 1, 3, 1, 3, 3, 2, 2, 3, 1,
+- 3, 3, 3, 5, 0, 3, 4, 1, 2, 1,
+- 1, 1, 1, 2, 0, 5, 0, 6, 4, 1,
+- 2, 1, 1, 1, 1, 2, 2, 1, 1, 1,
+- 14, 0, 5, 0, 3, 1, 2, 0, 5, 1,
+- 2, 1, 2, 1, 3, 1, 3, 3, 0, 5,
+- 1, 2, 1, 0, 5, 1, 2, 3, 4, 1,
+- 3, 1, 3, 0, 1, 3, 1, 3, 3, 3,
+- 3, 3, 2, 1, 3, 1, 3, 3, 2, 1,
+- 3, 1, 3, 3, 2, 1, 3, 1, 3, 3,
+- 3, 1, 3, 1, 3, 3, 0, 4, 1, 2,
+- 1, 1, 1, 3, 1, 3, 1, 3, 3, 0,
+- 4, 1, 2, 1, 1, 1, 3, 3, 0, 3,
+- 3, 1, 3, 3, 3, 3, 3, 3, 3, 3,
+- 3, 3, 0, 4, 1, 2, 1, 1, 1, 1,
+- 1, 1, 0, 1, 2, 1, 3, 1, 3, 3,
+- 3, 2, 2, 1, 3, 1, 3, 3, 0, 2,
+- 0, 2, 0, 2, 2, 2, 2, 2, 2, 2,
+- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+- 2, 2, 2, 3, 1, 3, 3, 3, 0, 1,
+- 3, 1, 3, 3, 3, 0, 1, 3, 1, 3,
+- 1, 3, 3, 3, 4, 2, 1, 2, 0, 9,
+- 0, 1, 1, 0, 1, 0, 1, 0, 1, 1,
+- 2, 1, 1, 4, 0, 1, 0, 2, 0, 2,
+- 1, 3, 1, 1, 1, 1, 1, 1, 0, 1,
+- 1, 1, 1, 1, 1, 3, 0, 3, 2, 1,
+- 1, 3, 1, 1, 1, 1, 4, 2, 1, 1,
+- 1, 1, 1, 1, 0, 1, 3, 6, 12, 0,
+- 0, 8, 0, 3, 4, 0, 0, 8, 0, 2,
+- 1, 3, 2, 0, 1, 1, 1, 0, 3, 0,
+- 1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
+- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+- 2, 2, 2, 3, 3, 3, 2, 3, 3, 1,
+- 3, 3, 3, 3, 0, 4, 1, 2, 1, 1,
+- 1, 1, 1, 0, 1, 0, 3, 1, 11, 0,
+- 3, 1, 11, 0, 0, 6, 0, 0, 7, 17,
+- 7, 17, 16, 1, 1, 1, 1, 1, 1, 1,
+- 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+- 2, 3, 3, 1, 2, 2, 1, 2, 2, 2,
+- 1, 2, 0, 1, 0, 1, 0, 2, 0, 3,
+- 1, 3, 1, 3, 1, 5, 1, 1, 0, 2,
+- 0, 2, 0, 2, 0, 2, 1, 0, 1, 3,
+- 4, 4, 4, 3, 3, 6, 6, 3, 2, 0,
+- 3, 0, 3, 1, 0, 3, 1, 1, 1, 0,
+- 3, 1, 8, 0, 3, 1, 2, 1, 1, 2,
+- 2, 2, 4, 3, 3, 0, 1, 0, 3, 2,
+- 1, 4, 2, 2, 1, 1, 2, 1, 1, 2,
+- 2, 3, 1, 1, 1, 2, 2, 1, 1, 1,
+- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+- 1, 1, 3, 0, 4, 0, 1, 3
++ -840, 125, -840, 1218, -840, -840, 42, -2, 54, 55,
++ 58, 74, 100, 100, 100, 100, 75, 181, 100, 100,
++ 100, 100, 100, 100, 100, 100, 1542, 51, -840, -840,
++ 23, 228, 46, 100, 100, 100, 48, 238, 62, 64,
++ 84, 84, -840, -840, -840, 190, -840, -840, -840, -840,
++ -840, -840, -840, -840, -840, -840, -840, -840, -840, 218,
++ 224, 277, 279, 1542, -840, -840, 1506, 309, -840, -840,
++ 76, 59, 1506, 84, 203, -840, 66, 68, 53, -840,
++ -840, -840, -840, -840, -840, -840, -840, -840, -840, -840,
++ -840, -840, -840, -840, -840, -840, -840, -840, -840, -840,
++ -840, -840, -840, -840, -840, -840, -840, -840, -840, -840,
++ -840, -840, -840, -840, -840, -840, -840, -840, -840, -840,
++ -840, -840, -840, -840, 206, 285, -840, -840, -840, -840,
++ 359, -840, -840, -840, 79, -840, 297, -26, -840, -840,
++ 254, -840, -840, 268, -840, -840, 271, -840, -840, 281,
++ -840, -840, 286, 100, -840, -840, 257, -840, -840, -840,
++ -840, 101, 100, 395, -840, -840, -840, -840, -840, -840,
++ -840, -840, 84, 276, -840, -840, 158, -840, -840, -840,
++ 298, -840, -840, -840, -840, -840, -840, 338, 287, -840,
++ 335, 324, 342, -840, 331, 344, -840, -840, 18, -840,
++ -840, -840, 418, -840, -840, -840, 447, -840, 285, -840,
++ 77, -840, 378, 380, -840, 400, -840, -840, 171, 276,
++ 388, 390, 1506, 404, -840, -840, 406, -840, -840, 407,
++ -840, -840, 1506, 279, 1542, 482, -49, 234, 146, -840,
++ 391, 392, 169, -840, 393, 210, -840, 396, 214, -840,
++ 399, 222, -840, 401, 295, -840, 402, 306, -840, -840,
++ -840, -840, 403, 405, 312, -840, -840, -840, 100, -840,
++ 516, -840, 4, 408, 409, 316, -840, 410, 323, -840,
++ 412, 413, 414, 416, 417, 419, 420, 421, 422, 423,
++ 326, -840, 244, -840, 335, -840, -840, 424, 337, -840,
++ 267, -840, 425, 339, -840, 267, -840, 381, 381, -840,
++ 276, -840, 146, 276, 397, 426, 528, 529, 428, 341,
++ -840, 429, 430, 431, 432, 343, -840, -840, 1279, 84,
++ 276, -840, -21, 433, 349, -840, 435, 352, -840, 436,
++ 354, -840, -9, -840, 276, -840, 1279, 437, 439, 105,
++ 440, 441, 442, 443, 444, 449, 450, -840, 34, -34,
++ 438, 451, 452, 456, 486, -840, -840, 314, 488, -840,
++ -26, 567, -840, 254, 575, -840, 268, 576, -840, 271,
++ 579, -840, 281, 580, -840, 286, 581, 513, -840, 101,
++ -840, 465, -11, -840, 466, 461, 590, 530, 472, 467,
++ 592, 394, -840, 158, 594, -840, 298, 595, 596, 238,
++ 394, 394, 394, 394, 394, 599, 523, -840, 338, 485,
++ 81, -840, -840, 36, -840, -840, -840, -840, 238, -840,
++ 324, -840, -840, 38, -840, -840, 238, -840, 331, -840,
++ -840, 45, -840, -840, 315, 276, 276, -840, -840, 480,
++ 606, 253, 483, -840, -1, -840, -840, 33, -840, 314,
++ -840, 400, 605, 607, 608, 609, -840, 171, 418, 418,
++ 418, 418, 418, 493, 494, 418, 495, 497, -840, 418,
++ 492, 496, 498, 1506, -840, 238, -840, 404, 238, -840,
++ 406, 84, -840, 407, -840, -840, 499, 288, 500, -840,
++ 1506, -840, -840, -840, -840, -840, -840, -840, -840, -840,
++ 502, -840, 504, -840, -840, -840, 1279, -840, -840, -840,
++ -840, -840, -840, -840, -840, -840, -840, -840, -840, -840,
++ -840, -840, -840, -840, -840, -840, 93, 516, -840, 334,
++ -840, -840, 11, -840, 418, -840, -840, -840, -840, -840,
++ -840, -840, -840, -840, -840, -840, -840, -840, -840, -840,
++ -840, -840, -840, 515, -840, -840, 128, 100, 505, -840,
++ -840, -840, 506, -840, -840, -840, 507, -840, -840, -840,
++ -840, 508, -840, 84, -840, -840, 510, 642, 517, -840,
++ 735, -840, -840, -840, -840, -840, -840, -840, -840, -840,
++ -840, -840, -840, -840, 276, 276, 276, 276, 276, 1279,
++ 1279, 276, 573, 1279, 276, 519, -840, -840, 232, -840,
++ -840, -840, -840, -840, -840, -840, -840, 466, 573, 100,
++ 100, 100, -840, -840, 56, -840, 656, 520, -840, -840,
++ 521, 509, -840, -840, -840, -840, -840, 100, 100, 100,
++ 100, 1506, 134, -840, -840, -840, -840, -840, -840, -840,
++ -840, -840, 643, -840, 522, 358, -840, 525, 526, 360,
++ -840, -840, -840, -840, -840, 315, -840, 527, 527, 389,
++ -840, -840, 533, -840, -840, 492, 492, 492, -840, -840,
++ 535, 536, -840, -840, 561, -840, -840, 84, 293, -840,
++ 272, 100, 47, -840, -840, -840, -840, -840, -840, 561,
++ -840, -840, -840, -840, -840, 100, 673, 534, 573, 335,
++ -840, -840, -840, -840, 658, 537, -840, -840, 659, -840,
++ 515, 661, 662, -840, 128, -840, 1092, 540, 541, 538,
++ -840, -840, 545, 389, -840, 1506, -840, -840, -840, 418,
++ 418, -840, 584, 552, -840, -840, -840, -840, -840, -840,
++ 519, -840, -840, -840, -840, -840, -840, 843, -840, 548,
++ -840, 584, -840, 100, 690, -840, 561, 549, 558, -840,
++ -840, -840, -840, -840, -840, 100, 100, 559, 100, 100,
++ 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
++ 644, 644, 644, 543, -840, -840, 547, -840, -840, 563,
++ 683, -840, -840, -840, -840, -840, -840, -840, -840, -840,
++ -840, -840, -840, -840, -840, -840, -840, -840, -840, -840,
++ -840, -840, -840, -840, -840, 983, -840, -840, -840, -840,
++ -840, -840, -840, -840, -840, -840, -840, -840, -840, -840,
++ 519, 276, 562, -840, 362, 276, 276, 565, 564, -840,
++ -840, -840, -840, -840, -840, -840, 568, -30, -840, -840,
++ 569, -840, 564, -840, 100, -840, 584, 335, 1279, -840,
++ -840, 1279, -840, -840, -840, -840, -840, -840, -840, -840,
++ -840, -840, -840, -840, -840, 553, 555, 560, -840, 1336,
++ 1336, 566, 1450, 1393, 694, 156, 572, 578, -840, -840,
++ -840, 577, -840, 276, -840, -840, 84, 627, 276, -840,
++ 274, 276, -840, 564, -840, 583, 585, -840, -840, -840,
++ -840, -840, -840, -840, -840, 90, -840, 559, -840, 582,
++ 586, 587, 364, -840, 267, -840, 593, -840, -840, 589,
++ -840, 367, -840, 570, 293, 373, 570, 276, 573, 584,
++ 591, 701, 314, 712, -840, 156, -840, -840, -840, 52,
++ -840, 584, 642, -840, 84, -840, 597, -840, 519, 600,
++ 570, 584, 276, -840, -840, -840, -840, 602, -840, 564,
++ -840, -840, 1506, 700, 293, 642, 603, 276, 616, -840,
++ 276, 598, 100, 702, 700, 700, 570, -840, 611, 612,
++ 1279, -840, 100, 715, 702, 702, 615, 601, 642, 700,
++ 604, -840, 100, 706, 715, 715, 642, 1279, 700, 702,
++ 617, -840, 100, -840, 706, 706, 700, 610, 702, 715,
++ -840, -840, -840, -840, 702, 618, -840, -840, -840, -840
+ };
+
+-/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+- STATE-NUM when YYTABLE doesn't specify something else to do. Zero
++/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
++ Performed when YYTABLE does not specify something else to do. Zero
+ means the default is an error. */
+-static const yytype_uint16 yydefact[] =
++static const yytype_int16 yydefact[] =
+ {
+ 4, 4, 2, 0, 1, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 151, 352,
++ 0, 0, 0, 0, 0, 0, 0, 0, 151, 353,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 574, 564, 567, 568, 572, 573, 577, 578,
+- 579, 580, 581, 582, 583, 584, 585, 586, 587, 310,
+- 0, 565, 0, 0, 588, 589, 0, 0, 138, 127,
+- 0, 153, 0, 0, 0, 590, 0, 0, 0, 5,
++ 0, 0, 575, 565, 568, 569, 573, 574, 578, 579,
++ 580, 581, 582, 583, 584, 585, 586, 587, 588, 311,
++ 0, 566, 0, 0, 589, 590, 0, 0, 138, 127,
++ 0, 153, 0, 0, 0, 591, 0, 0, 0, 5,
+ 43, 19, 20, 21, 9, 42, 14, 50, 40, 41,
+ 46, 16, 17, 15, 44, 45, 18, 22, 23, 24,
+ 7, 8, 6, 11, 12, 13, 10, 25, 26, 55,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+- 37, 38, 39, 52, 560, 349, 350, 51, 47, 49,
+- 372, 48, 53, 54, 0, 557, 0, 0, 86, 57,
++ 37, 38, 39, 52, 561, 350, 351, 51, 47, 49,
++ 373, 48, 53, 54, 0, 558, 0, 0, 86, 57,
+ 0, 56, 63, 0, 62, 69, 0, 68, 75, 0,
+- 74, 81, 0, 0, 306, 277, 0, 278, 280, 281,
+- 298, 0, 0, 313, 271, 272, 273, 274, 275, 269,
+- 276, 254, 0, 498, 143, 235, 0, 234, 241, 243,
+- 0, 242, 255, 256, 257, 230, 231, 0, 222, 208,
+- 232, 0, 186, 181, 0, 199, 194, 375, 369, 570,
+- 311, 312, 315, 575, 563, 566, 569, 576, 348, 557,
+- 0, 121, 0, 0, 133, 0, 132, 154, 0, 498,
++ 74, 81, 0, 0, 307, 278, 0, 279, 281, 282,
++ 299, 0, 0, 314, 272, 273, 274, 275, 276, 270,
++ 277, 255, 0, 499, 143, 236, 0, 235, 242, 244,
++ 0, 243, 256, 257, 258, 231, 232, 0, 223, 208,
++ 233, 0, 186, 181, 0, 199, 194, 376, 370, 571,
++ 312, 313, 316, 576, 564, 567, 570, 577, 349, 558,
++ 0, 121, 0, 0, 133, 0, 132, 154, 0, 499,
+ 0, 94, 0, 0, 162, 163, 0, 168, 169, 0,
+- 174, 175, 0, 0, 0, 0, 498, 0, 555, 87,
++ 174, 175, 0, 0, 0, 0, 499, 0, 556, 87,
+ 0, 0, 0, 89, 0, 0, 59, 0, 0, 65,
+ 0, 0, 71, 0, 0, 77, 0, 0, 83, 80,
+- 307, 305, 0, 0, 0, 300, 297, 314, 0, 562,
+- 0, 104, 315, 0, 0, 0, 237, 0, 0, 245,
++ 308, 306, 0, 0, 0, 301, 298, 315, 0, 563,
++ 0, 104, 316, 0, 0, 0, 238, 0, 0, 246,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 211, 0, 206, 232, 233, 207, 0, 0, 183, 0,
+- 180, 0, 0, 196, 0, 193, 378, 378, 316, 498,
+- 571, 555, 498, 0, 123, 0, 0, 0, 0, 135,
+- 0, 0, 0, 0, 0, 156, 152, 517, 0, 498,
+- 591, 0, 0, 0, 165, 0, 0, 171, 0, 0,
+- 177, 0, 351, 498, 373, 517, 543, 0, 0, 0,
+- 464, 463, 465, 466, 468, 469, 483, 486, 490, 0,
+- 467, 470, 0, 559, 556, 553, 0, 0, 88, 0,
+- 0, 58, 0, 0, 64, 0, 0, 70, 0, 0,
+- 76, 0, 0, 82, 0, 0, 0, 299, 0, 304,
+- 502, 0, 500, 0, 145, 0, 149, 0, 0, 0,
+- 0, 236, 0, 0, 244, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 210, 0, 0, 288, 226,
+- 227, 0, 224, 228, 229, 209, 0, 182, 0, 190,
+- 191, 0, 188, 192, 0, 195, 0, 203, 204, 0,
+- 201, 205, 383, 498, 498, 308, 552, 0, 0, 0,
+- 0, 142, 0, 140, 131, 0, 129, 0, 134, 0,
+- 0, 0, 0, 0, 155, 0, 315, 315, 315, 315,
+- 315, 0, 0, 315, 0, 516, 518, 315, 328, 0,
+- 0, 0, 374, 0, 164, 0, 0, 170, 0, 0,
+- 176, 0, 561, 106, 0, 0, 0, 484, 0, 488,
+- 489, 474, 473, 475, 476, 478, 479, 487, 471, 491,
+- 472, 485, 477, 480, 517, 558, 441, 442, 91, 92,
+- 90, 61, 60, 67, 66, 73, 72, 79, 78, 85,
+- 84, 302, 303, 301, 0, 0, 499, 0, 105, 146,
+- 0, 144, 315, 239, 353, 354, 240, 238, 247, 246,
+- 213, 214, 215, 216, 217, 218, 219, 220, 221, 212,
+- 0, 282, 289, 0, 0, 0, 225, 185, 184, 0,
+- 189, 198, 197, 0, 202, 384, 385, 386, 379, 380,
+- 0, 376, 370, 0, 295, 0, 125, 0, 372, 122,
+- 139, 141, 128, 130, 137, 136, 159, 160, 161, 158,
+- 157, 498, 498, 498, 498, 498, 517, 517, 498, 492,
+- 0, 498, 346, 528, 95, 0, 93, 592, 167, 166,
+- 173, 172, 179, 178, 0, 492, 0, 0, 0, 547,
+- 548, 0, 545, 248, 0, 481, 482, 0, 230, 506,
+- 507, 504, 503, 501, 0, 0, 0, 0, 0, 0,
+- 109, 119, 111, 112, 113, 117, 114, 118, 147, 0,
+- 150, 0, 0, 284, 0, 0, 0, 291, 287, 223,
+- 187, 200, 383, 382, 387, 387, 317, 296, 367, 0,
+- 124, 126, 328, 328, 328, 523, 524, 0, 0, 527,
+- 493, 494, 519, 554, 0, 329, 330, 338, 0, 0,
+- 97, 101, 99, 100, 102, 107, 494, 549, 550, 551,
+- 544, 546, 0, 250, 0, 492, 232, 270, 266, 115,
+- 116, 0, 0, 110, 148, 0, 283, 0, 0, 0,
+- 290, 0, 381, 389, 0, 0, 326, 321, 322, 0,
+- 318, 319, 0, 520, 521, 522, 315, 315, 495, 593,
+- 0, 332, 333, 334, 335, 336, 337, 346, 339, 341,
+- 342, 343, 344, 340, 0, 103, 0, 98, 593, 249,
+- 0, 252, 460, 494, 0, 0, 108, 286, 285, 293,
+- 294, 292, 0, 0, 352, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 443, 443, 443,
+- 0, 529, 531, 539, 534, 449, 0, 0, 398, 394,
+- 392, 393, 404, 405, 406, 407, 408, 409, 410, 411,
+- 412, 413, 414, 415, 403, 416, 402, 400, 399, 395,
+- 397, 396, 0, 390, 401, 418, 447, 417, 451, 541,
+- 419, 533, 536, 537, 538, 377, 371, 346, 498, 0,
+- 320, 0, 498, 498, 0, 496, 347, 331, 362, 359,
+- 358, 363, 361, 0, 355, 360, 345, 0, 96, 496,
+- 251, 0, 542, 593, 232, 517, 279, 268, 517, 258,
+- 259, 260, 261, 262, 263, 264, 265, 267, 422, 421,
+- 420, 444, 0, 0, 0, 426, 0, 0, 0, 0,
+- 0, 0, 0, 434, 0, 388, 391, 327, 324, 309,
+- 498, 525, 526, 595, 0, 498, 357, 346, 498, 253,
+- 496, 505, 0, 0, 423, 424, 425, 539, 530, 532,
+- 446, 540, 0, 535, 0, 450, 0, 0, 0, 0,
+- 429, 0, 427, 0, 325, 323, 0, 596, 0, 497,
+- 456, 365, 0, 456, 498, 492, 593, 0, 0, 0,
+- 0, 428, 0, 438, 439, 440, 0, 436, 593, 295,
+- 594, 0, 457, 0, 356, 346, 0, 456, 593, 498,
+- 431, 432, 433, 430, 0, 437, 496, 368, 597, 0,
+- 512, 366, 295, 0, 498, 453, 435, 498, 0, 0,
+- 510, 512, 512, 456, 454, 0, 0, 517, 513, 0,
+- 514, 510, 510, 0, 0, 295, 512, 0, 511, 0,
+- 508, 514, 514, 295, 517, 512, 510, 0, 515, 0,
+- 462, 508, 508, 512, 0, 510, 514, 458, 509, 459,
+- 461, 510, 0, 452, 448, 120, 455
++ 0, 211, 0, 206, 233, 234, 207, 0, 0, 183,
++ 0, 180, 0, 0, 196, 0, 193, 379, 379, 317,
++ 499, 572, 556, 499, 0, 123, 0, 0, 0, 0,
++ 135, 0, 0, 0, 0, 0, 156, 152, 518, 0,
++ 499, 592, 0, 0, 0, 165, 0, 0, 171, 0,
++ 0, 177, 0, 352, 499, 374, 518, 544, 0, 0,
++ 0, 465, 464, 466, 467, 469, 470, 484, 487, 491,
++ 0, 468, 471, 0, 560, 557, 554, 0, 0, 88,
++ 0, 0, 58, 0, 0, 64, 0, 0, 70, 0,
++ 0, 76, 0, 0, 82, 0, 0, 0, 300, 0,
++ 305, 503, 0, 501, 0, 145, 0, 149, 0, 0,
++ 0, 0, 237, 0, 0, 245, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 210, 0, 0,
++ 289, 227, 228, 0, 225, 229, 230, 209, 0, 182,
++ 0, 190, 191, 0, 188, 192, 0, 195, 0, 203,
++ 204, 0, 201, 205, 384, 499, 499, 309, 553, 0,
++ 0, 0, 0, 142, 0, 140, 131, 0, 129, 0,
++ 134, 0, 0, 0, 0, 0, 155, 0, 316, 316,
++ 316, 316, 316, 0, 0, 316, 0, 517, 519, 316,
++ 329, 0, 0, 0, 375, 0, 164, 0, 0, 170,
++ 0, 0, 176, 0, 562, 106, 0, 0, 0, 485,
++ 0, 489, 490, 475, 474, 476, 477, 479, 480, 488,
++ 472, 492, 473, 486, 478, 481, 518, 559, 442, 443,
++ 91, 92, 90, 61, 60, 67, 66, 73, 72, 79,
++ 78, 85, 84, 303, 304, 302, 0, 0, 500, 0,
++ 105, 146, 0, 144, 316, 240, 354, 355, 241, 239,
++ 248, 247, 213, 214, 215, 216, 217, 218, 219, 220,
++ 221, 222, 212, 0, 283, 290, 0, 0, 0, 226,
++ 185, 184, 0, 189, 198, 197, 0, 202, 385, 386,
++ 387, 380, 381, 0, 377, 371, 0, 296, 0, 125,
++ 0, 373, 122, 139, 141, 128, 130, 137, 136, 159,
++ 160, 161, 158, 157, 499, 499, 499, 499, 499, 518,
++ 518, 499, 493, 0, 499, 347, 529, 95, 0, 93,
++ 593, 167, 166, 173, 172, 179, 178, 0, 493, 0,
++ 0, 0, 548, 549, 0, 546, 249, 0, 482, 483,
++ 0, 231, 507, 508, 505, 504, 502, 0, 0, 0,
++ 0, 0, 0, 109, 119, 111, 112, 113, 117, 114,
++ 118, 147, 0, 150, 0, 0, 285, 0, 0, 0,
++ 292, 288, 224, 187, 200, 384, 383, 388, 388, 318,
++ 297, 368, 0, 124, 126, 329, 329, 329, 524, 525,
++ 0, 0, 528, 494, 495, 520, 555, 0, 330, 331,
++ 339, 0, 0, 97, 101, 99, 100, 102, 107, 495,
++ 550, 551, 552, 545, 547, 0, 251, 0, 493, 233,
++ 271, 267, 115, 116, 0, 0, 110, 148, 0, 284,
++ 0, 0, 0, 291, 0, 382, 390, 0, 0, 327,
++ 322, 323, 0, 319, 320, 0, 521, 522, 523, 316,
++ 316, 496, 594, 0, 333, 334, 335, 336, 337, 338,
++ 347, 340, 342, 343, 344, 345, 341, 0, 103, 0,
++ 98, 594, 250, 0, 253, 461, 495, 0, 0, 108,
++ 287, 286, 294, 295, 293, 0, 0, 353, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 444, 444, 444, 0, 530, 532, 540, 535, 450, 0,
++ 0, 399, 395, 393, 394, 405, 406, 407, 408, 409,
++ 410, 411, 412, 413, 414, 415, 416, 404, 417, 403,
++ 401, 400, 396, 398, 397, 0, 391, 402, 419, 448,
++ 418, 452, 542, 420, 534, 537, 538, 539, 378, 372,
++ 347, 499, 0, 321, 0, 499, 499, 0, 497, 348,
++ 332, 363, 360, 359, 364, 362, 0, 356, 361, 346,
++ 0, 96, 497, 252, 0, 543, 594, 233, 518, 280,
++ 269, 518, 259, 260, 261, 262, 263, 264, 265, 266,
++ 268, 423, 422, 421, 445, 0, 0, 0, 427, 0,
++ 0, 0, 0, 0, 0, 0, 435, 0, 389, 392,
++ 328, 325, 310, 499, 526, 527, 596, 0, 499, 358,
++ 347, 499, 254, 497, 506, 0, 0, 424, 425, 426,
++ 540, 531, 533, 447, 541, 0, 536, 0, 451, 0,
++ 0, 0, 0, 430, 0, 428, 0, 326, 324, 0,
++ 597, 0, 498, 457, 366, 0, 457, 499, 493, 594,
++ 0, 0, 0, 0, 429, 0, 439, 440, 441, 0,
++ 437, 594, 296, 595, 0, 458, 0, 357, 347, 0,
++ 457, 594, 499, 432, 433, 434, 431, 0, 438, 497,
++ 369, 598, 0, 513, 367, 296, 0, 499, 454, 436,
++ 499, 0, 0, 511, 513, 513, 457, 455, 0, 0,
++ 518, 514, 0, 515, 511, 511, 0, 0, 296, 513,
++ 0, 512, 0, 509, 515, 515, 296, 518, 513, 511,
++ 0, 516, 0, 463, 509, 509, 513, 0, 511, 515,
++ 459, 510, 460, 462, 511, 0, 453, 449, 120, 456
++};
++
++/* YYPGOTO[NTERM-NUM]. */
++static const yytype_int16 yypgoto[] =
++{
++ -840, -840, 754, -840, -840, -408, -840, -840, -840, 434,
++ -840, -840, -840, 415, -840, -840, -840, 386, -840, -840,
++ -840, 384, -840, -840, -840, 411, -840, -840, -840, 427,
++ -622, -840, -840, -840, 91, -840, -840, -840, -840, -840,
++ 165, -840, 143, -840, -615, -840, -840, -840, -840, -840,
++ -840, 345, -840, -840, -840, 340, -840, -840, -840, 350,
++ -264, -840, -840, -840, -261, -840, -840, -840, 363, -840,
++ -840, -840, 311, -840, -840, -840, 346, -840, -840, -840,
++ 332, -840, -840, -840, 375, -840, -840, 445, -840, -840,
++ -840, 446, -840, -840, 398, -840, -840, -840, -840, 448,
++ -840, -840, 453, 17, -276, -840, -840, -840, 455, -840,
++ -840, -840, -840, 457, -840, -840, -840, -840, -840, -840,
++ -513, -840, -840, -840, -840, -840, -840, -840, -840, -595,
++ -840, -840, -840, -593, -840, -840, -840, -840, -840, -840,
++ -840, -840, -840, -840, -840, -840, -840, -840, 102, -268,
++ -840, -840, 99, -839, -840, -840, -840, 454, -840, -13,
++ -840, -510, -840, -840, -840, -225, -840, -840, 94, -840,
++ -840, -239, -790, -840, -840, -653, -840, -27, 772, 613,
++ -351, -840, -840, -578, -573, -840, -840, -561, -840, 835,
++ -216, -840, -840, 539, -840, 167, -840, 170, -840, 15,
++ -840, -840, -840, -116, -840, -840, -118, -436, -272, -840,
++ -840, -48, -840, -840, -52, -840, -840, -788, -840, 12,
++ -840, -598, -644, -837, -194, -840, 318, -840, -503, -734,
++ -735, -786, -342, -840, 243, -840, -840, -840, -366, -840,
++ -44, -840, -840, 14, -840, -840, 230, 0, -840, 556,
++ 660, -10, -205, -722, -840
+ };
+
+ /* YYDEFGOTO[NTERM-NUM]. */
+ static const yytype_int16 yydefgoto[] =
+ {
+- -1, 1, 2, 3, 79, 80, 81, 141, 245, 246,
++ 0, 1, 2, 3, 79, 80, 81, 141, 245, 246,
+ 82, 144, 248, 249, 83, 147, 251, 252, 84, 150,
+ 254, 255, 85, 153, 257, 258, 86, 138, 242, 243,
+- 87, 329, 616, 699, 700, 701, 88, 393, 89, 624,
+- 538, 649, 650, 651, 90, 314, 450, 587, 91, 213,
+- 455, 456, 92, 216, 318, 319, 93, 212, 452, 453,
+- 94, 272, 396, 397, 95, 96, 219, 324, 325, 97,
+- 224, 333, 334, 98, 227, 336, 337, 99, 230, 339,
+- 340, 100, 192, 297, 298, 300, 431, 432, 101, 195,
+- 302, 303, 305, 439, 440, 102, 188, 293, 289, 290,
+- 292, 421, 422, 189, 295, 103, 177, 275, 276, 104,
+- 105, 181, 278, 279, 713, 771, 872, 106, 107, 108,
+- 109, 813, 814, 815, 816, 817, 818, 819, 820, 655,
+- 822, 823, 110, 656, 111, 112, 113, 114, 115, 116,
+- 117, 118, 825, 119, 120, 423, 561, 662, 663, 677,
+- 564, 666, 667, 678, 121, 162, 264, 265, 122, 155,
+- 156, 123, 583, 202, 268, 309, 739, 740, 741, 945,
+- 848, 613, 695, 757, 764, 696, 697, 124, 125, 126,
+- 546, 866, 952, 127, 128, 307, 675, 129, 235, 588,
+- 131, 306, 674, 443, 578, 579, 580, 734, 832, 833,
+- 834, 903, 939, 940, 942, 966, 967, 518, 892, 835,
+- 898, 836, 837, 901, 838, 1005, 1014, 973, 989, 839,
+- 362, 691, 749, 915, 271, 391, 392, 642, 1030, 1010,
+- 1000, 1020, 474, 475, 476, 840, 896, 897, 841, 900,
+- 842, 843, 899, 844, 496, 631, 632, 477, 478, 365,
+- 238, 135, 331, 855, 948
+-};
+-
+-/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+- STATE-NUM. */
+-#define YYPACT_NINF -823
+-static const yytype_int16 yypact[] =
+-{
+- -823, 143, -823, 1215, -823, -823, -1, 60, 86, 87,
+- 68, 69, 119, 119, 119, 119, 71, 24, 119, 119,
+- 119, 119, 119, 119, 119, 119, 1503, 8, -823, -823,
+- 13, 137, 34, 119, 119, 119, 46, 322, 50, 52,
+- 85, 85, -823, -823, -823, 111, -823, -823, -823, -823,
+- -823, -823, -823, -823, -823, -823, -823, -823, -823, 364,
+- 154, 296, 217, 1503, -823, -823, 497, 270, -823, -823,
+- 74, 89, 497, 85, 102, -823, 63, 65, 67, -823,
+- -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
+- -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
+- -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
+- -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
+- -823, -823, -823, -823, 140, 167, -823, -823, -823, -823,
+- 311, -823, -823, -823, 94, -823, 219, 160, -823, -823,
+- 207, -823, -823, 214, -823, -823, 216, -823, -823, 221,
+- -823, -823, 231, 119, -823, -823, 175, -823, -823, -823,
+- -823, 28, 119, 341, -823, -823, -823, -823, -823, -823,
+- -823, -823, 85, 215, -823, -823, 309, -823, -823, -823,
+- 243, -823, -823, -823, -823, -823, -823, 295, 242, -823,
+- 276, 263, 249, -823, 285, 265, -823, -823, 45, -823,
+- -823, -823, 405, -823, -823, -823, 384, -823, 167, -823,
+- 75, -823, 308, 366, -823, 406, -823, -823, 259, 215,
+- 336, 345, 497, 407, -823, -823, 408, -823, -823, 409,
+- -823, -823, 497, 217, 1503, 479, 107, 227, 138, -823,
+- 393, 394, 313, -823, 395, 320, -823, 399, 324, -823,
+- 400, 326, -823, 401, 329, -823, 402, 331, -823, -823,
+- -823, -823, 403, 410, 333, -823, -823, -823, 119, -823,
+- 518, -823, 18, 411, 414, 337, -823, 433, 340, -823,
+- 437, 439, 440, 441, 442, 443, 445, 449, 450, 342,
+- -823, 332, -823, 276, -823, -823, 451, 346, -823, 306,
+- -823, 452, 348, -823, 306, -823, 390, 390, -823, 215,
+- -823, 138, 215, 398, 453, 527, 529, 455, 350, -823,
+- 457, 462, 463, 464, 352, -823, -823, 1276, 85, 215,
+- -823, -22, 465, 354, -823, 466, 356, -823, 467, 358,
+- -823, 29, -823, 215, -823, 1276, 469, 470, 108, 471,
+- 472, 473, 474, 475, 480, 481, -823, -40, 185, 468,
+- 482, 483, 456, 544, -823, -823, 287, 534, -823, 160,
+- 606, -823, 207, 607, -823, 214, 608, -823, 216, 611,
+- -823, 221, 612, -823, 231, 613, 542, -823, 28, -823,
+- 495, -21, -823, 496, 491, 620, 560, 503, 499, 625,
+- 397, -823, 309, 626, -823, 243, 627, 628, 322, 397,
+- 397, 397, 397, 631, 555, -823, 295, 516, 90, -823,
+- -823, 38, -823, -823, -823, -823, 322, -823, 263, -823,
+- -823, 25, -823, -823, 322, -823, 285, -823, -823, 35,
+- -823, -823, 359, 215, 215, -823, -823, 511, 636, 842,
+- 513, -823, 21, -823, -823, 31, -823, 287, -823, 406,
+- 638, 639, 642, 643, -823, 259, 405, 405, 405, 405,
+- 405, 520, 528, 405, 531, 532, -823, 405, 526, 535,
+- 533, 497, -823, 322, -823, 407, 322, -823, 408, 85,
+- -823, 409, -823, -823, 537, 330, 524, -823, 497, -823,
+- -823, -823, -823, -823, -823, -823, -823, -823, 536, -823,
+- 538, -823, -823, -823, 1276, -823, -823, -823, -823, -823,
+- -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
+- -823, -823, -823, -823, 103, 518, -823, 283, -823, -823,
+- 22, -823, 405, -823, -823, -823, -823, -823, -823, -823,
+- -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
+- 546, -823, -823, 171, 119, 539, -823, -823, -823, 545,
+- -823, -823, -823, 547, -823, -823, -823, -823, 540, -823,
+- 85, -823, -823, 548, 680, 543, -823, 203, -823, -823,
+- -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
+- -823, 215, 215, 215, 215, 215, 1276, 1276, 215, 599,
+- 1276, 215, 554, -823, -823, 152, -823, -823, -823, -823,
+- -823, -823, -823, -823, 496, 599, 119, 119, 119, -823,
+- -823, 59, -823, 683, 556, -823, -823, 557, 549, -823,
+- -823, -823, -823, -823, 119, 119, 119, 119, 497, 61,
+- -823, -823, -823, -823, -823, -823, -823, -823, -823, 673,
+- -823, 553, 362, -823, 558, 559, 365, -823, -823, -823,
+- -823, -823, 359, -823, 561, 561, 404, -823, -823, 564,
+- -823, -823, 526, 526, 526, -823, -823, 566, 568, -823,
+- -823, 585, -823, -823, 85, 294, -823, 258, 119, 57,
+- -823, -823, -823, -823, -823, -823, 585, -823, -823, -823,
+- -823, -823, 119, 694, 567, 599, 276, -823, -823, -823,
+- -823, 688, 569, -823, -823, 690, -823, 546, 692, 693,
+- -823, 171, -823, 1089, 572, 573, 577, -823, -823, 578,
+- 404, -823, 497, -823, -823, -823, 405, 405, -823, 604,
+- 581, -823, -823, -823, -823, -823, -823, 554, -823, -823,
+- -823, -823, -823, -823, 732, -823, 580, -823, 604, -823,
+- 119, 717, -823, 585, 579, 588, -823, -823, -823, -823,
+- -823, -823, 119, 119, 589, 119, 119, 119, 119, 119,
+- 119, 119, 119, 119, 119, 119, 119, 672, 672, 672,
+- 575, -823, -823, 582, -823, -823, 593, 712, -823, -823,
+- -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
+- -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
+- -823, -823, 980, -823, -823, -823, -823, -823, -823, -823,
+- -823, -823, -823, -823, -823, -823, -823, 554, 215, 591,
+- -823, 367, 215, 215, 595, 596, -823, -823, -823, -823,
+- -823, -823, -823, 598, -31, -823, -823, 600, -823, 596,
+- -823, 119, -823, 604, 276, 1276, -823, -823, 1276, -823,
+- -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
+- -823, -823, 584, 587, 592, -823, 1333, 1333, 594, 1447,
+- 1390, 716, 235, 602, 610, -823, -823, -823, 609, -823,
+- 215, -823, -823, 85, 657, 215, -823, 298, 215, -823,
+- 596, -823, 614, 618, -823, -823, -823, -823, -823, -823,
+- -823, -823, 121, -823, 589, -823, 630, 632, 633, 372,
+- -823, 306, -823, 637, -823, -823, 634, -823, 376, -823,
+- 616, 294, 379, 616, 215, 599, 604, 641, 731, 287,
+- 755, -823, 235, -823, -823, -823, 42, -823, 604, 680,
+- -823, 85, -823, 640, -823, 554, 645, 616, 604, 215,
+- -823, -823, -823, -823, 646, -823, 596, -823, -823, 497,
+- 742, 294, 680, 664, 215, 624, -823, 215, 644, 119,
+- 747, 742, 742, 616, -823, 665, 669, 1276, -823, 119,
+- 763, 747, 747, 670, 649, 680, 742, 676, -823, 119,
+- 783, 763, 763, 680, 1276, 742, 747, 660, -823, 119,
+- -823, 783, 783, 742, 681, 747, 763, -823, -823, -823,
+- -823, 747, 662, -823, -823, -823, -823
++ 87, 330, 619, 702, 703, 704, 88, 394, 89, 627,
++ 540, 652, 653, 654, 90, 315, 452, 590, 91, 213,
++ 457, 458, 92, 216, 319, 320, 93, 212, 454, 455,
++ 94, 272, 397, 398, 95, 96, 219, 325, 326, 97,
++ 224, 334, 335, 98, 227, 337, 338, 99, 230, 340,
++ 341, 100, 192, 298, 299, 301, 433, 434, 101, 195,
++ 303, 304, 306, 441, 442, 102, 188, 294, 290, 291,
++ 293, 423, 424, 189, 296, 103, 177, 275, 276, 104,
++ 105, 181, 278, 279, 716, 774, 875, 106, 107, 108,
++ 109, 816, 817, 818, 819, 820, 821, 822, 823, 658,
++ 825, 826, 110, 659, 111, 112, 113, 114, 115, 116,
++ 117, 118, 828, 119, 120, 425, 564, 665, 666, 680,
++ 567, 669, 670, 681, 121, 162, 264, 265, 122, 155,
++ 156, 123, 586, 202, 268, 310, 742, 743, 744, 948,
++ 851, 616, 698, 760, 767, 699, 700, 124, 125, 126,
++ 548, 869, 955, 127, 128, 308, 678, 129, 235, 591,
++ 131, 307, 677, 445, 581, 582, 583, 737, 835, 836,
++ 837, 906, 942, 943, 945, 969, 970, 520, 895, 838,
++ 901, 839, 840, 904, 841, 1008, 1017, 976, 992, 842,
++ 363, 694, 752, 918, 271, 392, 393, 645, 1033, 1013,
++ 1003, 1023, 476, 477, 478, 843, 899, 900, 844, 903,
++ 845, 846, 902, 847, 498, 634, 635, 479, 480, 366,
++ 238, 135, 332, 858, 951
+ };
+
+-/* YYPGOTO[NTERM-NUM]. */
+-static const yytype_int16 yypgoto[] =
+-{
+- -823, -823, 834, -823, -823, -411, -823, -823, -823, 484,
+- -823, -823, -823, 461, -823, -823, -823, 476, -823, -823,
+- -823, 460, -823, -823, -823, 458, -823, -823, -823, 477,
+- -638, -823, -823, -823, 144, -823, -823, -823, -823, -823,
+- 220, -823, 196, -823, -629, -823, -823, -823, -823, -823,
+- -823, 396, -823, -823, -823, 412, -823, -823, -823, 413,
+- -265, -823, -823, -823, -264, -823, -823, -823, 387, -823,
+- -823, -823, 368, -823, -823, -823, 369, -823, -823, -823,
+- 370, -823, -823, -823, 427, -823, -823, 429, -823, -823,
+- -823, 426, -823, -823, 424, -823, -823, -823, -823, 448,
+- -823, -823, 446, 6, -263, -823, -823, -823, 478, -823,
+- -823, -823, -823, 485, -823, -823, -823, -823, -823, -823,
+- -508, -823, -823, -823, -823, -823, -823, -823, -823, -627,
+- -823, -823, -823, -603, -823, -823, -823, -823, -823, -823,
+- -823, -823, -823, -823, -823, -823, -823, -823, 139, -268,
+- -823, -823, 141, -822, -823, -823, -823, 489, -823, -13,
+- -823, -505, -823, -823, -823, -223, -823, -823, 128, -823,
+- -823, -212, -786, -823, -823, -647, -823, -27, 807, 648,
+- -349, -823, -823, -598, -579, -823, -823, -574, -823, 867,
+- -216, -823, -823, 571, -823, 201, -823, 204, -823, 51,
+- -823, -823, -823, -80, -823, -823, -82, -432, -260, -823,
+- -823, -11, -823, -823, -16, -823, -823, -660, -823, 12,
+- -823, -597, -577, -796, -195, -823, 357, -823, -496, -680,
+- -696, -765, -341, -823, 279, -823, -823, -823, -355, -823,
+- -9, -823, -823, 14, -823, -823, 262, 0, -823, 583,
+- 686, -10, -214, -704, -823
+-};
+-
+-/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
+- positive, shift that token. If negative, reduce the rule which
+- number is the opposite. If zero, do what YYDEFACT says.
+- If YYTABLE_NINF, syntax error. */
+-#define YYTABLE_NINF -563
++/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
++ positive, shift that token. If negative, reduce the rule whose
++ number is the opposite. If YYTABLE_NINF, syntax error. */
+ static const yytype_int16 yytable[] =
+ {
+- 157, 158, 159, 134, 494, 164, 165, 166, 167, 168,
+- 169, 170, 171, 197, 198, 132, 173, 133, 341, 344,
+- 182, 183, 184, 424, 326, 594, 419, 420, 706, 654,
+- 425, 433, 657, 136, 429, 430, 441, 418, 586, 437,
+- 438, 346, 417, 190, 193, 196, 221, 418, 175, 398,
+- 418, 231, 394, 209, 418, 451, 658, 27, 28, 163,
+- 553, 554, 555, 556, 869, 454, 210, 27, 28, 179,
+- 27, 28, 220, 918, 27, 28, 626, 627, 628, -562,
+- 185, 186, 225, 228, 185, 186, 185, 186, 644, 27,
+- 28, 27, 28, 27, 28, 808, 139, 185, 186, 185,
+- 186, 29, 148, 151, 809, 160, 821, 704, 214, 312,
+- 857, 645, 646, 647, 445, 507, 35, 447, 773, 29,
+- 35, -560, 142, 145, 954, 217, 562, 508, 236, 768,
+- 824, 951, 481, 535, 480, 828, 232, 638, 186, 639,
+- 259, 654, 536, 4, 657, 269, 482, 987, 493, 266,
+- 154, 137, 59, 424, 829, 957, 419, 420, 648, 830,
+- 174, 62, 262, 433, -562, 176, 429, 430, 263, 920,
+- 1001, 441, 178, 637, 437, 438, 681, 395, 590, 62,
+- 698, 659, 569, 481, 27, 28, 180, 199, 592, 991,
+- 997, 704, 573, 1025, 808, 565, 873, 492, 187, 984,
+- 907, 1033, 191, 809, 194, 821, 260, -562, 261, -562,
+- 640, 35, 140, 237, 766, 223, 710, 226, 722, 229,
+- 149, 152, 330, 161, 343, 812, 215, 313, 827, 824,
+- 629, 630, 330, 203, 828, 27, 28, 29, 143, 146,
+- 237, 218, 563, 601, 602, 603, 604, 605, 581, 582,
+- 608, 29, 979, 829, 611, 389, 1031, 1032, 830, 345,
+- 498, 233, 35, 499, 986, 687, 688, 40, 41, 222,
+- 270, 1044, 652, 653, 994, 698, 42, 43, 44, 45,
++ 157, 158, 159, 134, 496, 164, 165, 166, 167, 168,
++ 169, 170, 171, 197, 198, 132, 173, 133, 427, 345,
++ 182, 183, 184, 597, 426, 327, 657, 342, 421, 660,
++ 709, 422, 435, 453, 139, 921, 431, 443, 395, 432,
++ 419, 439, 347, 589, 440, 661, 221, 399, 420, 872,
++ 420, 231, -563, 209, 190, 193, 196, 420, 175, 555,
++ 556, 557, 558, 559, 420, 771, 210, 456, 27, 28,
++ 27, 28, 220, 629, 630, 631, 136, 27, 28, 27,
++ 28, 179, 185, 186, 27, 28, 957, 29, 27, 28,
++ 142, 145, 148, 225, 228, 217, 185, 186, 185, 186,
++ 185, 186, 185, 186, 346, 707, 35, 860, 151, 160,
++ 214, 313, 240, 236, 811, 270, 447, 565, 29, 449,
++ 776, 812, 511, -561, 960, 4, 241, 641, 186, 642,
++ 954, 154, 876, 990, 483, 512, 482, -563, 232, 657,
++ 259, 824, 660, 827, 537, 269, 483, 62, 484, 266,
++ 495, 140, 1000, 538, 923, 426, 1004, 593, 831, 421,
++ 494, 647, 422, 832, 396, 435, 27, 28, 979, 431,
++ 701, 662, 432, 443, 640, 833, 176, 439, 62, 1028,
++ 440, -563, 684, -563, 648, 649, 650, 1036, 994, 707,
++ 509, 595, 996, 35, 568, 137, 572, 910, 237, 180,
++ 643, 187, 510, 576, 174, 769, 229, 143, 146, 237,
++ 987, 149, 218, 811, 713, 191, 163, 194, 1016, 223,
++ 812, 226, 331, 815, 344, 59, 830, 152, 161, 215,
++ 314, 651, 331, 632, 566, 262, 633, 982, 1034, 1035,
++ 824, 263, 827, 604, 605, 606, 607, 608, 419, 989,
++ 611, 584, 585, 1047, 614, 390, 420, 831, 500, 997,
++ 667, 501, 832, 178, 27, 28, 199, 690, 691, 1014,
++ 1015, 668, 185, 186, 833, 655, 27, 28, 656, 420,
++ 1024, 1025, 200, 201, 1029, 27, 28, 29, 260, 939,
++ 261, 35, 725, 1038, 940, 1039, 273, 274, 941, 27,
++ 28, 1044, 481, 203, 1046, 629, 630, 631, 321, 364,
++ 1048, 365, 35, 29, 322, 323, 324, 40, 41, 663,
++ 27, 28, 815, 369, 370, 830, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+- 56, 57, 58, 976, 59, 60, 61, 62, 240, 63,
+- 363, 479, 364, 664, 211, 1011, 1012, 232, 64, 65,
+- 644, 241, 66, 67, 665, 27, 28, 993, 418, 660,
+- 1026, 516, 72, 517, 812, 73, 239, 827, 74, 1035,
+- 75, 1021, 1022, 645, 646, 647, 417, 1041, 27, 28,
+- 509, 234, 35, 1013, 418, 244, 1036, 626, 627, 628,
+- 702, 703, 247, 510, 250, 1043, 185, 186, 978, 253,
+- 680, 1045, 27, 28, 27, 28, 629, 630, 936, 256,
+- 204, 205, 206, 937, 59, 207, 267, 938, 270, 347,
+- 648, 277, 348, 294, 652, 653, 349, 350, 351, 352,
+- 353, 354, 355, 356, 357, 358, 320, 359, 291, 360,
+- 361, 296, 321, 322, 323, 299, 682, 683, 684, 685,
+- 686, 737, 738, 689, 552, 865, 693, 758, 759, 760,
+- 761, 304, 762, 301, 763, 575, 576, 577, 200, 201,
+- 280, 281, 567, 282, 702, 703, 27, 28, 736, 308,
+- 571, 283, 284, 285, 286, 287, 288, 273, 274, 134,
+- 694, -364, -364, 774, 751, 752, 753, 754, 755, 756,
+- 310, 132, 622, 133, 315, 826, 368, 369, 810, 811,
+- 743, 744, 745, 371, 372, 737, 738, 374, 375, 377,
+- 378, 617, 380, 381, 383, 384, 387, 388, 327, 618,
+- 401, 402, 620, 404, 405, 415, 416, 328, 634, 427,
+- 428, 435, 436, 458, 459, 464, 465, 484, 485, 487,
+- 488, 490, 491, 544, 545, 726, 727, 831, 730, 731,
+- 910, 481, 316, 852, 853, 961, 962, 981, 851, 970,
+- 971, 29, 974, 975, 922, 1039, 1040, 923, 893, 894,
+- 641, 928, 929, 40, 317, 332, 335, 338, 366, 367,
+- 370, 668, 390, 673, 373, 376, 379, 382, 385, 442,
+- 448, 451, 172, 454, 826, 386, 399, 810, 811, 400,
+- 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+- 52, 53, 54, 55, 56, 57, 58, 134, 403, 60,
+- 61, 62, 406, 63, 407, 408, 409, 410, 411, 132,
+- 412, 133, 64, 65, 413, 414, 426, 434, 514, 449,
+- 457, 921, 460, 707, 708, 709, 831, 461, 462, 463,
+- 483, 486, 489, 497, 75, 495, 500, 501, 502, 503,
+- 504, 717, 718, 719, 720, 505, 506, 512, 513, 511,
+- 515, 519, 521, 523, 525, 527, 529, 531, 721, 532,
+- 534, -316, 537, 908, 539, 540, 541, 911, 912, 542,
+- 543, 548, 558, 550, 551, 557, 1017, 750, 560, 584,
+- 585, 589, 606, 965, 596, 597, 963, 964, 598, 599,
+- 607, 612, 633, 1034, 609, 765, 610, 661, 614, 615,
+- 625, 635, 418, 636, 672, 690, 679, 669, 965, 769,
+- 712, 963, 964, 670, 676, 671, 694, 724, 725, 714,
+- 715, 748, 770, 728, 729, 946, 742, 733, 716, 746,
+- 950, 747, 775, 953, 854, 772, 777, 776, 779, 780,
+- 845, 846, 847, 134, 856, 849, 871, 864, 868, 874,
+- 875, 878, 330, 891, 895, 902, 904, 913, -445, 909,
+- 934, 914, 917, 924, 867, 916, 925, 870, 941, 977,
+- 807, 926, 943, 944, 949, 980, 29, 955, 858, 876,
+- 877, 956, 879, 880, 881, 882, 883, 884, 885, 886,
+- 887, 888, 889, 890, 995, 958, 972, 959, 960, 982,
+- 968, 999, 969, 345, 1004, 1009, 1007, 172, 990, 1003,
+- 1019, 1024, 1006, 992, 996, 42, 43, 44, 45, 46,
+- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+- 57, 58, 1002, 1015, 60, 61, 62, 1016, 1023, 1027,
+- 1029, 1037, 134, 1046, 1042, 5, 524, 64, 65, 859,
+- 860, 528, 530, 767, 705, 723, 520, 861, 544, 545,
+- 862, 593, 600, 619, 526, 568, 522, 621, 919, 75,
+- 570, 623, 572, 574, 559, 591, 778, 566, 850, 208,
+- 130, 595, 781, 732, 27, 28, 29, 533, 444, 735,
+- 547, 342, 983, 906, 985, 935, 947, 930, 863, 692,
+- 549, 933, 643, 711, 446, 311, 134, 134, 0, 932,
+- 134, 35, 0, 0, 0, 0, 40, 41, 0, 0,
+- 0, 931, 0, 0, 0, 42, 43, 44, 45, 46,
++ 56, 57, 58, 211, 59, 60, 61, 62, 518, 63,
++ 519, 204, 205, 206, 705, 701, 207, 706, 64, 65,
++ 981, 647, 66, 67, 372, 373, 27, 28, 375, 376,
++ 632, 222, 72, 633, 232, 73, 378, 379, 74, 233,
++ 75, 578, 579, 580, 648, 649, 650, 348, 655, 234,
++ 349, 656, 244, 35, 350, 351, 352, 353, 354, 355,
++ 356, 357, 358, 359, 239, 360, 247, 361, 362, 250,
++ 685, 686, 687, 688, 689, 740, 868, 692, 741, 253,
++ 696, 27, 28, 739, 256, 59, 554, 697, -365, -365,
++ 267, 651, 761, 762, 763, 764, 277, 765, 705, 766,
++ 270, 706, 295, 777, 292, 570, 746, 747, 748, 381,
++ 382, 134, 309, 574, 754, 755, 756, 757, 758, 759,
++ 384, 385, 297, 132, 625, 133, 388, 389, 829, 302,
++ 402, 403, 813, 280, 281, 814, 282, 405, 406, 740,
++ 417, 418, 741, 620, 283, 284, 285, 286, 287, 288,
++ 289, 429, 430, 437, 438, 460, 461, 466, 467, 300,
++ 637, 305, 621, 486, 487, 623, 489, 490, 492, 493,
++ 546, 547, 729, 730, 733, 734, 913, 483, 964, 965,
++ 834, 973, 974, 311, 855, 856, 984, 977, 978, 896,
++ 897, 1042, 1043, 931, 932, 316, 925, 317, 318, 926,
++ 854, 328, 333, 329, 336, 339, 40, 367, 368, 371,
++ 391, 444, 374, 644, 671, 377, 676, 380, 383, 386,
++ 450, 387, 453, 456, 400, 401, 404, 829, 407, 408,
++ 409, 813, 410, 411, 814, 412, 413, 414, 415, 416,
++ 428, 436, 517, 451, 459, 462, 463, 464, 465, 485,
++ 134, 488, 491, 499, 497, 521, 502, 503, 504, 505,
++ 506, 924, 132, 523, 133, 507, 508, 514, 515, 516,
++ 513, 525, 527, 529, 531, 533, 710, 711, 712, 834,
++ 534, 536, -317, 539, 541, 542, 543, 545, 544, 550,
++ 561, 552, 553, 560, 720, 721, 722, 723, 563, 587,
++ 588, 599, 592, 600, 601, 602, 609, 610, 615, 612,
++ 617, 724, 613, 628, 420, 618, 664, 911, 638, 636,
++ 639, 914, 915, 675, 672, 673, 674, 679, 1020, 693,
++ 753, 682, 697, 715, 717, 718, 968, 727, 728, 719,
++ 966, 731, 732, 967, 736, 1037, 745, 751, 768, 749,
++ 750, 773, 778, 775, 850, 780, 779, 782, 783, 848,
++ 849, 968, 772, 852, 857, 966, 859, 871, 967, 874,
++ 877, 878, 881, 898, -446, 894, 905, 907, 916, 949,
++ 917, 912, 920, 927, 953, 928, 919, 956, 937, 944,
++ 929, 946, 947, 810, 952, 983, 134, 958, 961, 959,
++ 867, 975, 962, 963, 346, 331, 985, 971, 972, 1002,
++ 1012, 1010, 1022, 1032, 1027, 5, 993, 870, 1030, 995,
++ 873, 999, 1005, 980, 1045, 528, 530, 27, 28, 29,
++ 1018, 1019, 879, 880, 1026, 882, 883, 884, 885, 886,
++ 887, 888, 889, 890, 891, 892, 893, 1007, 998, 1040,
++ 1049, 526, 708, 770, 35, 726, 532, 522, 622, 40,
++ 41, 598, 596, 1006, 594, 571, 1009, 524, 42, 43,
++ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
++ 54, 55, 56, 57, 58, 626, 59, 60, 61, 62,
++ 603, 63, 781, 784, 208, 134, 624, 853, 130, 577,
++ 64, 65, 735, 535, 66, 67, 343, 446, 738, 986,
++ 909, 988, 938, 933, 72, 646, 695, 73, 549, 936,
++ 74, 922, 75, 551, 714, 0, 562, 0, 448, 312,
++ 0, 0, 0, 0, 0, 0, 569, 29, 573, 861,
++ 0, 0, 0, 0, 575, 0, 0, 0, 0, 950,
++ 0, 0, 0, 683, 0, 0, 0, 0, 0, 134,
++ 134, 0, 935, 134, 0, 0, 0, 0, 172, 0,
++ 0, 0, 0, 0, 934, 0, 42, 43, 44, 45,
++ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
++ 56, 57, 58, 0, 0, 60, 61, 62, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 991, 64, 65,
++ 862, 863, 0, 0, 0, 0, 0, 0, 864, 546,
++ 547, 865, 0, 0, 0, 0, 0, 0, 0, 0,
++ 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1011,
++ 0, 0, 1001, 0, 785, 420, 0, 0, 0, 1021,
++ 866, 0, 0, 0, 0, 0, 786, 0, 0, 1031,
++ 647, 0, 0, 0, 0, 27, 28, 787, 0, 1041,
++ 0, 788, 789, 790, 791, 792, 793, 794, 795, 796,
++ 0, 0, 0, 648, 797, 798, 799, 0, 0, 0,
++ 0, 0, 35, 0, 0, 0, 0, 40, 41, 800,
++ 801, 802, 803, 804, 0, 805, 42, 43, 44, 45,
++ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
++ 56, 57, 58, 806, 59, 60, 61, 62, 0, 63,
++ 807, 0, 0, 0, 0, 0, 0, 0, 64, 65,
++ 0, 0, 66, 67, 0, 0, 0, 0, 0, 0,
++ 0, 0, 72, 785, 420, 73, 0, 808, 74, 0,
++ 75, 0, 0, 809, 0, 786, 0, 0, 0, 647,
++ 0, 0, 0, 0, 27, 28, 787, 0, 0, 0,
++ 788, 789, 790, 791, 792, 793, 794, 795, 796, 0,
++ 0, 908, 648, 797, 798, 799, 0, 0, 0, 0,
++ 810, 35, 0, 0, 0, 0, 40, 41, 800, 801,
++ 802, 803, 804, 0, 805, 42, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+- 57, 58, 0, 59, 60, 61, 62, 0, 63, 0,
+- 0, 0, 0, 0, 988, 0, 0, 64, 65, 0,
++ 57, 58, 806, 59, 60, 61, 62, 0, 63, 807,
++ 0, 0, 0, 0, 0, 0, 0, 64, 65, 0,
+ 0, 66, 67, 0, 0, 0, 0, 0, 0, 0,
+- 0, 72, 0, 0, 73, 0, 0, 74, 0, 75,
++ 0, 72, 0, 0, 73, 0, 808, 74, 0, 75,
++ 0, 6, 809, 7, 8, 9, 10, 11, 12, 13,
++ 0, 14, 15, 16, 17, 0, 0, 0, 18, 19,
++ 20, 0, 21, 22, 23, 0, 24, 25, 26, 0,
++ 27, 28, 29, 0, 0, 0, 0, 0, 0, 810,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 1008, 0, 0, 998,
+- 0, 782, 418, 0, 0, 0, 1018, 0, 0, 0,
+- 0, 0, 0, 783, 0, 0, 1028, 644, 0, 0,
+- 0, 0, 27, 28, 784, 0, 1038, 0, 785, 786,
+- 787, 788, 789, 790, 791, 792, 793, 0, 0, 0,
+- 645, 794, 795, 796, 0, 0, 0, 0, 0, 35,
+- 0, 0, 0, 0, 40, 41, 797, 798, 799, 800,
+- 801, 0, 802, 42, 43, 44, 45, 46, 47, 48,
+- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+- 803, 59, 60, 61, 62, 0, 63, 804, 0, 0,
+- 0, 0, 0, 0, 0, 64, 65, 0, 0, 66,
+- 67, 0, 0, 0, 0, 0, 0, 0, 0, 72,
+- 782, 418, 73, 0, 805, 74, 0, 75, 0, 0,
+- 806, 0, 783, 0, 0, 0, 644, 0, 0, 0,
+- 0, 27, 28, 784, 0, 0, 0, 785, 786, 787,
+- 788, 789, 790, 791, 792, 793, 0, 905, 0, 645,
+- 794, 795, 796, 0, 0, 0, 807, 0, 35, 0,
+- 0, 0, 0, 40, 41, 797, 798, 799, 800, 801,
+- 0, 802, 42, 43, 44, 45, 46, 47, 48, 49,
+- 50, 51, 52, 53, 54, 55, 56, 57, 58, 803,
+- 59, 60, 61, 62, 0, 63, 804, 0, 0, 0,
+- 0, 0, 0, 0, 64, 65, 0, 0, 66, 67,
+- 0, 0, 0, 0, 0, 0, 0, 0, 72, 0,
+- 0, 73, 0, 805, 74, 0, 75, 0, 6, 806,
+- 7, 8, 9, 10, 11, 12, 13, 0, 14, 15,
+- 16, 17, 0, 0, 0, 18, 19, 20, 0, 21,
+- 22, 23, 0, 24, 25, 26, 0, 27, 28, 29,
+- 0, 0, 0, 0, 0, 807, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,
+- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+- 41, 0, 0, 0, 0, 0, 0, 0, 42, 43,
+- 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+- 54, 55, 56, 57, 58, 0, 59, 60, 61, 62,
+- 29, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+- 64, 65, 0, 0, 66, 67, 68, 69, 70, 71,
+- 0, 0, 0, 0, 72, 0, 0, 73, 0, 0,
+- 74, 172, 75, 76, 77, 0, 78, 0, 0, 42,
++ 0, 0, 30, 31, 32, 33, 34, 35, 36, 37,
++ 38, 39, 40, 41, 0, 0, 0, 0, 0, 0,
++ 0, 42, 43, 44, 45, 46, 47, 48, 49, 50,
++ 51, 52, 53, 54, 55, 56, 57, 58, 0, 59,
++ 60, 61, 62, 29, 63, 0, 0, 0, 0, 0,
++ 0, 0, 0, 64, 65, 0, 0, 66, 67, 68,
++ 69, 70, 71, 0, 0, 0, 0, 72, 0, 0,
++ 73, 0, 0, 74, 172, 75, 76, 77, 0, 78,
++ 0, 0, 42, 43, 44, 45, 46, 47, 48, 49,
++ 50, 51, 52, 53, 54, 55, 56, 57, 58, 0,
++ 29, 60, 61, 62, 0, 63, 0, 468, 469, 470,
++ 471, 472, 473, 474, 64, 65, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 475, 172, 0, 0, 0, 0, 75, 0, 0, 42,
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+- 53, 54, 55, 56, 57, 58, 0, 29, 60, 61,
+- 62, 0, 63, 0, 466, 467, 468, 469, 470, 471,
+- 472, 64, 65, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 473, 172, 0,
++ 53, 54, 55, 56, 57, 58, 930, 29, 60, 61,
++ 62, 0, 63, 807, 0, 0, 0, 0, 0, 0,
++ 0, 64, 65, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 72, 0, 0, 172, 0,
+ 0, 0, 0, 75, 0, 0, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+- 56, 57, 58, 927, 29, 60, 61, 62, 0, 63,
+- 804, 0, 0, 0, 0, 0, 0, 0, 64, 65,
++ 56, 57, 58, 930, 29, 60, 61, 62, 0, 63,
++ 0, 0, 0, 0, 0, 0, 0, 0, 64, 65,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 72, 0, 0, 172, 0, 0, 0, 0,
+ 75, 0, 0, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+- 927, 29, 60, 61, 62, 0, 63, 0, 0, 0,
++ 29, 0, 60, 61, 62, 0, 63, 0, 0, 0,
+ 0, 0, 0, 0, 0, 64, 65, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,
+- 0, 0, 172, 0, 0, 0, 0, 75, 0, 0,
+- 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+- 52, 53, 54, 55, 56, 57, 58, 29, 0, 60,
+- 61, 62, 0, 63, 0, 0, 0, 0, 0, 0,
+- 0, 0, 64, 65, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 72, 0, 172, 0,
+- 0, 0, 0, 0, 75, 0, 42, 43, 44, 45,
+- 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+- 56, 57, 58, 0, 0, 60, 61, 62, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0, 64, 65,
+- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 172, 0, 0, 0, 0, 29, 75, 0, 42,
++ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
++ 53, 54, 55, 56, 57, 58, 0, 0, 60, 61,
++ 62, 0, 63, 0, 0, 0, 0, 172, 0, 0,
++ 0, 64, 65, 0, 0, 42, 43, 44, 45, 46,
++ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
++ 57, 58, 0, 75, 60, 61, 62, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 64, 65, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+- 75
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 75
+ };
+
+ static const yytype_int16 yycheck[] =
+ {
+- 13, 14, 15, 3, 345, 18, 19, 20, 21, 22,
+- 23, 24, 25, 40, 41, 3, 26, 3, 232, 235,
+- 33, 34, 35, 291, 219, 457, 291, 291, 625, 537,
+- 293, 299, 537, 34, 299, 299, 304, 12, 449, 304,
+- 304, 236, 4, 37, 38, 39, 73, 12, 35, 272,
+- 12, 78, 34, 63, 12, 34, 34, 32, 33, 35,
+- 409, 410, 411, 412, 768, 34, 66, 32, 33, 35,
+- 32, 33, 72, 869, 32, 33, 17, 18, 19, 34,
+- 34, 35, 76, 77, 34, 35, 34, 35, 27, 32,
+- 33, 32, 33, 32, 33, 733, 36, 34, 35, 34,
+- 35, 34, 34, 34, 733, 34, 733, 615, 34, 34,
+- 757, 50, 51, 52, 309, 155, 59, 312, 715, 34,
+- 59, 152, 36, 36, 920, 36, 36, 167, 34, 706,
+- 733, 917, 154, 154, 329, 733, 167, 34, 35, 36,
+- 153, 649, 163, 0, 649, 172, 168, 969, 343, 162,
+- 31, 152, 91, 421, 733, 34, 421, 421, 97, 733,
+- 152, 94, 134, 431, 119, 152, 431, 431, 140, 873,
+- 992, 439, 35, 514, 439, 439, 587, 159, 157, 94,
+- 123, 159, 157, 154, 32, 33, 152, 76, 157, 975,
+- 986, 699, 157, 1015, 832, 157, 773, 168, 152, 157,
+- 847, 1023, 152, 832, 152, 832, 31, 162, 33, 164,
+- 107, 59, 152, 119, 157, 152, 157, 152, 157, 152,
+- 152, 152, 222, 152, 234, 733, 152, 152, 733, 832,
+- 495, 495, 232, 79, 832, 32, 33, 34, 152, 152,
+- 119, 152, 152, 466, 467, 468, 469, 470, 443, 444,
+- 473, 34, 956, 832, 477, 268, 1021, 1022, 832, 152,
+- 152, 94, 59, 155, 968, 606, 607, 64, 65, 167,
+- 163, 1036, 537, 537, 978, 123, 73, 74, 75, 76,
++ 13, 14, 15, 3, 346, 18, 19, 20, 21, 22,
++ 23, 24, 25, 40, 41, 3, 26, 3, 294, 235,
++ 33, 34, 35, 459, 292, 219, 539, 232, 292, 539,
++ 628, 292, 300, 34, 36, 872, 300, 305, 34, 300,
++ 4, 305, 236, 451, 305, 34, 73, 272, 12, 771,
++ 12, 78, 34, 63, 37, 38, 39, 12, 35, 410,
++ 411, 412, 413, 414, 12, 709, 66, 34, 32, 33,
++ 32, 33, 72, 17, 18, 19, 34, 32, 33, 32,
++ 33, 35, 34, 35, 32, 33, 923, 34, 32, 33,
++ 36, 36, 34, 76, 77, 36, 34, 35, 34, 35,
++ 34, 35, 34, 35, 153, 618, 59, 760, 34, 34,
++ 34, 34, 138, 34, 736, 164, 310, 36, 34, 313,
++ 718, 736, 156, 153, 34, 0, 152, 34, 35, 36,
++ 920, 31, 776, 972, 155, 169, 330, 119, 168, 652,
++ 153, 736, 652, 736, 155, 172, 155, 94, 169, 162,
++ 344, 153, 989, 164, 876, 423, 995, 158, 736, 423,
++ 169, 27, 423, 736, 160, 433, 32, 33, 956, 433,
++ 123, 160, 433, 441, 516, 736, 153, 441, 94, 1018,
++ 441, 163, 590, 165, 50, 51, 52, 1026, 978, 702,
++ 156, 158, 980, 59, 158, 153, 158, 850, 119, 153,
++ 107, 153, 168, 158, 153, 158, 153, 153, 153, 119,
++ 158, 153, 153, 835, 158, 153, 35, 153, 1006, 153,
++ 835, 153, 222, 736, 234, 91, 736, 153, 153, 153,
++ 153, 97, 232, 497, 153, 134, 497, 959, 1024, 1025,
++ 835, 140, 835, 468, 469, 470, 471, 472, 4, 971,
++ 475, 445, 446, 1039, 479, 268, 12, 835, 153, 981,
++ 132, 156, 835, 35, 32, 33, 76, 609, 610, 1004,
++ 1005, 143, 34, 35, 835, 539, 32, 33, 539, 12,
++ 1014, 1015, 64, 65, 1019, 32, 33, 34, 31, 133,
++ 33, 59, 158, 1028, 138, 1029, 138, 139, 142, 32,
++ 33, 1036, 329, 79, 1038, 17, 18, 19, 137, 163,
++ 1044, 165, 59, 34, 143, 144, 145, 64, 65, 544,
++ 32, 33, 835, 154, 155, 835, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
+- 87, 88, 89, 953, 91, 92, 93, 94, 138, 96,
+- 162, 328, 164, 132, 34, 1001, 1002, 167, 105, 106,
+- 27, 151, 109, 110, 143, 32, 33, 977, 12, 542,
+- 1016, 34, 119, 36, 832, 122, 107, 832, 125, 1025,
+- 127, 1011, 1012, 50, 51, 52, 4, 1033, 32, 33,
+- 155, 30, 59, 1003, 12, 138, 1026, 17, 18, 19,
+- 615, 615, 138, 168, 138, 1035, 34, 35, 955, 138,
+- 157, 1041, 32, 33, 32, 33, 631, 631, 133, 138,
+- 74, 75, 76, 138, 91, 79, 35, 142, 163, 152,
+- 97, 138, 155, 107, 649, 649, 159, 160, 161, 162,
+- 163, 164, 165, 166, 167, 168, 137, 170, 156, 172,
+- 173, 138, 143, 144, 145, 156, 601, 602, 603, 604,
+- 605, 676, 676, 608, 408, 764, 611, 159, 160, 161,
+- 162, 156, 164, 138, 166, 66, 67, 68, 64, 65,
+- 135, 136, 426, 138, 699, 699, 32, 33, 34, 34,
+- 434, 146, 147, 148, 149, 150, 151, 138, 139, 449,
+- 152, 153, 154, 716, 160, 161, 162, 163, 164, 165,
+- 76, 449, 489, 449, 156, 733, 153, 154, 733, 733,
+- 682, 683, 684, 153, 154, 740, 740, 153, 154, 153,
+- 154, 481, 153, 154, 153, 154, 153, 154, 152, 483,
+- 153, 154, 486, 153, 154, 153, 154, 152, 498, 153,
+- 154, 153, 154, 153, 154, 153, 154, 153, 154, 153,
+- 154, 153, 154, 116, 117, 153, 154, 733, 153, 154,
+- 153, 154, 156, 746, 747, 153, 154, 959, 742, 153,
+- 154, 34, 153, 154, 875, 1031, 1032, 878, 798, 799,
+- 534, 896, 897, 64, 138, 138, 138, 138, 155, 155,
+- 155, 564, 34, 580, 155, 155, 155, 155, 155, 169,
+- 162, 34, 65, 34, 832, 155, 155, 832, 832, 155,
+- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+- 83, 84, 85, 86, 87, 88, 89, 587, 155, 92,
+- 93, 94, 155, 96, 155, 155, 155, 155, 155, 587,
+- 155, 587, 105, 106, 155, 155, 155, 155, 152, 156,
+- 155, 874, 155, 626, 627, 628, 832, 155, 155, 155,
+- 155, 155, 155, 153, 127, 156, 155, 155, 155, 155,
+- 155, 644, 645, 646, 647, 155, 155, 155, 155, 171,
+- 96, 107, 36, 36, 36, 34, 34, 34, 648, 107,
+- 155, 160, 156, 848, 34, 95, 153, 852, 853, 160,
+- 35, 35, 107, 36, 36, 34, 1007, 694, 152, 158,
+- 34, 158, 152, 941, 36, 36, 941, 941, 36, 36,
+- 152, 155, 158, 1024, 153, 698, 154, 141, 153, 156,
+- 153, 155, 12, 155, 154, 96, 153, 158, 966, 712,
+- 17, 966, 966, 158, 156, 158, 152, 34, 155, 153,
+- 153, 126, 18, 155, 155, 910, 152, 156, 169, 153,
+- 915, 153, 34, 918, 120, 158, 36, 158, 36, 36,
+- 158, 158, 155, 733, 153, 157, 19, 764, 158, 160,
+- 152, 152, 742, 71, 169, 152, 34, 152, 166, 158,
+- 34, 155, 152, 169, 764, 157, 169, 770, 156, 954,
+- 166, 169, 152, 154, 107, 34, 34, 153, 36, 782,
+- 783, 153, 785, 786, 787, 788, 789, 790, 791, 792,
+- 793, 794, 795, 796, 979, 155, 170, 155, 155, 34,
+- 153, 49, 158, 152, 170, 48, 152, 65, 158, 994,
+- 37, 152, 997, 158, 158, 73, 74, 75, 76, 77,
+- 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+- 88, 89, 158, 158, 92, 93, 94, 158, 158, 153,
+- 47, 171, 832, 171, 153, 1, 375, 105, 106, 107,
+- 108, 381, 384, 699, 624, 649, 369, 115, 116, 117,
+- 118, 455, 465, 485, 378, 428, 372, 488, 871, 127,
+- 431, 491, 436, 439, 416, 452, 727, 421, 740, 62,
+- 3, 459, 731, 672, 32, 33, 34, 388, 307, 675,
+- 402, 233, 962, 832, 966, 901, 913, 898, 156, 610,
+- 405, 900, 535, 631, 311, 209, 896, 897, -1, 899,
+- 900, 59, -1, -1, -1, -1, 64, 65, -1, -1,
+- -1, 899, -1, -1, -1, 73, 74, 75, 76, 77,
++ 87, 88, 89, 34, 91, 92, 93, 94, 34, 96,
++ 36, 74, 75, 76, 618, 123, 79, 618, 105, 106,
++ 958, 27, 109, 110, 154, 155, 32, 33, 154, 155,
++ 634, 168, 119, 634, 168, 122, 154, 155, 125, 94,
++ 127, 66, 67, 68, 50, 51, 52, 153, 652, 30,
++ 156, 652, 138, 59, 160, 161, 162, 163, 164, 165,
++ 166, 167, 168, 169, 107, 171, 138, 173, 174, 138,
++ 604, 605, 606, 607, 608, 679, 767, 611, 679, 138,
++ 614, 32, 33, 34, 138, 91, 409, 153, 154, 155,
++ 35, 97, 160, 161, 162, 163, 138, 165, 702, 167,
++ 164, 702, 107, 719, 157, 428, 685, 686, 687, 154,
++ 155, 451, 34, 436, 161, 162, 163, 164, 165, 166,
++ 154, 155, 138, 451, 491, 451, 154, 155, 736, 138,
++ 154, 155, 736, 135, 136, 736, 138, 154, 155, 743,
++ 154, 155, 743, 483, 146, 147, 148, 149, 150, 151,
++ 152, 154, 155, 154, 155, 154, 155, 154, 155, 157,
++ 500, 157, 485, 154, 155, 488, 154, 155, 154, 155,
++ 116, 117, 154, 155, 154, 155, 154, 155, 154, 155,
++ 736, 154, 155, 76, 749, 750, 962, 154, 155, 801,
++ 802, 1034, 1035, 899, 900, 157, 878, 157, 138, 881,
++ 745, 153, 138, 153, 138, 138, 64, 156, 156, 156,
++ 34, 170, 156, 536, 567, 156, 583, 156, 156, 156,
++ 163, 156, 34, 34, 156, 156, 156, 835, 156, 156,
++ 156, 835, 156, 156, 835, 156, 156, 156, 156, 156,
++ 156, 156, 96, 157, 156, 156, 156, 156, 156, 156,
++ 590, 156, 156, 154, 157, 107, 156, 156, 156, 156,
++ 156, 877, 590, 36, 590, 156, 156, 156, 156, 153,
++ 172, 36, 36, 34, 34, 34, 629, 630, 631, 835,
++ 107, 156, 161, 157, 34, 95, 154, 35, 161, 35,
++ 107, 36, 36, 34, 647, 648, 649, 650, 153, 159,
++ 34, 36, 159, 36, 36, 36, 153, 153, 156, 154,
++ 154, 651, 155, 154, 12, 157, 141, 851, 156, 159,
++ 156, 855, 856, 155, 159, 159, 159, 157, 1010, 96,
++ 697, 154, 153, 17, 154, 154, 944, 34, 156, 170,
++ 944, 156, 156, 944, 157, 1027, 153, 126, 701, 154,
++ 154, 18, 34, 159, 156, 36, 159, 36, 36, 159,
++ 159, 969, 715, 158, 120, 969, 154, 159, 969, 19,
++ 161, 153, 153, 170, 167, 71, 153, 34, 153, 913,
++ 156, 159, 153, 170, 918, 170, 158, 921, 34, 157,
++ 170, 153, 155, 167, 107, 34, 736, 154, 156, 154,
++ 767, 171, 156, 156, 153, 745, 34, 154, 159, 49,
++ 48, 153, 37, 47, 153, 1, 159, 767, 154, 159,
++ 773, 159, 159, 957, 154, 379, 382, 32, 33, 34,
++ 159, 159, 785, 786, 159, 788, 789, 790, 791, 792,
++ 793, 794, 795, 796, 797, 798, 799, 171, 982, 172,
++ 172, 376, 627, 702, 59, 652, 385, 370, 487, 64,
++ 65, 461, 457, 997, 454, 430, 1000, 373, 73, 74,
++ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
++ 85, 86, 87, 88, 89, 493, 91, 92, 93, 94,
++ 467, 96, 730, 734, 62, 835, 490, 743, 3, 441,
++ 105, 106, 675, 389, 109, 110, 233, 308, 678, 965,
++ 835, 969, 904, 901, 119, 537, 613, 122, 403, 903,
++ 125, 874, 127, 406, 634, -1, 418, -1, 312, 209,
++ -1, -1, -1, -1, -1, -1, 423, 34, 433, 36,
++ -1, -1, -1, -1, 438, -1, -1, -1, -1, 916,
++ -1, -1, -1, 158, -1, -1, -1, -1, -1, 899,
++ 900, -1, 902, 903, -1, -1, -1, -1, 65, -1,
++ -1, -1, -1, -1, 902, -1, 73, 74, 75, 76,
++ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
++ 87, 88, 89, -1, -1, 92, 93, 94, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, 974, 105, 106,
++ 107, 108, -1, -1, -1, -1, -1, -1, 115, 116,
++ 117, 118, -1, -1, -1, -1, -1, -1, -1, -1,
++ 127, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, 1002,
++ -1, -1, 992, -1, 11, 12, -1, -1, -1, 1012,
++ 157, -1, -1, -1, -1, -1, 23, -1, -1, 1022,
++ 27, -1, -1, -1, -1, 32, 33, 34, -1, 1032,
++ -1, 38, 39, 40, 41, 42, 43, 44, 45, 46,
++ -1, -1, -1, 50, 51, 52, 53, -1, -1, -1,
++ -1, -1, 59, -1, -1, -1, -1, 64, 65, 66,
++ 67, 68, 69, 70, -1, 72, 73, 74, 75, 76,
++ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
++ 87, 88, 89, 90, 91, 92, 93, 94, -1, 96,
++ 97, -1, -1, -1, -1, -1, -1, -1, 105, 106,
++ -1, -1, 109, 110, -1, -1, -1, -1, -1, -1,
++ -1, -1, 119, 11, 12, 122, -1, 124, 125, -1,
++ 127, -1, -1, 130, -1, 23, -1, -1, -1, 27,
++ -1, -1, -1, -1, 32, 33, 34, -1, -1, -1,
++ 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
++ -1, 158, 50, 51, 52, 53, -1, -1, -1, -1,
++ 167, 59, -1, -1, -1, -1, 64, 65, 66, 67,
++ 68, 69, 70, -1, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+- 88, 89, -1, 91, 92, 93, 94, -1, 96, -1,
+- -1, -1, -1, -1, 971, -1, -1, 105, 106, -1,
++ 88, 89, 90, 91, 92, 93, 94, -1, 96, 97,
++ -1, -1, -1, -1, -1, -1, -1, 105, 106, -1,
+ -1, 109, 110, -1, -1, -1, -1, -1, -1, -1,
+- -1, 119, -1, -1, 122, -1, -1, 125, -1, 127,
++ -1, 119, -1, -1, 122, -1, 124, 125, -1, 127,
++ -1, 3, 130, 5, 6, 7, 8, 9, 10, 11,
++ -1, 13, 14, 15, 16, -1, -1, -1, 20, 21,
++ 22, -1, 24, 25, 26, -1, 28, 29, 30, -1,
++ 32, 33, 34, -1, -1, -1, -1, -1, -1, 167,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+- -1, -1, -1, -1, -1, -1, 999, -1, -1, 989,
+- -1, 11, 12, -1, -1, -1, 1009, -1, -1, -1,
+- -1, -1, -1, 23, -1, -1, 1019, 27, -1, -1,
+- -1, -1, 32, 33, 34, -1, 1029, -1, 38, 39,
+- 40, 41, 42, 43, 44, 45, 46, -1, -1, -1,
+- 50, 51, 52, 53, -1, -1, -1, -1, -1, 59,
+- -1, -1, -1, -1, 64, 65, 66, 67, 68, 69,
+- 70, -1, 72, 73, 74, 75, 76, 77, 78, 79,
+- 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+- 90, 91, 92, 93, 94, -1, 96, 97, -1, -1,
+- -1, -1, -1, -1, -1, 105, 106, -1, -1, 109,
+- 110, -1, -1, -1, -1, -1, -1, -1, -1, 119,
+- 11, 12, 122, -1, 124, 125, -1, 127, -1, -1,
+- 130, -1, 23, -1, -1, -1, 27, -1, -1, -1,
+- -1, 32, 33, 34, -1, -1, -1, 38, 39, 40,
+- 41, 42, 43, 44, 45, 46, -1, 157, -1, 50,
+- 51, 52, 53, -1, -1, -1, 166, -1, 59, -1,
+- -1, -1, -1, 64, 65, 66, 67, 68, 69, 70,
+- -1, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+- 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+- 91, 92, 93, 94, -1, 96, 97, -1, -1, -1,
+- -1, -1, -1, -1, 105, 106, -1, -1, 109, 110,
+- -1, -1, -1, -1, -1, -1, -1, -1, 119, -1,
+- -1, 122, -1, 124, 125, -1, 127, -1, 3, 130,
+- 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
+- 15, 16, -1, -1, -1, 20, 21, 22, -1, 24,
+- 25, 26, -1, 28, 29, 30, -1, 32, 33, 34,
+- -1, -1, -1, -1, -1, 166, -1, -1, -1, -1,
+- -1, -1, -1, -1, -1, -1, -1, -1, -1, 54,
+- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+- 65, -1, -1, -1, -1, -1, -1, -1, 73, 74,
+- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
+- 85, 86, 87, 88, 89, -1, 91, 92, 93, 94,
+- 34, 96, -1, -1, -1, -1, -1, -1, -1, -1,
+- 105, 106, -1, -1, 109, 110, 111, 112, 113, 114,
+- -1, -1, -1, -1, 119, -1, -1, 122, -1, -1,
+- 125, 65, 127, 128, 129, -1, 131, -1, -1, 73,
++ -1, -1, 54, 55, 56, 57, 58, 59, 60, 61,
++ 62, 63, 64, 65, -1, -1, -1, -1, -1, -1,
++ -1, 73, 74, 75, 76, 77, 78, 79, 80, 81,
++ 82, 83, 84, 85, 86, 87, 88, 89, -1, 91,
++ 92, 93, 94, 34, 96, -1, -1, -1, -1, -1,
++ -1, -1, -1, 105, 106, -1, -1, 109, 110, 111,
++ 112, 113, 114, -1, -1, -1, -1, 119, -1, -1,
++ 122, -1, -1, 125, 65, 127, 128, 129, -1, 131,
++ -1, -1, 73, 74, 75, 76, 77, 78, 79, 80,
++ 81, 82, 83, 84, 85, 86, 87, 88, 89, -1,
++ 34, 92, 93, 94, -1, 96, -1, 98, 99, 100,
++ 101, 102, 103, 104, 105, 106, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ 121, 65, -1, -1, -1, -1, 127, -1, -1, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+- 84, 85, 86, 87, 88, 89, -1, 34, 92, 93,
+- 94, -1, 96, -1, 98, 99, 100, 101, 102, 103,
+- 104, 105, 106, -1, -1, -1, -1, -1, -1, -1,
+- -1, -1, -1, -1, -1, -1, -1, 121, 65, -1,
++ 84, 85, 86, 87, 88, 89, 90, 34, 92, 93,
++ 94, -1, 96, 97, -1, -1, -1, -1, -1, -1,
++ -1, 105, 106, -1, -1, -1, -1, -1, -1, -1,
++ -1, -1, -1, -1, -1, 119, -1, -1, 65, -1,
+ -1, -1, -1, 127, -1, -1, 73, 74, 75, 76,
+ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, 34, 92, 93, 94, -1, 96,
+- 97, -1, -1, -1, -1, -1, -1, -1, 105, 106,
++ -1, -1, -1, -1, -1, -1, -1, -1, 105, 106,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 119, -1, -1, 65, -1, -1, -1, -1,
+ 127, -1, -1, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+- 90, 34, 92, 93, 94, -1, 96, -1, -1, -1,
++ 34, -1, 92, 93, 94, -1, 96, -1, -1, -1,
+ -1, -1, -1, -1, -1, 105, 106, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 119,
+- -1, -1, 65, -1, -1, -1, -1, 127, -1, -1,
+- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+- 83, 84, 85, 86, 87, 88, 89, 34, -1, 92,
+- 93, 94, -1, 96, -1, -1, -1, -1, -1, -1,
+- -1, -1, 105, 106, -1, -1, -1, -1, -1, -1,
+- -1, -1, -1, -1, -1, -1, 119, -1, 65, -1,
+- -1, -1, -1, -1, 127, -1, 73, 74, 75, 76,
+- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
+- 87, 88, 89, -1, -1, 92, 93, 94, -1, -1,
+- -1, -1, -1, -1, -1, -1, -1, -1, 105, 106,
+- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
++ -1, 65, -1, -1, -1, -1, 34, 127, -1, 73,
++ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
++ 84, 85, 86, 87, 88, 89, -1, -1, 92, 93,
++ 94, -1, 96, -1, -1, -1, -1, 65, -1, -1,
++ -1, 105, 106, -1, -1, 73, 74, 75, 76, 77,
++ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
++ 88, 89, -1, 127, 92, 93, 94, -1, -1, -1,
++ -1, -1, -1, -1, -1, -1, -1, 105, 106, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+- 127
++ -1, -1, -1, -1, -1, -1, -1, -1, -1, 127
+ };
+
+-/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+- symbol of state STATE-NUM. */
+-static const yytype_uint16 yystos[] =
++/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
++ state STATE-NUM. */
++static const yytype_int16 yystos[] =
+ {
+- 0, 175, 176, 177, 0, 176, 3, 5, 6, 7,
++ 0, 176, 177, 178, 0, 177, 3, 5, 6, 7,
+ 8, 9, 10, 11, 13, 14, 15, 16, 20, 21,
+ 22, 24, 25, 26, 28, 29, 30, 32, 33, 34,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 91,
+ 92, 93, 94, 96, 105, 106, 109, 110, 111, 112,
+- 113, 114, 119, 122, 125, 127, 128, 129, 131, 178,
+- 179, 180, 184, 188, 192, 196, 200, 204, 210, 212,
+- 218, 222, 226, 230, 234, 238, 239, 243, 247, 251,
+- 255, 262, 269, 279, 283, 284, 291, 292, 293, 294,
+- 306, 308, 309, 310, 311, 312, 313, 314, 315, 317,
+- 318, 328, 332, 335, 351, 352, 353, 357, 358, 361,
+- 363, 364, 393, 417, 421, 425, 34, 152, 201, 36,
+- 152, 181, 36, 152, 185, 36, 152, 189, 34, 152,
+- 193, 34, 152, 197, 31, 333, 334, 333, 333, 333,
+- 34, 152, 329, 35, 333, 333, 333, 333, 333, 333,
+- 333, 333, 65, 425, 152, 35, 152, 280, 35, 35,
+- 152, 285, 333, 333, 333, 34, 35, 152, 270, 277,
+- 277, 152, 256, 277, 152, 263, 277, 351, 351, 76,
+- 64, 65, 337, 79, 74, 75, 76, 79, 352, 425,
+- 421, 34, 231, 223, 34, 152, 227, 36, 152, 240,
+- 421, 351, 167, 152, 244, 277, 152, 248, 277, 152,
+- 252, 351, 167, 94, 30, 362, 34, 119, 424, 107,
+- 138, 151, 202, 203, 138, 182, 183, 138, 186, 187,
+- 138, 190, 191, 138, 194, 195, 138, 198, 199, 333,
+- 31, 33, 134, 140, 330, 331, 333, 35, 338, 351,
+- 163, 398, 235, 138, 139, 281, 282, 138, 286, 287,
+- 135, 136, 138, 146, 147, 148, 149, 150, 151, 272,
+- 273, 156, 274, 271, 107, 278, 138, 257, 258, 156,
+- 259, 138, 264, 265, 156, 266, 365, 359, 34, 339,
+- 76, 424, 34, 152, 219, 156, 156, 138, 228, 229,
+- 137, 143, 144, 145, 241, 242, 398, 152, 152, 205,
+- 421, 426, 138, 245, 246, 138, 249, 250, 138, 253,
+- 254, 426, 353, 425, 364, 152, 398, 152, 155, 159,
+- 160, 161, 162, 163, 164, 165, 166, 167, 168, 170,
+- 172, 173, 394, 162, 164, 423, 155, 155, 153, 154,
+- 155, 153, 154, 155, 153, 154, 155, 153, 154, 155,
+- 153, 154, 155, 153, 154, 155, 155, 153, 154, 333,
+- 34, 399, 400, 211, 34, 159, 236, 237, 339, 155,
+- 155, 153, 154, 155, 153, 154, 155, 155, 155, 155,
+- 155, 155, 155, 155, 155, 153, 154, 4, 12, 234,
+- 238, 275, 276, 319, 323, 278, 155, 153, 154, 234,
+- 238, 260, 261, 323, 155, 153, 154, 234, 238, 267,
+- 268, 323, 169, 367, 367, 398, 423, 398, 162, 156,
+- 220, 34, 232, 233, 34, 224, 225, 155, 153, 154,
+- 155, 155, 155, 155, 153, 154, 98, 99, 100, 101,
+- 102, 103, 104, 121, 406, 407, 408, 421, 422, 351,
+- 398, 154, 168, 155, 153, 154, 155, 153, 154, 155,
+- 153, 154, 168, 398, 406, 156, 418, 153, 152, 155,
+- 155, 155, 155, 155, 155, 155, 155, 155, 167, 155,
+- 168, 171, 155, 155, 152, 96, 34, 36, 381, 107,
+- 203, 36, 183, 36, 187, 36, 191, 34, 195, 34,
+- 199, 34, 107, 331, 155, 154, 163, 156, 214, 34,
+- 95, 153, 160, 35, 116, 117, 354, 282, 35, 287,
+- 36, 36, 277, 354, 354, 354, 354, 34, 107, 273,
+- 152, 320, 36, 152, 324, 157, 276, 277, 258, 157,
+- 261, 277, 265, 157, 268, 66, 67, 68, 368, 369,
+- 370, 398, 398, 336, 158, 34, 179, 221, 363, 158,
+- 157, 233, 157, 225, 381, 229, 36, 36, 36, 36,
+- 242, 339, 339, 339, 339, 339, 152, 152, 339, 153,
+- 154, 339, 155, 345, 153, 156, 206, 421, 277, 246,
+- 277, 250, 351, 254, 213, 153, 17, 18, 19, 234,
+- 238, 419, 420, 158, 421, 155, 155, 406, 34, 36,
+- 107, 277, 401, 400, 27, 50, 51, 52, 97, 215,
+- 216, 217, 234, 238, 294, 303, 307, 335, 34, 159,
+- 339, 141, 321, 322, 132, 143, 325, 326, 333, 158,
+- 158, 158, 154, 351, 366, 360, 156, 323, 327, 153,
+- 157, 179, 398, 398, 398, 398, 398, 406, 406, 398,
+- 96, 395, 408, 398, 152, 346, 349, 350, 123, 207,
+- 208, 209, 234, 238, 294, 214, 395, 333, 333, 333,
+- 157, 420, 17, 288, 153, 153, 169, 333, 333, 333,
+- 333, 421, 157, 216, 34, 155, 153, 154, 155, 155,
+- 153, 154, 369, 156, 371, 371, 34, 234, 238, 340,
+- 341, 342, 152, 345, 345, 345, 153, 153, 126, 396,
+- 351, 160, 161, 162, 163, 164, 165, 347, 159, 160,
+- 161, 162, 164, 166, 348, 333, 157, 208, 396, 333,
+- 18, 289, 158, 395, 278, 34, 158, 36, 322, 36,
+- 36, 326, 11, 23, 34, 38, 39, 40, 41, 42,
+- 43, 44, 45, 46, 51, 52, 53, 66, 67, 68,
+- 69, 70, 72, 90, 97, 124, 130, 166, 204, 218,
+- 234, 238, 294, 295, 296, 297, 298, 299, 300, 301,
+- 302, 303, 304, 305, 307, 316, 323, 335, 357, 358,
+- 361, 364, 372, 373, 374, 383, 385, 386, 388, 393,
+- 409, 412, 414, 415, 417, 158, 158, 155, 344, 157,
+- 342, 426, 339, 339, 120, 427, 153, 349, 36, 107,
+- 108, 115, 118, 156, 351, 354, 355, 425, 158, 427,
+- 333, 19, 290, 396, 160, 152, 333, 333, 152, 333,
+- 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
+- 333, 71, 382, 382, 382, 169, 410, 411, 384, 416,
+- 413, 387, 152, 375, 34, 157, 373, 349, 398, 158,
+- 153, 398, 398, 152, 155, 397, 157, 152, 397, 333,
+- 427, 278, 406, 406, 169, 169, 169, 90, 412, 412,
+- 385, 393, 421, 414, 34, 388, 133, 138, 142, 376,
+- 377, 156, 378, 152, 154, 343, 398, 351, 428, 107,
+- 398, 346, 356, 398, 397, 153, 153, 34, 155, 155,
+- 155, 153, 154, 234, 238, 323, 379, 380, 153, 158,
+- 153, 154, 170, 391, 153, 154, 391, 398, 395, 427,
+- 34, 381, 34, 377, 157, 380, 427, 327, 351, 392,
+- 158, 346, 158, 391, 427, 398, 158, 397, 421, 49,
+- 404, 327, 158, 398, 170, 389, 398, 152, 333, 48,
+- 403, 404, 404, 391, 390, 158, 158, 406, 333, 37,
+- 405, 403, 403, 158, 152, 327, 404, 153, 333, 47,
+- 402, 405, 405, 327, 406, 404, 403, 171, 333, 402,
+- 402, 404, 153, 403, 405, 403, 171
++ 113, 114, 119, 122, 125, 127, 128, 129, 131, 179,
++ 180, 181, 185, 189, 193, 197, 201, 205, 211, 213,
++ 219, 223, 227, 231, 235, 239, 240, 244, 248, 252,
++ 256, 263, 270, 280, 284, 285, 292, 293, 294, 295,
++ 307, 309, 310, 311, 312, 313, 314, 315, 316, 318,
++ 319, 329, 333, 336, 352, 353, 354, 358, 359, 362,
++ 364, 365, 394, 418, 422, 426, 34, 153, 202, 36,
++ 153, 182, 36, 153, 186, 36, 153, 190, 34, 153,
++ 194, 34, 153, 198, 31, 334, 335, 334, 334, 334,
++ 34, 153, 330, 35, 334, 334, 334, 334, 334, 334,
++ 334, 334, 65, 426, 153, 35, 153, 281, 35, 35,
++ 153, 286, 334, 334, 334, 34, 35, 153, 271, 278,
++ 278, 153, 257, 278, 153, 264, 278, 352, 352, 76,
++ 64, 65, 338, 79, 74, 75, 76, 79, 353, 426,
++ 422, 34, 232, 224, 34, 153, 228, 36, 153, 241,
++ 422, 352, 168, 153, 245, 278, 153, 249, 278, 153,
++ 253, 352, 168, 94, 30, 363, 34, 119, 425, 107,
++ 138, 152, 203, 204, 138, 183, 184, 138, 187, 188,
++ 138, 191, 192, 138, 195, 196, 138, 199, 200, 334,
++ 31, 33, 134, 140, 331, 332, 334, 35, 339, 352,
++ 164, 399, 236, 138, 139, 282, 283, 138, 287, 288,
++ 135, 136, 138, 146, 147, 148, 149, 150, 151, 152,
++ 273, 274, 157, 275, 272, 107, 279, 138, 258, 259,
++ 157, 260, 138, 265, 266, 157, 267, 366, 360, 34,
++ 340, 76, 425, 34, 153, 220, 157, 157, 138, 229,
++ 230, 137, 143, 144, 145, 242, 243, 399, 153, 153,
++ 206, 422, 427, 138, 246, 247, 138, 250, 251, 138,
++ 254, 255, 427, 354, 426, 365, 153, 399, 153, 156,
++ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
++ 171, 173, 174, 395, 163, 165, 424, 156, 156, 154,
++ 155, 156, 154, 155, 156, 154, 155, 156, 154, 155,
++ 156, 154, 155, 156, 154, 155, 156, 156, 154, 155,
++ 334, 34, 400, 401, 212, 34, 160, 237, 238, 340,
++ 156, 156, 154, 155, 156, 154, 155, 156, 156, 156,
++ 156, 156, 156, 156, 156, 156, 156, 154, 155, 4,
++ 12, 235, 239, 276, 277, 320, 324, 279, 156, 154,
++ 155, 235, 239, 261, 262, 324, 156, 154, 155, 235,
++ 239, 268, 269, 324, 170, 368, 368, 399, 424, 399,
++ 163, 157, 221, 34, 233, 234, 34, 225, 226, 156,
++ 154, 155, 156, 156, 156, 156, 154, 155, 98, 99,
++ 100, 101, 102, 103, 104, 121, 407, 408, 409, 422,
++ 423, 352, 399, 155, 169, 156, 154, 155, 156, 154,
++ 155, 156, 154, 155, 169, 399, 407, 157, 419, 154,
++ 153, 156, 156, 156, 156, 156, 156, 156, 156, 156,
++ 168, 156, 169, 172, 156, 156, 153, 96, 34, 36,
++ 382, 107, 204, 36, 184, 36, 188, 36, 192, 34,
++ 196, 34, 200, 34, 107, 332, 156, 155, 164, 157,
++ 215, 34, 95, 154, 161, 35, 116, 117, 355, 283,
++ 35, 288, 36, 36, 278, 355, 355, 355, 355, 355,
++ 34, 107, 274, 153, 321, 36, 153, 325, 158, 277,
++ 278, 259, 158, 262, 278, 266, 158, 269, 66, 67,
++ 68, 369, 370, 371, 399, 399, 337, 159, 34, 180,
++ 222, 364, 159, 158, 234, 158, 226, 382, 230, 36,
++ 36, 36, 36, 243, 340, 340, 340, 340, 340, 153,
++ 153, 340, 154, 155, 340, 156, 346, 154, 157, 207,
++ 422, 278, 247, 278, 251, 352, 255, 214, 154, 17,
++ 18, 19, 235, 239, 420, 421, 159, 422, 156, 156,
++ 407, 34, 36, 107, 278, 402, 401, 27, 50, 51,
++ 52, 97, 216, 217, 218, 235, 239, 295, 304, 308,
++ 336, 34, 160, 340, 141, 322, 323, 132, 143, 326,
++ 327, 334, 159, 159, 159, 155, 352, 367, 361, 157,
++ 324, 328, 154, 158, 180, 399, 399, 399, 399, 399,
++ 407, 407, 399, 96, 396, 409, 399, 153, 347, 350,
++ 351, 123, 208, 209, 210, 235, 239, 295, 215, 396,
++ 334, 334, 334, 158, 421, 17, 289, 154, 154, 170,
++ 334, 334, 334, 334, 422, 158, 217, 34, 156, 154,
++ 155, 156, 156, 154, 155, 370, 157, 372, 372, 34,
++ 235, 239, 341, 342, 343, 153, 346, 346, 346, 154,
++ 154, 126, 397, 352, 161, 162, 163, 164, 165, 166,
++ 348, 160, 161, 162, 163, 165, 167, 349, 334, 158,
++ 209, 397, 334, 18, 290, 159, 396, 279, 34, 159,
++ 36, 323, 36, 36, 327, 11, 23, 34, 38, 39,
++ 40, 41, 42, 43, 44, 45, 46, 51, 52, 53,
++ 66, 67, 68, 69, 70, 72, 90, 97, 124, 130,
++ 167, 205, 219, 235, 239, 295, 296, 297, 298, 299,
++ 300, 301, 302, 303, 304, 305, 306, 308, 317, 324,
++ 336, 358, 359, 362, 365, 373, 374, 375, 384, 386,
++ 387, 389, 394, 410, 413, 415, 416, 418, 159, 159,
++ 156, 345, 158, 343, 427, 340, 340, 120, 428, 154,
++ 350, 36, 107, 108, 115, 118, 157, 352, 355, 356,
++ 426, 159, 428, 334, 19, 291, 397, 161, 153, 334,
++ 334, 153, 334, 334, 334, 334, 334, 334, 334, 334,
++ 334, 334, 334, 334, 71, 383, 383, 383, 170, 411,
++ 412, 385, 417, 414, 388, 153, 376, 34, 158, 374,
++ 350, 399, 159, 154, 399, 399, 153, 156, 398, 158,
++ 153, 398, 334, 428, 279, 407, 407, 170, 170, 170,
++ 90, 413, 413, 386, 394, 422, 415, 34, 389, 133,
++ 138, 142, 377, 378, 157, 379, 153, 155, 344, 399,
++ 352, 429, 107, 399, 347, 357, 399, 398, 154, 154,
++ 34, 156, 156, 156, 154, 155, 235, 239, 324, 380,
++ 381, 154, 159, 154, 155, 171, 392, 154, 155, 392,
++ 399, 396, 428, 34, 382, 34, 378, 158, 381, 428,
++ 328, 352, 393, 159, 347, 159, 392, 428, 399, 159,
++ 398, 422, 49, 405, 328, 159, 399, 171, 390, 399,
++ 153, 334, 48, 404, 405, 405, 392, 391, 159, 159,
++ 407, 334, 37, 406, 404, 404, 159, 153, 328, 405,
++ 154, 334, 47, 403, 406, 406, 328, 407, 405, 404,
++ 172, 334, 403, 403, 405, 154, 404, 406, 404, 172
+ };
+
+-#define yyerrok (yyerrstatus = 0)
+-#define yyclearin (yychar = YYEMPTY)
+-#define YYEMPTY (-2)
+-#define YYEOF 0
+-
+-#define YYACCEPT goto yyacceptlab
+-#define YYABORT goto yyabortlab
+-#define YYERROR goto yyerrorlab
+-
++/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */
++static const yytype_int16 yyr1[] =
++{
++ 0, 175, 176, 176, 178, 177, 179, 179, 179, 179,
++ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
++ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
++ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
++ 179, 179, 179, 179, 180, 180, 180, 180, 180, 180,
++ 180, 180, 180, 180, 180, 180, 181, 182, 182, 183,
++ 183, 184, 185, 186, 186, 187, 187, 188, 189, 190,
++ 190, 191, 191, 192, 193, 194, 194, 195, 195, 196,
++ 197, 198, 198, 199, 199, 200, 201, 202, 202, 203,
++ 203, 204, 204, 205, 206, 206, 207, 208, 208, 209,
++ 209, 209, 209, 210, 212, 211, 214, 213, 215, 216,
++ 216, 217, 217, 217, 217, 217, 217, 217, 217, 217,
++ 218, 220, 219, 221, 221, 222, 222, 224, 223, 225,
++ 225, 226, 227, 228, 228, 229, 229, 230, 232, 231,
++ 233, 233, 234, 236, 235, 237, 237, 237, 237, 238,
++ 238, 239, 240, 241, 241, 241, 242, 242, 243, 243,
++ 243, 243, 244, 245, 245, 246, 246, 247, 248, 249,
++ 249, 250, 250, 251, 252, 253, 253, 254, 254, 255,
++ 256, 257, 257, 258, 258, 259, 260, 260, 261, 261,
++ 262, 262, 262, 263, 264, 264, 265, 265, 266, 267,
++ 267, 268, 268, 269, 269, 269, 270, 270, 272, 271,
++ 271, 273, 273, 274, 274, 274, 274, 274, 274, 274,
++ 274, 274, 274, 275, 275, 276, 276, 277, 277, 277,
++ 277, 278, 278, 279, 279, 280, 281, 281, 282, 282,
++ 283, 283, 284, 285, 286, 286, 287, 287, 288, 289,
++ 289, 290, 290, 291, 291, 292, 293, 294, 295, 296,
++ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
++ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
++ 317, 318, 319, 320, 321, 322, 322, 323, 324, 325,
++ 325, 325, 326, 326, 327, 327, 328, 328, 329, 330,
++ 330, 331, 331, 332, 332, 333, 334, 335, 335, 337,
++ 336, 338, 338, 338, 339, 339, 340, 340, 341, 341,
++ 342, 342, 343, 343, 343, 344, 344, 345, 345, 346,
++ 346, 347, 347, 348, 348, 348, 348, 348, 348, 349,
++ 349, 349, 349, 349, 349, 349, 350, 351, 351, 352,
++ 352, 353, 353, 354, 355, 355, 356, 356, 356, 356,
++ 356, 356, 356, 356, 356, 357, 357, 357, 358, 358,
++ 360, 361, 359, 363, 362, 364, 366, 367, 365, 368,
++ 368, 369, 369, 370, 371, 371, 371, 371, 372, 372,
++ 373, 373, 373, 374, 374, 374, 374, 374, 374, 374,
++ 374, 374, 374, 374, 374, 374, 374, 374, 374, 374,
++ 374, 374, 374, 374, 374, 374, 374, 374, 374, 374,
++ 374, 374, 374, 374, 374, 374, 374, 374, 375, 376,
++ 377, 377, 378, 378, 378, 379, 379, 380, 380, 381,
++ 381, 381, 382, 382, 383, 383, 385, 384, 384, 386,
++ 388, 387, 387, 389, 390, 391, 390, 392, 393, 392,
++ 394, 394, 394, 394, 395, 395, 395, 395, 395, 395,
++ 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
++ 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
++ 395, 395, 395, 396, 396, 397, 397, 398, 398, 399,
++ 399, 400, 400, 401, 401, 402, 402, 402, 402, 403,
++ 403, 404, 404, 405, 405, 406, 406, 407, 408, 408,
++ 408, 409, 409, 409, 409, 409, 409, 409, 409, 409,
++ 411, 410, 412, 410, 410, 414, 413, 413, 415, 415,
++ 417, 416, 416, 418, 419, 419, 420, 420, 421, 421,
++ 421, 421, 421, 422, 422, 423, 424, 424, 425, 425,
++ 425, 426, 426, 426, 426, 426, 426, 426, 426, 426,
++ 426, 426, 426, 426, 426, 426, 426, 426, 426, 426,
++ 426, 426, 426, 426, 426, 426, 426, 426, 426, 426,
++ 426, 426, 427, 427, 428, 428, 429, 429, 429
++};
+
+-/* Like YYERROR except do call yyerror. This remains here temporarily
+- to ease the transition to the new meaning of YYERROR, for GCC.
+- Once GCC version 2 has supplanted version 1, this can go. */
++/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */
++static const yytype_int8 yyr2[] =
++{
++ 0, 2, 1, 2, 0, 2, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 2, 1, 3, 1,
++ 3, 3, 2, 1, 3, 1, 3, 3, 2, 1,
++ 3, 1, 3, 3, 2, 1, 3, 1, 3, 3,
++ 3, 1, 3, 1, 3, 3, 2, 2, 3, 1,
++ 3, 3, 3, 5, 0, 3, 4, 1, 2, 1,
++ 1, 1, 1, 2, 0, 5, 0, 6, 4, 1,
++ 2, 1, 1, 1, 1, 2, 2, 1, 1, 1,
++ 14, 0, 5, 0, 3, 1, 2, 0, 5, 1,
++ 2, 1, 2, 1, 3, 1, 3, 3, 0, 5,
++ 1, 2, 1, 0, 5, 1, 2, 3, 4, 1,
++ 3, 1, 3, 0, 1, 3, 1, 3, 3, 3,
++ 3, 3, 2, 1, 3, 1, 3, 3, 2, 1,
++ 3, 1, 3, 3, 2, 1, 3, 1, 3, 3,
++ 3, 1, 3, 1, 3, 3, 0, 4, 1, 2,
++ 1, 1, 1, 3, 1, 3, 1, 3, 3, 0,
++ 4, 1, 2, 1, 1, 1, 3, 3, 0, 3,
++ 3, 1, 3, 3, 3, 3, 3, 3, 3, 3,
++ 3, 3, 3, 0, 4, 1, 2, 1, 1, 1,
++ 1, 1, 1, 0, 1, 2, 1, 3, 1, 3,
++ 3, 3, 2, 2, 1, 3, 1, 3, 3, 0,
++ 2, 0, 2, 0, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 2, 2, 3, 1, 3, 3, 3, 0,
++ 1, 3, 1, 3, 3, 3, 0, 1, 3, 1,
++ 3, 1, 3, 3, 3, 4, 2, 1, 2, 0,
++ 9, 0, 1, 1, 0, 1, 0, 1, 0, 1,
++ 1, 2, 1, 1, 4, 0, 1, 0, 2, 0,
++ 2, 1, 3, 1, 1, 1, 1, 1, 1, 0,
++ 1, 1, 1, 1, 1, 1, 3, 0, 3, 2,
++ 1, 1, 3, 1, 1, 1, 1, 4, 2, 1,
++ 1, 1, 1, 1, 1, 0, 1, 3, 6, 12,
++ 0, 0, 8, 0, 3, 4, 0, 0, 8, 0,
++ 2, 1, 3, 2, 0, 1, 1, 1, 0, 3,
++ 0, 1, 2, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 2, 2, 2, 3, 3, 3, 2, 3, 3,
++ 1, 3, 3, 3, 3, 0, 4, 1, 2, 1,
++ 1, 1, 1, 1, 0, 1, 0, 3, 1, 11,
++ 0, 3, 1, 11, 0, 0, 6, 0, 0, 7,
++ 17, 7, 17, 16, 1, 1, 1, 1, 1, 1,
++ 1, 1, 2, 2, 2, 2, 2, 2, 2, 2,
++ 2, 2, 3, 3, 1, 2, 2, 1, 2, 2,
++ 2, 1, 2, 0, 1, 0, 1, 0, 2, 0,
++ 3, 1, 3, 1, 3, 1, 5, 1, 1, 0,
++ 2, 0, 2, 0, 2, 0, 2, 1, 0, 1,
++ 3, 4, 4, 4, 3, 3, 6, 6, 3, 2,
++ 0, 3, 0, 3, 1, 0, 3, 1, 1, 1,
++ 0, 3, 1, 8, 0, 3, 1, 2, 1, 1,
++ 2, 2, 2, 4, 3, 3, 0, 1, 0, 3,
++ 2, 1, 4, 2, 2, 1, 1, 2, 1, 1,
++ 2, 2, 3, 1, 1, 1, 2, 2, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
++ 1, 1, 1, 3, 0, 4, 0, 1, 3
++};
+
+-#define YYFAIL goto yyerrlab
+
+-#define YYRECOVERING() (!!yyerrstatus)
++enum { YYENOMEM = -2 };
+
+-#define YYBACKUP(Token, Value) \
+-do \
+- if (yychar == YYEMPTY && yylen == 1) \
+- { \
+- yychar = (Token); \
+- yylval = (Value); \
+- yytoken = YYTRANSLATE (yychar); \
+- YYPOPSTACK (1); \
+- goto yybackup; \
+- } \
+- else \
+- { \
+- yyerror (YY_("syntax error: cannot back up")); \
+- YYERROR; \
+- } \
+-while (YYID (0))
+-
+-
+-#define YYTERROR 1
+-#define YYERRCODE 256
+-
+-
+-/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
+- If N is 0, then set CURRENT to the empty location which ends
+- the previous symbol: RHS[0] (always defined). */
+-
+-#define YYRHSLOC(Rhs, K) ((Rhs)[K])
+-#ifndef YYLLOC_DEFAULT
+-# define YYLLOC_DEFAULT(Current, Rhs, N) \
+- do \
+- if (YYID (N)) \
+- { \
+- (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
+- (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
+- (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
+- (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
+- } \
+- else \
+- { \
+- (Current).first_line = (Current).last_line = \
+- YYRHSLOC (Rhs, 0).last_line; \
+- (Current).first_column = (Current).last_column = \
+- YYRHSLOC (Rhs, 0).last_column; \
+- } \
+- while (YYID (0))
+-#endif
++#define yyerrok (yyerrstatus = 0)
++#define yyclearin (yychar = YYEMPTY)
+
++#define YYACCEPT goto yyacceptlab
++#define YYABORT goto yyabortlab
++#define YYERROR goto yyerrorlab
++#define YYNOMEM goto yyexhaustedlab
+
+-/* YY_LOCATION_PRINT -- Print the location on the stream.
+- This macro was not mandated originally: define only if we know
+- we won't break user code: when these are the locations we know. */
+-
+-#ifndef YY_LOCATION_PRINT
+-# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
+-# define YY_LOCATION_PRINT(File, Loc) \
+- fprintf (File, "%d.%d-%d.%d", \
+- (Loc).first_line, (Loc).first_column, \
+- (Loc).last_line, (Loc).last_column)
+-# else
+-# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+-# endif
+-#endif
+
++#define YYRECOVERING() (!!yyerrstatus)
+
+-/* YYLEX -- calling `yylex' with the right arguments. */
++#define YYBACKUP(Token, Value) \
++ do \
++ if (yychar == YYEMPTY) \
++ { \
++ yychar = (Token); \
++ yylval = (Value); \
++ YYPOPSTACK (yylen); \
++ yystate = *yyssp; \
++ goto yybackup; \
++ } \
++ else \
++ { \
++ yyerror (YY_("syntax error: cannot back up")); \
++ YYERROR; \
++ } \
++ while (0)
++
++/* Backward compatibility with an undocumented macro.
++ Use YYerror or YYUNDEF. */
++#define YYERRCODE YYUNDEF
+
+-#ifdef YYLEX_PARAM
+-# define YYLEX yylex (YYLEX_PARAM)
+-#else
+-# define YYLEX yylex ()
+-#endif
+
+ /* Enable debugging if requested. */
+ #if YYDEBUG
+@@ -2321,80 +2213,58 @@ while (YYID (0))
+ # define YYFPRINTF fprintf
+ # endif
+
+-# define YYDPRINTF(Args) \
+-do { \
+- if (yydebug) \
+- YYFPRINTF Args; \
+-} while (YYID (0))
+-
+-# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
+-do { \
+- if (yydebug) \
+- { \
+- YYFPRINTF (stderr, "%s ", Title); \
+- yy_symbol_print (stderr, \
+- Type, Value); \
+- YYFPRINTF (stderr, "\n"); \
+- } \
+-} while (YYID (0))
+-
+-
+-/*--------------------------------.
+-| Print this symbol on YYOUTPUT. |
+-`--------------------------------*/
+-
+-/*ARGSUSED*/
+-#if (defined __STDC__ || defined __C99__FUNC__ \
+- || defined __cplusplus || defined _MSC_VER)
+-static void
+-yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+-#else
++# define YYDPRINTF(Args) \
++do { \
++ if (yydebug) \
++ YYFPRINTF Args; \
++} while (0)
++
++
++
++
++# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
++do { \
++ if (yydebug) \
++ { \
++ YYFPRINTF (stderr, "%s ", Title); \
++ yy_symbol_print (stderr, \
++ Kind, Value); \
++ YYFPRINTF (stderr, "\n"); \
++ } \
++} while (0)
++
++
++/*-----------------------------------.
++| Print this symbol's value on YYO. |
++`-----------------------------------*/
++
+ static void
+-yy_symbol_value_print (yyoutput, yytype, yyvaluep)
+- FILE *yyoutput;
+- int yytype;
+- YYSTYPE const * const yyvaluep;
+-#endif
++yy_symbol_value_print (FILE *yyo,
++ yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
+ {
++ FILE *yyoutput = yyo;
++ YY_USE (yyoutput);
+ if (!yyvaluep)
+ return;
+-# ifdef YYPRINT
+- if (yytype < YYNTOKENS)
+- YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+-# else
+- YYUSE (yyoutput);
+-# endif
+- switch (yytype)
+- {
+- default:
+- break;
+- }
++ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
++ YY_USE (yykind);
++ YY_IGNORE_MAYBE_UNINITIALIZED_END
+ }
+
+
+-/*--------------------------------.
+-| Print this symbol on YYOUTPUT. |
+-`--------------------------------*/
++/*---------------------------.
++| Print this symbol on YYO. |
++`---------------------------*/
+
+-#if (defined __STDC__ || defined __C99__FUNC__ \
+- || defined __cplusplus || defined _MSC_VER)
+-static void
+-yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+-#else
+ static void
+-yy_symbol_print (yyoutput, yytype, yyvaluep)
+- FILE *yyoutput;
+- int yytype;
+- YYSTYPE const * const yyvaluep;
+-#endif
++yy_symbol_print (FILE *yyo,
++ yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
+ {
+- if (yytype < YYNTOKENS)
+- YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+- else
+- YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
++ YYFPRINTF (yyo, "%s %s (",
++ yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
+
+- yy_symbol_value_print (yyoutput, yytype, yyvaluep);
+- YYFPRINTF (yyoutput, ")");
++ yy_symbol_value_print (yyo, yykind, yyvaluep);
++ YYFPRINTF (yyo, ")");
+ }
+
+ /*------------------------------------------------------------------.
+@@ -2402,80 +2272,68 @@ yy_symbol_print (yyoutput, yytype, yyval
+ | TOP (included). |
+ `------------------------------------------------------------------*/
+
+-#if (defined __STDC__ || defined __C99__FUNC__ \
+- || defined __cplusplus || defined _MSC_VER)
+-static void
+-yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+-#else
+ static void
+-yy_stack_print (bottom, top)
+- yytype_int16 *bottom;
+- yytype_int16 *top;
+-#endif
++yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
+ {
+ YYFPRINTF (stderr, "Stack now");
+- for (; bottom <= top; ++bottom)
+- YYFPRINTF (stderr, " %d", *bottom);
++ for (; yybottom <= yytop; yybottom++)
++ {
++ int yybot = *yybottom;
++ YYFPRINTF (stderr, " %d", yybot);
++ }
+ YYFPRINTF (stderr, "\n");
+ }
+
+-# define YY_STACK_PRINT(Bottom, Top) \
+-do { \
+- if (yydebug) \
+- yy_stack_print ((Bottom), (Top)); \
+-} while (YYID (0))
++# define YY_STACK_PRINT(Bottom, Top) \
++do { \
++ if (yydebug) \
++ yy_stack_print ((Bottom), (Top)); \
++} while (0)
+
+
+ /*------------------------------------------------.
+ | Report that the YYRULE is going to be reduced. |
+ `------------------------------------------------*/
+
+-#if (defined __STDC__ || defined __C99__FUNC__ \
+- || defined __cplusplus || defined _MSC_VER)
+ static void
+-yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
+-#else
+-static void
+-yy_reduce_print (yyvsp, yyrule)
+- YYSTYPE *yyvsp;
+- int yyrule;
+-#endif
++yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp,
++ int yyrule)
+ {
++ int yylno = yyrline[yyrule];
+ int yynrhs = yyr2[yyrule];
+ int yyi;
+- unsigned long int yylno = yyrline[yyrule];
+- YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
+- yyrule - 1, yylno);
++ YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
++ yyrule - 1, yylno);
+ /* The symbols being reduced. */
+ for (yyi = 0; yyi < yynrhs; yyi++)
+ {
+- fprintf (stderr, " $%d = ", yyi + 1);
+- yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
+- &(yyvsp[(yyi + 1) - (yynrhs)])
+- );
+- fprintf (stderr, "\n");
++ YYFPRINTF (stderr, " $%d = ", yyi + 1);
++ yy_symbol_print (stderr,
++ YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
++ &yyvsp[(yyi + 1) - (yynrhs)]);
++ YYFPRINTF (stderr, "\n");
+ }
+ }
+
+-# define YY_REDUCE_PRINT(Rule) \
+-do { \
+- if (yydebug) \
+- yy_reduce_print (yyvsp, Rule); \
+-} while (YYID (0))
++# define YY_REDUCE_PRINT(Rule) \
++do { \
++ if (yydebug) \
++ yy_reduce_print (yyssp, yyvsp, Rule); \
++} while (0)
+
+ /* Nonzero means print parse trace. It is left uninitialized so that
+ multiple parsers can coexist. */
+ int yydebug;
+ #else /* !YYDEBUG */
+-# define YYDPRINTF(Args)
+-# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
++# define YYDPRINTF(Args) ((void) 0)
++# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
+ # define YY_STACK_PRINT(Bottom, Top)
+ # define YY_REDUCE_PRINT(Rule)
+ #endif /* !YYDEBUG */
+
+
+ /* YYINITDEPTH -- initial size of the parser's stacks. */
+-#ifndef YYINITDEPTH
++#ifndef YYINITDEPTH
+ # define YYINITDEPTH 200
+ #endif
+
+@@ -2490,478 +2348,219 @@ int yydebug;
+ # define YYMAXDEPTH 10000
+ #endif
+
+-\f
+
+-#if YYERROR_VERBOSE
+
+-# ifndef yystrlen
+-# if defined __GLIBC__ && defined _STRING_H
+-# define yystrlen strlen
+-# else
+-/* Return the length of YYSTR. */
+-#if (defined __STDC__ || defined __C99__FUNC__ \
+- || defined __cplusplus || defined _MSC_VER)
+-static YYSIZE_T
+-yystrlen (const char *yystr)
+-#else
+-static YYSIZE_T
+-yystrlen (yystr)
+- const char *yystr;
+-#endif
+-{
+- YYSIZE_T yylen;
+- for (yylen = 0; yystr[yylen]; yylen++)
+- continue;
+- return yylen;
+-}
+-# endif
+-# endif
+
+-# ifndef yystpcpy
+-# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
+-# define yystpcpy stpcpy
+-# else
+-/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+- YYDEST. */
+-#if (defined __STDC__ || defined __C99__FUNC__ \
+- || defined __cplusplus || defined _MSC_VER)
+-static char *
+-yystpcpy (char *yydest, const char *yysrc)
+-#else
+-static char *
+-yystpcpy (yydest, yysrc)
+- char *yydest;
+- const char *yysrc;
+-#endif
+-{
+- char *yyd = yydest;
+- const char *yys = yysrc;
+
+- while ((*yyd++ = *yys++) != '\0')
+- continue;
+-
+- return yyd - 1;
+-}
+-# endif
+-# endif
+-
+-# ifndef yytnamerr
+-/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
+- quotes and backslashes, so that it's suitable for yyerror. The
+- heuristic is that double-quoting is unnecessary unless the string
+- contains an apostrophe, a comma, or backslash (other than
+- backslash-backslash). YYSTR is taken from yytname. If YYRES is
+- null, do not copy; instead, return the length of what the result
+- would have been. */
+-static YYSIZE_T
+-yytnamerr (char *yyres, const char *yystr)
+-{
+- if (*yystr == '"')
+- {
+- YYSIZE_T yyn = 0;
+- char const *yyp = yystr;
+-
+- for (;;)
+- switch (*++yyp)
+- {
+- case '\'':
+- case ',':
+- goto do_not_strip_quotes;
+-
+- case '\\':
+- if (*++yyp != '\\')
+- goto do_not_strip_quotes;
+- /* Fall through. */
+- default:
+- if (yyres)
+- yyres[yyn] = *yyp;
+- yyn++;
+- break;
+-
+- case '"':
+- if (yyres)
+- yyres[yyn] = '\0';
+- return yyn;
+- }
+- do_not_strip_quotes: ;
+- }
+-
+- if (! yyres)
+- return yystrlen (yystr);
+-
+- return yystpcpy (yyres, yystr) - yyres;
+-}
+-# endif
+-
+-/* Copy into YYRESULT an error message about the unexpected token
+- YYCHAR while in state YYSTATE. Return the number of bytes copied,
+- including the terminating null byte. If 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 YYSIZE_MAXIMUM if overflow occurs during
+- size calculation. */
+-static YYSIZE_T
+-yysyntax_error (char *yyresult, int yystate, int yychar)
+-{
+- int yyn = yypact[yystate];
+-
+- if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
+- return 0;
+- else
+- {
+- int yytype = YYTRANSLATE (yychar);
+- YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
+- YYSIZE_T yysize = yysize0;
+- YYSIZE_T yysize1;
+- int yysize_overflow = 0;
+- enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+- int yyx;
+-
+-# if 0
+- /* This is so xgettext sees the translatable formats that are
+- constructed on the fly. */
+- YY_("syntax error, unexpected %s");
+- YY_("syntax error, unexpected %s, expecting %s");
+- YY_("syntax error, unexpected %s, expecting %s or %s");
+- YY_("syntax error, unexpected %s, expecting %s or %s or %s");
+- YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
+-# endif
+- char *yyfmt;
+- char const *yyf;
+- static char const yyunexpected[] = "syntax error, unexpected %s";
+- static char const yyexpecting[] = ", expecting %s";
+- static char const yyor[] = " or %s";
+- char yyformat[sizeof yyunexpected
+- + sizeof yyexpecting - 1
+- + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
+- * (sizeof yyor - 1))];
+- char const *yyprefix = yyexpecting;
+-
+- /* Start YYX at -YYN if negative to avoid negative indexes in
+- YYCHECK. */
+- int yyxbegin = yyn < 0 ? -yyn : 0;
+-
+- /* Stay within bounds of both yycheck and yytname. */
+- int yychecklim = YYLAST - yyn + 1;
+- int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+- int yycount = 1;
+-
+- yyarg[0] = yytname[yytype];
+- yyfmt = yystpcpy (yyformat, yyunexpected);
+-
+- for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+- {
+- if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+- {
+- yycount = 1;
+- yysize = yysize0;
+- yyformat[sizeof yyunexpected - 1] = '\0';
+- break;
+- }
+- yyarg[yycount++] = yytname[yyx];
+- yysize1 = yysize + yytnamerr (0, yytname[yyx]);
+- yysize_overflow |= (yysize1 < yysize);
+- yysize = yysize1;
+- yyfmt = yystpcpy (yyfmt, yyprefix);
+- yyprefix = yyor;
+- }
+-
+- yyf = YY_(yyformat);
+- yysize1 = yysize + yystrlen (yyf);
+- yysize_overflow |= (yysize1 < yysize);
+- yysize = yysize1;
+-
+- if (yysize_overflow)
+- return YYSIZE_MAXIMUM;
+-
+- if (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 *yyp = yyresult;
+- int yyi = 0;
+- while ((*yyp = *yyf) != '\0')
+- {
+- if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
+- {
+- yyp += yytnamerr (yyp, yyarg[yyi++]);
+- yyf += 2;
+- }
+- else
+- {
+- yyp++;
+- yyf++;
+- }
+- }
+- }
+- return yysize;
+- }
+-}
+-#endif /* YYERROR_VERBOSE */
+-\f
+
+ /*-----------------------------------------------.
+ | Release the memory associated to this symbol. |
+ `-----------------------------------------------*/
+
+-/*ARGSUSED*/
+-#if (defined __STDC__ || defined __C99__FUNC__ \
+- || defined __cplusplus || defined _MSC_VER)
+-static void
+-yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
+-#else
+ static void
+-yydestruct (yymsg, yytype, yyvaluep)
+- const char *yymsg;
+- int yytype;
+- YYSTYPE *yyvaluep;
+-#endif
++yydestruct (const char *yymsg,
++ yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
+ {
+- YYUSE (yyvaluep);
+-
++ YY_USE (yyvaluep);
+ if (!yymsg)
+ yymsg = "Deleting";
+- YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+-
+- switch (yytype)
+- {
++ YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
+
+- default:
+- break;
+- }
++ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
++ YY_USE (yykind);
++ YY_IGNORE_MAYBE_UNINITIALIZED_END
+ }
+-\f
+-
+-/* Prevent warnings from -Wmissing-prototypes. */
+-
+-#ifdef YYPARSE_PARAM
+-#if defined __STDC__ || defined __cplusplus
+-int yyparse (void *YYPARSE_PARAM);
+-#else
+-int yyparse ();
+-#endif
+-#else /* ! YYPARSE_PARAM */
+-#if defined __STDC__ || defined __cplusplus
+-int yyparse (void);
+-#else
+-int yyparse ();
+-#endif
+-#endif /* ! YYPARSE_PARAM */
+-
+
+
+-/* The look-ahead symbol. */
++/* Lookahead token kind. */
+ int yychar;
+
+-/* The semantic value of the look-ahead symbol. */
++/* The semantic value of the lookahead symbol. */
+ YYSTYPE yylval;
+-
+ /* Number of syntax errors so far. */
+ int yynerrs;
+
+
+
++
+ /*----------.
+ | yyparse. |
+ `----------*/
+
+-#ifdef YYPARSE_PARAM
+-#if (defined __STDC__ || defined __C99__FUNC__ \
+- || defined __cplusplus || defined _MSC_VER)
+-int
+-yyparse (void *YYPARSE_PARAM)
+-#else
+-int
+-yyparse (YYPARSE_PARAM)
+- void *YYPARSE_PARAM;
+-#endif
+-#else /* ! YYPARSE_PARAM */
+-#if (defined __STDC__ || defined __C99__FUNC__ \
+- || defined __cplusplus || defined _MSC_VER)
+ int
+ yyparse (void)
+-#else
+-int
+-yyparse ()
+-
+-#endif
+-#endif
+ {
+-
+- int yystate;
++ yy_state_fast_t yystate = 0;
++ /* Number of tokens to shift before error messages enabled. */
++ int yyerrstatus = 0;
++
++ /* Refer to the stacks through separate pointers, to allow yyoverflow
++ to reallocate them elsewhere. */
++
++ /* Their size. */
++ YYPTRDIFF_T yystacksize = YYINITDEPTH;
++
++ /* The state stack: array, bottom, top. */
++ yy_state_t yyssa[YYINITDEPTH];
++ yy_state_t *yyss = yyssa;
++ yy_state_t *yyssp = yyss;
++
++ /* The semantic value stack: array, bottom, top. */
++ YYSTYPE yyvsa[YYINITDEPTH];
++ YYSTYPE *yyvs = yyvsa;
++ YYSTYPE *yyvsp = yyvs;
++
+ int yyn;
++ /* The return value of yyparse. */
+ int yyresult;
+- /* Number of tokens to shift before error messages enabled. */
+- int yyerrstatus;
+- /* Look-ahead token as an internal (translated) token number. */
+- int yytoken = 0;
+-#if YYERROR_VERBOSE
+- /* Buffer for error messages, and its allocated size. */
+- char yymsgbuf[128];
+- char *yymsg = yymsgbuf;
+- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+-#endif
+-
+- /* Three stacks and their tools:
+- `yyss': related to states,
+- `yyvs': related to semantic values,
+- `yyls': related to locations.
+-
+- Refer to the stacks thru separate pointers, to allow yyoverflow
+- to reallocate them elsewhere. */
+-
+- /* The state stack. */
+- yytype_int16 yyssa[YYINITDEPTH];
+- yytype_int16 *yyss = yyssa;
+- yytype_int16 *yyssp;
+-
+- /* The semantic value stack. */
+- YYSTYPE yyvsa[YYINITDEPTH];
+- YYSTYPE *yyvs = yyvsa;
+- YYSTYPE *yyvsp;
+-
+-
+-
+-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
+-
+- YYSIZE_T yystacksize = YYINITDEPTH;
+-
++ /* Lookahead symbol kind. */
++ yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
+ /* The variables used to return semantic value and location from the
+ action routines. */
+ YYSTYPE yyval;
+
+
++
++#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
++
+ /* The number of symbols on the RHS of the reduced rule.
+ Keep to zero when no symbol should be popped. */
+ int yylen = 0;
+
+ YYDPRINTF ((stderr, "Starting parse\n"));
+
+- yystate = 0;
+- yyerrstatus = 0;
+- yynerrs = 0;
+- yychar = YYEMPTY; /* Cause a token to be read. */
+-
+- /* Initialize stack pointers.
+- Waste one element of value and location stack
+- so that they stay on the same level as the state stack.
+- The wasted elements are never initialized. */
+-
+- yyssp = yyss;
+- yyvsp = yyvs;
++ yychar = YYEMPTY; /* Cause a token to be read. */
+
+ goto yysetstate;
+
++
+ /*------------------------------------------------------------.
+-| yynewstate -- Push a new state, which is found in yystate. |
++| yynewstate -- push a new state, which is found in yystate. |
+ `------------------------------------------------------------*/
+- yynewstate:
++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. */
+ yyssp++;
+
+- yysetstate:
+- *yyssp = yystate;
++
++/*--------------------------------------------------------------------.
++| yysetstate -- set current state (the top of the stack) to yystate. |
++`--------------------------------------------------------------------*/
++yysetstate:
++ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
++ YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
++ YY_IGNORE_USELESS_CAST_BEGIN
++ *yyssp = YY_CAST (yy_state_t, yystate);
++ YY_IGNORE_USELESS_CAST_END
++ YY_STACK_PRINT (yyss, yyssp);
+
+ if (yyss + yystacksize - 1 <= yyssp)
++#if !defined yyoverflow && !defined YYSTACK_RELOCATE
++ YYNOMEM;
++#else
+ {
+ /* Get the current used size of the three stacks, in elements. */
+- YYSIZE_T yysize = yyssp - yyss + 1;
++ YYPTRDIFF_T yysize = yyssp - yyss + 1;
+
+-#ifdef yyoverflow
++# if defined yyoverflow
+ {
+- /* Give user a chance to reallocate the stack. Use copies of
+- these so that the &'s don't force the real ones into
+- memory. */
+- YYSTYPE *yyvs1 = yyvs;
+- yytype_int16 *yyss1 = 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 yyoverflow is a macro. */
+- yyoverflow (YY_("memory exhausted"),
+- &yyss1, yysize * sizeof (*yyssp),
+- &yyvs1, yysize * sizeof (*yyvsp),
+-
+- &yystacksize);
+-
+- yyss = yyss1;
+- yyvs = yyvs1;
++ /* Give user a chance to reallocate the stack. Use copies of
++ these so that the &'s don't force the real ones into
++ memory. */
++ yy_state_t *yyss1 = yyss;
++ YYSTYPE *yyvs1 = yyvs;
++
++ /* 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 yyoverflow is a macro. */
++ yyoverflow (YY_("memory exhausted"),
++ &yyss1, yysize * YYSIZEOF (*yyssp),
++ &yyvs1, yysize * YYSIZEOF (*yyvsp),
++ &yystacksize);
++ yyss = yyss1;
++ yyvs = yyvs1;
+ }
+-#else /* no yyoverflow */
+-# ifndef YYSTACK_RELOCATE
+- goto yyexhaustedlab;
+-# else
++# else /* defined YYSTACK_RELOCATE */
+ /* Extend the stack our own way. */
+ if (YYMAXDEPTH <= yystacksize)
+- goto yyexhaustedlab;
++ YYNOMEM;
+ yystacksize *= 2;
+ if (YYMAXDEPTH < yystacksize)
+- yystacksize = YYMAXDEPTH;
++ yystacksize = YYMAXDEPTH;
+
+ {
+- yytype_int16 *yyss1 = yyss;
+- union yyalloc *yyptr =
+- (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+- if (! yyptr)
+- goto yyexhaustedlab;
+- YYSTACK_RELOCATE (yyss);
+- YYSTACK_RELOCATE (yyvs);
+-
++ yy_state_t *yyss1 = yyss;
++ union yyalloc *yyptr =
++ YY_CAST (union yyalloc *,
++ YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
++ if (! yyptr)
++ YYNOMEM;
++ YYSTACK_RELOCATE (yyss_alloc, yyss);
++ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+ # undef YYSTACK_RELOCATE
+- if (yyss1 != yyssa)
+- YYSTACK_FREE (yyss1);
++ if (yyss1 != yyssa)
++ YYSTACK_FREE (yyss1);
+ }
+ # endif
+-#endif /* no yyoverflow */
+
+ yyssp = yyss + yysize - 1;
+ yyvsp = yyvs + yysize - 1;
+
+-
+- YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+- (unsigned long int) yystacksize));
++ YY_IGNORE_USELESS_CAST_BEGIN
++ YYDPRINTF ((stderr, "Stack size increased to %ld\n",
++ YY_CAST (long, yystacksize)));
++ YY_IGNORE_USELESS_CAST_END
+
+ if (yyss + yystacksize - 1 <= yyssp)
+- YYABORT;
++ YYABORT;
+ }
++#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
+
+- YYDPRINTF ((stderr, "Entering state %d\n", yystate));
++
++ if (yystate == YYFINAL)
++ YYACCEPT;
+
+ goto yybackup;
+
++
+ /*-----------.
+ | yybackup. |
+ `-----------*/
+ yybackup:
+-
+ /* Do appropriate processing given the current state. Read a
+- look-ahead token if we need one and don't already have one. */
++ lookahead token if we need one and don't already have one. */
+
+- /* First try to decide what to do without reference to look-ahead token. */
++ /* First try to decide what to do without reference to lookahead token. */
+ yyn = yypact[yystate];
+- if (yyn == YYPACT_NINF)
++ if (yypact_value_is_default (yyn))
+ goto yydefault;
+
+- /* Not known => get a look-ahead token if don't already have one. */
++ /* Not known => get a lookahead token if don't already have one. */
+
+- /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
++ /* YYCHAR is either empty, or end-of-input, or a valid lookahead. */
+ if (yychar == YYEMPTY)
+ {
+- YYDPRINTF ((stderr, "Reading a token: "));
+- yychar = YYLEX;
++ YYDPRINTF ((stderr, "Reading a token\n"));
++ yychar = yylex ();
+ }
+
+ if (yychar <= YYEOF)
+ {
+- yychar = yytoken = YYEOF;
++ yychar = YYEOF;
++ yytoken = YYSYMBOL_YYEOF;
+ YYDPRINTF ((stderr, "Now at end of input.\n"));
+ }
++ else if (yychar == YYerror)
++ {
++ /* The scanner already issued an error message, process directly
++ to error recovery. But do not keep the error token as
++ lookahead, it is too special and may lead us to an endless
++ loop in error recovery. */
++ yychar = YYUNDEF;
++ yytoken = YYSYMBOL_YYerror;
++ goto yyerrlab1;
++ }
+ else
+ {
+ yytoken = YYTRANSLATE (yychar);
+@@ -2976,30 +2575,26 @@ yybackup:
+ yyn = yytable[yyn];
+ if (yyn <= 0)
+ {
+- if (yyn == 0 || yyn == YYTABLE_NINF)
+- goto yyerrlab;
++ if (yytable_value_is_error (yyn))
++ goto yyerrlab;
+ yyn = -yyn;
+ goto yyreduce;
+ }
+
+- if (yyn == YYFINAL)
+- YYACCEPT;
+-
+ /* Count tokens shifted since error; after three, turn off error
+ status. */
+ if (yyerrstatus)
+ yyerrstatus--;
+
+- /* Shift the look-ahead token. */
++ /* Shift the lookahead token. */
+ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+-
+- /* Discard the shifted token unless it is eof. */
+- if (yychar != YYEOF)
+- yychar = YYEMPTY;
+-
+ yystate = yyn;
++ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+ *++yyvsp = yylval;
++ YY_IGNORE_MAYBE_UNINITIALIZED_END
+
++ /* Discard the shifted token. */
++ yychar = YYEMPTY;
+ goto yynewstate;
+
+
+@@ -3014,14 +2609,14 @@ yydefault:
+
+
+ /*-----------------------------.
+-| yyreduce -- Do a reduction. |
++| yyreduce -- do a reduction. |
+ `-----------------------------*/
+ yyreduce:
+ /* yyn is the number of a rule to reduce with. */
+ yylen = yyr2[yyn];
+
+ /* If YYLEN is nonzero, implement the default value of the action:
+- `$$ = $1'.
++ '$$ = $1'.
+
+ Otherwise, the following line sets YYVAL to garbage.
+ This behavior is undocumented and Bison
+@@ -3034,9 +2629,9 @@ yyreduce:
+ YY_REDUCE_PRINT (yyn);
+ switch (yyn)
+ {
+- case 4:
+-#line 578 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 4: /* $@1: %empty */
++#line 579 "parser.y"
++ {
+ /*
+ * We don't do these in parserEOF() because the parser is reading
+ * ahead and that would be too early.
+@@ -3053,11 +2648,12 @@ yyreduce:
+ previousFile = NULL;
+ }
+ }
++#line 2652 "../parser.c"
+ break;
+
+- case 55:
+-#line 648 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 55: /* nsstatement: typehdrcode */
++#line 649 "parser.y"
++ {
+ if (notSkipping())
+ {
+ classDef *scope = currentScope();
+@@ -3065,203 +2661,224 @@ yyreduce:
+ if (scope == NULL)
+ yyerror("%TypeHeaderCode can only be used in a namespace, class or mapped type");
+
+- appendCodeBlock(&scope->iff->hdrcode, (yyvsp[(1) - (1)].codeb));
++ appendCodeBlock(&scope->iff->hdrcode, (yyvsp[0].codeb));
+ }
+ }
++#line 2668 "../parser.c"
+ break;
+
+- case 56:
+-#line 661 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 56: /* defdocstringfmt: TK_DEFDOCSTRFMT defdocstringfmt_args */
++#line 662 "parser.y"
++ {
+ if (notSkipping())
+- currentModule->defdocstringfmt = convertFormat((yyvsp[(2) - (2)].defdocstringfmt).name);
++ currentModule->defdocstringfmt = convertFormat((yyvsp[0].defdocstringfmt).name);
+ }
++#line 2677 "../parser.c"
+ break;
+
+- case 57:
+-#line 667 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 57: /* defdocstringfmt_args: TK_STRING_VALUE */
++#line 668 "parser.y"
++ {
+ resetLexerState();
+
+- (yyval.defdocstringfmt).name = (yyvsp[(1) - (1)].text);
++ (yyval.defdocstringfmt).name = (yyvsp[0].text);
+ }
++#line 2687 "../parser.c"
+ break;
+
+- case 58:
+-#line 672 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.defdocstringfmt) = (yyvsp[(2) - (3)].defdocstringfmt);
++ case 58: /* defdocstringfmt_args: '(' defdocstringfmt_arg_list ')' */
++#line 673 "parser.y"
++ {
++ (yyval.defdocstringfmt) = (yyvsp[-1].defdocstringfmt);
+ }
++#line 2695 "../parser.c"
+ break;
+
+- case 60:
+-#line 678 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.defdocstringfmt) = (yyvsp[(1) - (3)].defdocstringfmt);
++ case 60: /* defdocstringfmt_arg_list: defdocstringfmt_arg_list ',' defdocstringfmt_arg */
++#line 679 "parser.y"
++ {
++ (yyval.defdocstringfmt) = (yyvsp[-2].defdocstringfmt);
+
+- switch ((yyvsp[(3) - (3)].defdocstringfmt).token)
++ switch ((yyvsp[0].defdocstringfmt).token)
+ {
+- case TK_NAME: (yyval.defdocstringfmt).name = (yyvsp[(3) - (3)].defdocstringfmt).name; break;
++ case TK_NAME: (yyval.defdocstringfmt).name = (yyvsp[0].defdocstringfmt).name; break;
+ }
+ }
++#line 2708 "../parser.c"
+ break;
+
+- case 61:
+-#line 688 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 61: /* defdocstringfmt_arg: TK_NAME '=' TK_STRING_VALUE */
++#line 689 "parser.y"
++ {
+ (yyval.defdocstringfmt).token = TK_NAME;
+
+- (yyval.defdocstringfmt).name = (yyvsp[(3) - (3)].text);
++ (yyval.defdocstringfmt).name = (yyvsp[0].text);
+ }
++#line 2718 "../parser.c"
+ break;
+
+- case 62:
+-#line 695 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 62: /* defdocstringsig: TK_DEFDOCSTRSIG defdocstringsig_args */
++#line 696 "parser.y"
++ {
+ if (notSkipping())
+- currentModule->defdocstringsig = convertSignature((yyvsp[(2) - (2)].defdocstringsig).name);
++ currentModule->defdocstringsig = convertSignature((yyvsp[0].defdocstringsig).name);
+ }
++#line 2727 "../parser.c"
+ break;
+
+- case 63:
+-#line 701 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 63: /* defdocstringsig_args: TK_STRING_VALUE */
++#line 702 "parser.y"
++ {
+ resetLexerState();
+
+- (yyval.defdocstringsig).name = (yyvsp[(1) - (1)].text);
++ (yyval.defdocstringsig).name = (yyvsp[0].text);
+ }
++#line 2737 "../parser.c"
+ break;
+
+- case 64:
+-#line 706 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.defdocstringsig) = (yyvsp[(2) - (3)].defdocstringsig);
++ case 64: /* defdocstringsig_args: '(' defdocstringsig_arg_list ')' */
++#line 707 "parser.y"
++ {
++ (yyval.defdocstringsig) = (yyvsp[-1].defdocstringsig);
+ }
++#line 2745 "../parser.c"
+ break;
+
+- case 66:
+-#line 712 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.defdocstringsig) = (yyvsp[(1) - (3)].defdocstringsig);
++ case 66: /* defdocstringsig_arg_list: defdocstringsig_arg_list ',' defdocstringsig_arg */
++#line 713 "parser.y"
++ {
++ (yyval.defdocstringsig) = (yyvsp[-2].defdocstringsig);
+
+- switch ((yyvsp[(3) - (3)].defdocstringsig).token)
++ switch ((yyvsp[0].defdocstringsig).token)
+ {
+- case TK_NAME: (yyval.defdocstringsig).name = (yyvsp[(3) - (3)].defdocstringsig).name; break;
++ case TK_NAME: (yyval.defdocstringsig).name = (yyvsp[0].defdocstringsig).name; break;
+ }
+ }
++#line 2758 "../parser.c"
+ break;
+
+- case 67:
+-#line 722 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 67: /* defdocstringsig_arg: TK_NAME '=' TK_STRING_VALUE */
++#line 723 "parser.y"
++ {
+ (yyval.defdocstringsig).token = TK_NAME;
+
+- (yyval.defdocstringsig).name = (yyvsp[(3) - (3)].text);
++ (yyval.defdocstringsig).name = (yyvsp[0].text);
+ }
++#line 2768 "../parser.c"
+ break;
+
+- case 68:
+-#line 729 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 68: /* defencoding: TK_DEFENCODING defencoding_args */
++#line 730 "parser.y"
++ {
+ if (notSkipping())
+ {
+- if ((currentModule->encoding = convertEncoding((yyvsp[(2) - (2)].defencoding).name)) == no_type)
++ if ((currentModule->encoding = convertEncoding((yyvsp[0].defencoding).name)) == no_type)
+ yyerror("The %DefaultEncoding name must be one of \"ASCII\", \"Latin-1\", \"UTF-8\" or \"None\"");
+ }
+ }
++#line 2780 "../parser.c"
+ break;
+
+- case 69:
+-#line 738 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 69: /* defencoding_args: TK_STRING_VALUE */
++#line 739 "parser.y"
++ {
+ resetLexerState();
+
+- (yyval.defencoding).name = (yyvsp[(1) - (1)].text);
++ (yyval.defencoding).name = (yyvsp[0].text);
+ }
++#line 2790 "../parser.c"
+ break;
+
+- case 70:
+-#line 743 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.defencoding) = (yyvsp[(2) - (3)].defencoding);
++ case 70: /* defencoding_args: '(' defencoding_arg_list ')' */
++#line 744 "parser.y"
++ {
++ (yyval.defencoding) = (yyvsp[-1].defencoding);
+ }
++#line 2798 "../parser.c"
+ break;
+
+- case 72:
+-#line 749 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.defencoding) = (yyvsp[(1) - (3)].defencoding);
++ case 72: /* defencoding_arg_list: defencoding_arg_list ',' defencoding_arg */
++#line 750 "parser.y"
++ {
++ (yyval.defencoding) = (yyvsp[-2].defencoding);
+
+- switch ((yyvsp[(3) - (3)].defencoding).token)
++ switch ((yyvsp[0].defencoding).token)
+ {
+- case TK_NAME: (yyval.defencoding).name = (yyvsp[(3) - (3)].defencoding).name; break;
++ case TK_NAME: (yyval.defencoding).name = (yyvsp[0].defencoding).name; break;
+ }
+ }
++#line 2811 "../parser.c"
+ break;
+
+- case 73:
+-#line 759 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 73: /* defencoding_arg: TK_NAME '=' TK_STRING_VALUE */
++#line 760 "parser.y"
++ {
+ (yyval.defencoding).token = TK_NAME;
+
+- (yyval.defencoding).name = (yyvsp[(3) - (3)].text);
++ (yyval.defencoding).name = (yyvsp[0].text);
+ }
++#line 2821 "../parser.c"
+ break;
+
+- case 74:
+-#line 766 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 74: /* plugin: TK_PLUGIN plugin_args */
++#line 767 "parser.y"
++ {
+ /*
+ * Note that %Plugin is internal in SIP v4. The current thinking
+ * is that it won't be needed for SIP v5.
+ */
+
+ if (notSkipping())
+- appendString(¤tSpec->plugins, (yyvsp[(2) - (2)].plugin).name);
++ appendString(¤tSpec->plugins, (yyvsp[0].plugin).name);
+ }
++#line 2835 "../parser.c"
+ break;
+
+- case 75:
+-#line 777 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 75: /* plugin_args: TK_NAME_VALUE */
++#line 778 "parser.y"
++ {
+ resetLexerState();
+
+- (yyval.plugin).name = (yyvsp[(1) - (1)].text);
++ (yyval.plugin).name = (yyvsp[0].text);
+ }
++#line 2845 "../parser.c"
+ break;
+
+- case 76:
+-#line 782 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.plugin) = (yyvsp[(2) - (3)].plugin);
++ case 76: /* plugin_args: '(' plugin_arg_list ')' */
++#line 783 "parser.y"
++ {
++ (yyval.plugin) = (yyvsp[-1].plugin);
+ }
++#line 2853 "../parser.c"
+ break;
+
+- case 78:
+-#line 788 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.plugin) = (yyvsp[(1) - (3)].plugin);
++ case 78: /* plugin_arg_list: plugin_arg_list ',' plugin_arg */
++#line 789 "parser.y"
++ {
++ (yyval.plugin) = (yyvsp[-2].plugin);
+
+- switch ((yyvsp[(3) - (3)].plugin).token)
++ switch ((yyvsp[0].plugin).token)
+ {
+- case TK_NAME: (yyval.plugin).name = (yyvsp[(3) - (3)].plugin).name; break;
++ case TK_NAME: (yyval.plugin).name = (yyvsp[0].plugin).name; break;
+ }
+ }
++#line 2866 "../parser.c"
+ break;
+
+- case 79:
+-#line 798 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 79: /* plugin_arg: TK_NAME '=' TK_NAME_VALUE */
++#line 799 "parser.y"
++ {
+ (yyval.plugin).token = TK_NAME;
+
+- (yyval.plugin).name = (yyvsp[(3) - (3)].text);
++ (yyval.plugin).name = (yyvsp[0].text);
+ }
++#line 2876 "../parser.c"
+ break;
+
+- case 80:
+-#line 805 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- if ((yyvsp[(2) - (3)].veh).name == NULL)
++ case 80: /* virterrorhandler: TK_VIRTERRORHANDLER veh_args codeblock */
++#line 806 "parser.y"
++ {
++ if ((yyvsp[-1].veh).name == NULL)
+ yyerror("%VirtualErrorHandler must have a 'name' argument");
+
+ if (notSkipping())
+@@ -3270,7 +2887,7 @@ yyreduce:
+
+ /* Check there isn't already a handler with the same name. */
+ for (tailp = ¤tSpec->errorhandlers; (veh = *tailp) != NULL; tailp = &veh->next)
+- if (strcmp(veh->name, (yyvsp[(2) - (3)].veh).name) == 0)
++ if (strcmp(veh->name, (yyvsp[-1].veh).name) == 0)
+ break;
+
+ if (veh != NULL)
+@@ -3278,8 +2895,8 @@ yyreduce:
+
+ veh = sipMalloc(sizeof (virtErrorHandler));
+
+- veh->name = (yyvsp[(2) - (3)].veh).name;
+- appendCodeBlock(&veh->code, (yyvsp[(3) - (3)].codeb));
++ veh->name = (yyvsp[-1].veh).name;
++ appendCodeBlock(&veh->code, (yyvsp[0].codeb));
+ veh->mod = currentModule;
+ veh->index = -1;
+ veh->next = NULL;
+@@ -3287,62 +2904,67 @@ yyreduce:
+ *tailp = veh;
+ }
+ }
++#line 2908 "../parser.c"
+ break;
+
+- case 81:
+-#line 834 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 81: /* veh_args: TK_NAME_VALUE */
++#line 835 "parser.y"
++ {
+ resetLexerState();
+
+- (yyval.veh).name = (yyvsp[(1) - (1)].text);
++ (yyval.veh).name = (yyvsp[0].text);
+ }
++#line 2918 "../parser.c"
+ break;
+
+- case 82:
+-#line 839 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.veh) = (yyvsp[(2) - (3)].veh);
++ case 82: /* veh_args: '(' veh_arg_list ')' */
++#line 840 "parser.y"
++ {
++ (yyval.veh) = (yyvsp[-1].veh);
+ }
++#line 2926 "../parser.c"
+ break;
+
+- case 84:
+-#line 845 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.veh) = (yyvsp[(1) - (3)].veh);
++ case 84: /* veh_arg_list: veh_arg_list ',' veh_arg */
++#line 846 "parser.y"
++ {
++ (yyval.veh) = (yyvsp[-2].veh);
+
+- switch ((yyvsp[(3) - (3)].veh).token)
++ switch ((yyvsp[0].veh).token)
+ {
+- case TK_NAME: (yyval.veh).name = (yyvsp[(3) - (3)].veh).name; break;
++ case TK_NAME: (yyval.veh).name = (yyvsp[0].veh).name; break;
+ }
+ }
++#line 2939 "../parser.c"
+ break;
+
+- case 85:
+-#line 855 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 85: /* veh_arg: TK_NAME '=' TK_NAME_VALUE */
++#line 856 "parser.y"
++ {
+ (yyval.veh).token = TK_NAME;
+
+- (yyval.veh).name = (yyvsp[(3) - (3)].text);
++ (yyval.veh).name = (yyvsp[0].text);
+ }
++#line 2949 "../parser.c"
+ break;
+
+- case 86:
+-#line 862 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 86: /* api: TK_API api_args */
++#line 863 "parser.y"
++ {
+ if (notSkipping())
+ {
+ apiVersionRangeDef *avd;
+
+- if (findAPI(currentSpec, (yyvsp[(2) - (2)].api).name) != NULL)
++ if (findAPI(currentSpec, (yyvsp[0].api).name) != NULL)
+ yyerror("The API name in the %API directive has already been defined");
+
+- if ((yyvsp[(2) - (2)].api).version < 1)
++ if ((yyvsp[0].api).version < 1)
+ yyerror("The version number in the %API directive must be greater than or equal to 1");
+
+ avd = sipMalloc(sizeof (apiVersionRangeDef));
+
+- avd->api_name = cacheName(currentSpec, (yyvsp[(2) - (2)].api).name);
+- avd->from = (yyvsp[(2) - (2)].api).version;
++ avd->api_name = cacheName(currentSpec, (yyvsp[0].api).name);
++ avd->from = (yyvsp[0].api).version;
+ avd->to = -1;
+
+ avd->next = currentModule->api_versions;
+@@ -3352,63 +2974,69 @@ yyreduce:
+ setIsUsedName(avd->api_name);
+ }
+ }
++#line 2978 "../parser.c"
+ break;
+
+- case 87:
+-#line 888 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 87: /* api_args: TK_NAME_VALUE TK_NUMBER_VALUE */
++#line 889 "parser.y"
++ {
+ resetLexerState();
+
+ deprecated("%API name and version number should be specified using the 'name' and 'version' arguments");
+
+- (yyval.api).name = (yyvsp[(1) - (2)].text);
+- (yyval.api).version = (yyvsp[(2) - (2)].number);
++ (yyval.api).name = (yyvsp[-1].text);
++ (yyval.api).version = (yyvsp[0].number);
+ }
++#line 2991 "../parser.c"
+ break;
+
+- case 88:
+-#line 896 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.api) = (yyvsp[(2) - (3)].api);
++ case 88: /* api_args: '(' api_arg_list ')' */
++#line 897 "parser.y"
++ {
++ (yyval.api) = (yyvsp[-1].api);
+ }
++#line 2999 "../parser.c"
+ break;
+
+- case 90:
+-#line 902 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.api) = (yyvsp[(1) - (3)].api);
++ case 90: /* api_arg_list: api_arg_list ',' api_arg */
++#line 903 "parser.y"
++ {
++ (yyval.api) = (yyvsp[-2].api);
+
+- switch ((yyvsp[(3) - (3)].api).token)
++ switch ((yyvsp[0].api).token)
+ {
+- case TK_NAME: (yyval.api).name = (yyvsp[(3) - (3)].api).name; break;
+- case TK_VERSION: (yyval.api).version = (yyvsp[(3) - (3)].api).version; break;
++ case TK_NAME: (yyval.api).name = (yyvsp[0].api).name; break;
++ case TK_VERSION: (yyval.api).version = (yyvsp[0].api).version; break;
+ }
+ }
++#line 3013 "../parser.c"
+ break;
+
+- case 91:
+-#line 913 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 91: /* api_arg: TK_NAME '=' name_or_string */
++#line 914 "parser.y"
++ {
+ (yyval.api).token = TK_NAME;
+
+- (yyval.api).name = (yyvsp[(3) - (3)].text);
++ (yyval.api).name = (yyvsp[0].text);
+ (yyval.api).version = 0;
+ }
++#line 3024 "../parser.c"
+ break;
+
+- case 92:
+-#line 919 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 92: /* api_arg: TK_VERSION '=' TK_NUMBER_VALUE */
++#line 920 "parser.y"
++ {
+ (yyval.api).token = TK_VERSION;
+
+ (yyval.api).name = NULL;
+- (yyval.api).version = (yyvsp[(3) - (3)].number);
++ (yyval.api).version = (yyvsp[0].number);
+ }
++#line 3035 "../parser.c"
+ break;
+
+- case 93:
+-#line 927 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 93: /* exception: TK_EXCEPTION scopedname baseexception optflags exception_body */
++#line 928 "parser.y"
++ {
+ if (notSkipping())
+ {
+ static const char *annos[] = {
+@@ -3420,20 +3048,20 @@ yyreduce:
+ exceptionDef *xd;
+ const char *pyname;
+
+- checkAnnos(&(yyvsp[(4) - (5)].optflags), annos);
++ checkAnnos(&(yyvsp[-1].optflags), annos);
+
+ if (currentSpec->genc)
+ yyerror("%Exception not allowed in a C module");
+
+- if ((yyvsp[(5) - (5)].exception).raise_code == NULL)
++ if ((yyvsp[0].exception).raise_code == NULL)
+ yyerror("%Exception must have a %RaiseCode sub-directive");
+
+- pyname = getPythonName(currentModule, &(yyvsp[(4) - (5)].optflags), scopedNameTail((yyvsp[(2) - (5)].scpvalp)));
++ pyname = getPythonName(currentModule, &(yyvsp[-1].optflags), scopedNameTail((yyvsp[-3].scpvalp)));
+
+ checkAttributes(currentSpec, currentModule, NULL, NULL,
+ pyname, FALSE);
+
+- xd = findException(currentSpec, (yyvsp[(2) - (5)].scpvalp), TRUE);
++ xd = findException(currentSpec, (yyvsp[-3].scpvalp), TRUE);
+
+ if (xd->cd != NULL)
+ yyerror("%Exception name has already been seen as a class name - it must be defined before being used");
+@@ -3443,29 +3071,31 @@ yyreduce:
+
+ /* Complete the definition. */
+ xd->iff->module = currentModule;
+- appendCodeBlock(&xd->iff->hdrcode, (yyvsp[(5) - (5)].exception).type_header_code);
++ appendCodeBlock(&xd->iff->hdrcode, (yyvsp[0].exception).type_header_code);
+ xd->pyname = pyname;
+- xd->bibase = (yyvsp[(3) - (5)].exceptionbase).bibase;
+- xd->base = (yyvsp[(3) - (5)].exceptionbase).base;
+- appendCodeBlock(&xd->raisecode, (yyvsp[(5) - (5)].exception).raise_code);
++ xd->bibase = (yyvsp[-2].exceptionbase).bibase;
++ xd->base = (yyvsp[-2].exceptionbase).base;
++ appendCodeBlock(&xd->raisecode, (yyvsp[0].exception).raise_code);
+
+- if (getOptFlag(&(yyvsp[(4) - (5)].optflags), "Default", bool_flag) != NULL)
++ if (getOptFlag(&(yyvsp[-1].optflags), "Default", bool_flag) != NULL)
+ currentModule->defexception = xd;
+ }
+ }
++#line 3085 "../parser.c"
+ break;
+
+- case 94:
+-#line 974 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 94: /* baseexception: %empty */
++#line 975 "parser.y"
++ {
+ (yyval.exceptionbase).bibase = NULL;
+ (yyval.exceptionbase).base = NULL;
+ }
++#line 3094 "../parser.c"
+ break;
+
+- case 95:
+-#line 978 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 95: /* baseexception: '(' scopedname ')' */
++#line 979 "parser.y"
++ {
+ exceptionDef *xd;
+
+ (yyval.exceptionbase).bibase = NULL;
+@@ -3473,13 +3103,13 @@ yyreduce:
+
+ /* See if it is a defined exception. */
+ for (xd = currentSpec->exceptions; xd != NULL; xd = xd->next)
+- if (compareScopedNames(xd->iff->fqcname, (yyvsp[(2) - (3)].scpvalp)) == 0)
++ if (compareScopedNames(xd->iff->fqcname, (yyvsp[-1].scpvalp)) == 0)
+ {
+ (yyval.exceptionbase).base = xd;
+ break;
+ }
+
+- if (xd == NULL && (yyvsp[(2) - (3)].scpvalp)->next == NULL && strncmp((yyvsp[(2) - (3)].scpvalp)->name, "SIP_", 4) == 0)
++ if (xd == NULL && (yyvsp[-1].scpvalp)->next == NULL && strncmp((yyvsp[-1].scpvalp)->name, "SIP_", 4) == 0)
+ {
+ /* See if it is a builtin exception. */
+
+@@ -3560,7 +3190,7 @@ yyreduce:
+ char **cp;
+
+ for (cp = builtins; *cp != NULL; ++cp)
+- if (strcmp((yyvsp[(2) - (3)].scpvalp)->name + 4, *cp) == 0)
++ if (strcmp((yyvsp[-1].scpvalp)->name + 4, *cp) == 0)
+ {
+ (yyval.exceptionbase).bibase = *cp;
+ break;
+@@ -3570,49 +3200,54 @@ yyreduce:
+ if ((yyval.exceptionbase).bibase == NULL && (yyval.exceptionbase).base == NULL)
+ yyerror("Unknown exception base type");
+ }
++#line 3204 "../parser.c"
+ break;
+
+- case 96:
+-#line 1085 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.exception) = (yyvsp[(2) - (4)].exception);
++ case 96: /* exception_body: '{' exception_body_directives '}' ';' */
++#line 1086 "parser.y"
++ {
++ (yyval.exception) = (yyvsp[-2].exception);
+ }
++#line 3212 "../parser.c"
+ break;
+
+- case 98:
+-#line 1091 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.exception) = (yyvsp[(1) - (2)].exception);
++ case 98: /* exception_body_directives: exception_body_directives exception_body_directive */
++#line 1092 "parser.y"
++ {
++ (yyval.exception) = (yyvsp[-1].exception);
+
+- switch ((yyvsp[(2) - (2)].exception).token)
++ switch ((yyvsp[0].exception).token)
+ {
+- case TK_RAISECODE: (yyval.exception).raise_code = (yyvsp[(2) - (2)].exception).raise_code; break;
+- case TK_TYPEHEADERCODE: (yyval.exception).type_header_code = (yyvsp[(2) - (2)].exception).type_header_code; break;
++ case TK_RAISECODE: (yyval.exception).raise_code = (yyvsp[0].exception).raise_code; break;
++ case TK_TYPEHEADERCODE: (yyval.exception).type_header_code = (yyvsp[0].exception).type_header_code; break;
+ }
+ }
++#line 3226 "../parser.c"
+ break;
+
+- case 99:
+-#line 1102 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 99: /* exception_body_directive: ifstart */
++#line 1103 "parser.y"
++ {
+ (yyval.exception).token = TK_IF;
+ }
++#line 3234 "../parser.c"
+ break;
+
+- case 100:
+-#line 1105 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 100: /* exception_body_directive: ifend */
++#line 1106 "parser.y"
++ {
+ (yyval.exception).token = TK_END;
+ }
++#line 3242 "../parser.c"
+ break;
+
+- case 101:
+-#line 1108 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 101: /* exception_body_directive: raisecode */
++#line 1109 "parser.y"
++ {
+ if (notSkipping())
+ {
+ (yyval.exception).token = TK_RAISECODE;
+- (yyval.exception).raise_code = (yyvsp[(1) - (1)].codeb);
++ (yyval.exception).raise_code = (yyvsp[0].codeb);
+ }
+ else
+ {
+@@ -3622,15 +3257,16 @@ yyreduce:
+
+ (yyval.exception).type_header_code = NULL;
+ }
++#line 3261 "../parser.c"
+ break;
+
+- case 102:
+-#line 1122 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 102: /* exception_body_directive: typehdrcode */
++#line 1123 "parser.y"
++ {
+ if (notSkipping())
+ {
+ (yyval.exception).token = TK_TYPEHEADERCODE;
+- (yyval.exception).type_header_code = (yyvsp[(1) - (1)].codeb);
++ (yyval.exception).type_header_code = (yyvsp[0].codeb);
+ }
+ else
+ {
+@@ -3640,18 +3276,20 @@ yyreduce:
+
+ (yyval.exception).raise_code = NULL;
+ }
++#line 3280 "../parser.c"
+ break;
+
+- case 103:
+-#line 1138 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
++ case 103: /* raisecode: TK_RAISECODE codeblock */
++#line 1139 "parser.y"
++ {
++ (yyval.codeb) = (yyvsp[0].codeb);
+ }
++#line 3288 "../parser.c"
+ break;
+
+- case 104:
+-#line 1143 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 104: /* $@2: %empty */
++#line 1144 "parser.y"
++ {
+ if (notSkipping())
+ {
+ static const char *annos[] = {
+@@ -3667,16 +3305,17 @@ yyreduce:
+ NULL
+ };
+
+- checkAnnos(&(yyvsp[(3) - (3)].optflags), annos);
++ checkAnnos(&(yyvsp[0].optflags), annos);
+
+- currentMappedType = newMappedType(currentSpec, &(yyvsp[(2) - (3)].memArg), &(yyvsp[(3) - (3)].optflags));
++ currentMappedType = newMappedType(currentSpec, &(yyvsp[-1].memArg), &(yyvsp[0].optflags));
+ }
+ }
++#line 3314 "../parser.c"
+ break;
+
+- case 106:
+-#line 1166 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 106: /* $@3: %empty */
++#line 1167 "parser.y"
++ {
+ if (notSkipping())
+ {
+ static const char *annos[] = {
+@@ -3694,7 +3333,7 @@ yyreduce:
+ mappedTypeTmplDef *mtt;
+ ifaceFileDef *iff;
+
+- checkAnnos(&(yyvsp[(4) - (4)].optflags), annos);
++ checkAnnos(&(yyvsp[0].optflags), annos);
+
+ if (currentSpec->genc)
+ yyerror("%MappedType templates not allowed in a C module");
+@@ -3703,32 +3342,32 @@ yyreduce:
+ * Check the template arguments are basic types or simple
+ * names.
+ */
+- for (a = 0; a < (yyvsp[(1) - (4)].signature).nrArgs; ++a)
++ for (a = 0; a < (yyvsp[-3].signature).nrArgs; ++a)
+ {
+- argDef *ad = &(yyvsp[(1) - (4)].signature).args[a];
++ argDef *ad = &(yyvsp[-3].signature).args[a];
+
+ if (ad->atype == defined_type && ad->u.snd->next != NULL)
+ yyerror("%MappedType template arguments must be simple names");
+ }
+
+- if ((yyvsp[(3) - (4)].memArg).atype != template_type)
++ if ((yyvsp[-1].memArg).atype != template_type)
+ yyerror("%MappedType template must map a template type");
+
+- (yyvsp[(3) - (4)].memArg).u.td->fqname = fullyQualifiedName((yyvsp[(3) - (4)].memArg).u.td->fqname);
++ (yyvsp[-1].memArg).u.td->fqname = fullyQualifiedName((yyvsp[-1].memArg).u.td->fqname);
+
+ /* Check a template hasn't already been provided. */
+ for (mtt = currentSpec->mappedtypetemplates; mtt != NULL; mtt = mtt->next)
+- if (compareScopedNames(mtt->mt->type.u.td->fqname, (yyvsp[(3) - (4)].memArg).u.td->fqname ) == 0 && sameTemplateSignature(&mtt->mt->type.u.td->types, &(yyvsp[(3) - (4)].memArg).u.td->types, TRUE))
++ if (compareScopedNames(mtt->mt->type.u.td->fqname, (yyvsp[-1].memArg).u.td->fqname ) == 0 && sameTemplateSignature(&mtt->mt->type.u.td->types, &(yyvsp[-1].memArg).u.td->types, TRUE))
+ yyerror("%MappedType template for this type has already been defined");
+
+- (yyvsp[(3) - (4)].memArg).nrderefs = 0;
+- (yyvsp[(3) - (4)].memArg).argflags = 0;
++ (yyvsp[-1].memArg).nrderefs = 0;
++ (yyvsp[-1].memArg).argflags = 0;
+
+ mtt = sipMalloc(sizeof (mappedTypeTmplDef));
+
+- mtt->sig = (yyvsp[(1) - (4)].signature);
+- mtt->mt = allocMappedType(currentSpec, &(yyvsp[(3) - (4)].memArg));
+- mappedTypeAnnos(mtt->mt, &(yyvsp[(4) - (4)].optflags));
++ mtt->sig = (yyvsp[-3].signature);
++ mtt->mt = allocMappedType(currentSpec, &(yyvsp[-1].memArg));
++ mappedTypeAnnos(mtt->mt, &(yyvsp[0].optflags));
+ mtt->next = currentSpec->mappedtypetemplates;
+
+ currentSpec->mappedtypetemplates = mtt;
+@@ -3741,11 +3380,12 @@ yyreduce:
+ mtt->mt->iff = iff;
+ }
+ }
++#line 3384 "../parser.c"
+ break;
+
+- case 108:
+-#line 1233 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 108: /* mtdefinition: '{' mtbody '}' ';' */
++#line 1234 "parser.y"
++ {
+ if (notSkipping())
+ {
+ if (currentMappedType->convfromcode == NULL)
+@@ -3757,83 +3397,90 @@ yyreduce:
+ currentMappedType = NULL;
+ }
+ }
++#line 3401 "../parser.c"
+ break;
+
+- case 113:
+-#line 1253 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 113: /* mtline: typehdrcode */
++#line 1254 "parser.y"
++ {
+ if (notSkipping())
+- appendCodeBlock(¤tMappedType->iff->hdrcode, (yyvsp[(1) - (1)].codeb));
++ appendCodeBlock(¤tMappedType->iff->hdrcode, (yyvsp[0].codeb));
+ }
++#line 3410 "../parser.c"
+ break;
+
+- case 114:
+-#line 1257 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 114: /* mtline: typecode */
++#line 1258 "parser.y"
++ {
+ if (notSkipping())
+- appendCodeBlock(¤tMappedType->typecode, (yyvsp[(1) - (1)].codeb));
++ appendCodeBlock(¤tMappedType->typecode, (yyvsp[0].codeb));
+ }
++#line 3419 "../parser.c"
+ break;
+
+- case 115:
+-#line 1261 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 115: /* mtline: TK_FROMTYPE codeblock */
++#line 1262 "parser.y"
++ {
+ if (notSkipping())
+ {
+ if (currentMappedType->convfromcode != NULL)
+ yyerror("%MappedType has more than one %ConvertFromTypeCode directive");
+
+- appendCodeBlock(¤tMappedType->convfromcode, (yyvsp[(2) - (2)].codeb));
++ appendCodeBlock(¤tMappedType->convfromcode, (yyvsp[0].codeb));
+ }
+ }
++#line 3433 "../parser.c"
+ break;
+
+- case 116:
+-#line 1270 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 116: /* mtline: TK_TOTYPE codeblock */
++#line 1271 "parser.y"
++ {
+ if (notSkipping())
+ {
+ if (currentMappedType->convtocode != NULL)
+ yyerror("%MappedType has more than one %ConvertToTypeCode directive");
+
+- appendCodeBlock(¤tMappedType->convtocode, (yyvsp[(2) - (2)].codeb));
++ appendCodeBlock(¤tMappedType->convtocode, (yyvsp[0].codeb));
+ }
+ }
++#line 3447 "../parser.c"
+ break;
+
+- case 117:
+-#line 1279 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 117: /* mtline: instancecode */
++#line 1280 "parser.y"
++ {
+ if (notSkipping())
+ {
+ if (currentMappedType->instancecode != NULL)
+ yyerror("%MappedType has more than one %InstanceCode directive");
+
+- appendCodeBlock(¤tMappedType->instancecode, (yyvsp[(1) - (1)].codeb));
++ appendCodeBlock(¤tMappedType->instancecode, (yyvsp[0].codeb));
+ }
+ }
++#line 3461 "../parser.c"
+ break;
+
+- case 120:
+-#line 1292 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 120: /* mtfunction: TK_STATIC cpptype TK_NAME_VALUE '(' arglist ')' optconst optexceptions optflags optsig ';' optdocstring premethodcode methodcode */
++#line 1293 "parser.y"
++ {
+ if (notSkipping())
+ {
+- applyTypeFlags(currentModule, &(yyvsp[(2) - (14)].memArg), &(yyvsp[(9) - (14)].optflags));
++ applyTypeFlags(currentModule, &(yyvsp[-12].memArg), &(yyvsp[-5].optflags));
+
+- (yyvsp[(5) - (14)].signature).result = (yyvsp[(2) - (14)].memArg);
++ (yyvsp[-9].signature).result = (yyvsp[-12].memArg);
+
+ newFunction(currentSpec, currentModule, NULL, NULL,
+- currentMappedType, 0, TRUE, FALSE, FALSE, FALSE, (yyvsp[(3) - (14)].text),
+- &(yyvsp[(5) - (14)].signature), (yyvsp[(7) - (14)].number), FALSE, &(yyvsp[(9) - (14)].optflags), (yyvsp[(14) - (14)].codeb), NULL, NULL, (yyvsp[(8) - (14)].throwlist), (yyvsp[(10) - (14)].optsignature), (yyvsp[(12) - (14)].docstr),
+- FALSE, (yyvsp[(13) - (14)].codeb));
++ currentMappedType, 0, TRUE, FALSE, FALSE, FALSE, (yyvsp[-11].text),
++ &(yyvsp[-9].signature), (yyvsp[-7].number), FALSE, &(yyvsp[-5].optflags), (yyvsp[0].codeb), NULL, NULL, (yyvsp[-6].throwlist), (yyvsp[-4].optsignature), (yyvsp[-2].docstr),
++ FALSE, (yyvsp[-1].codeb));
+ }
+ }
++#line 3479 "../parser.c"
+ break;
+
+- case 121:
+-#line 1307 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 121: /* $@4: %empty */
++#line 1308 "parser.y"
++ {
+ if (currentSpec -> genc)
+ yyerror("namespace definition not allowed in a C module");
+
+@@ -3848,18 +3495,19 @@ yyreduce:
+ scope = NULL;
+
+ ns = newClass(currentSpec, namespace_iface, NULL,
+- text2scopedName(scope, (yyvsp[(2) - (2)].text)), NULL, NULL, NULL, NULL);
++ text2scopedName(scope, (yyvsp[0].text)), NULL, NULL, NULL, NULL);
+
+ pushScope(ns);
+
+ sectionFlags = 0;
+ }
+ }
++#line 3506 "../parser.c"
+ break;
+
+- case 122:
+-#line 1328 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 122: /* namespace: TK_NAMESPACE TK_NAME_VALUE $@4 optnsbody ';' */
++#line 1329 "parser.y"
++ {
+ if (notSkipping())
+ {
+ if (inMainModule())
+@@ -3873,11 +3521,12 @@ yyreduce:
+ popScope();
+ }
+ }
++#line 3525 "../parser.c"
+ break;
+
+- case 127:
+-#line 1352 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 127: /* $@5: %empty */
++#line 1353 "parser.y"
++ {
+ if (notSkipping())
+ {
+ qualDef *qd;
+@@ -3887,11 +3536,12 @@ yyreduce:
+ yyerror("%Platforms has already been defined for this module");
+ }
+ }
++#line 3540 "../parser.c"
+ break;
+
+- case 128:
+-#line 1362 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 128: /* platforms: TK_PLATFORMS $@5 '{' platformlist '}' */
++#line 1363 "parser.y"
++ {
+ if (notSkipping())
+ {
+ qualDef *qd;
+@@ -3908,71 +3558,79 @@ yyreduce:
+ yyerror("No more than one of these %Platforms must be specified with the -t flag");
+ }
+ }
++#line 3562 "../parser.c"
+ break;
+
+- case 131:
+-#line 1385 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- newQualifier(currentModule, -1, -1, notSkipping(), (yyvsp[(1) - (1)].text),
++ case 131: /* platform: TK_NAME_VALUE */
++#line 1386 "parser.y"
++ {
++ newQualifier(currentModule, -1, -1, notSkipping(), (yyvsp[0].text),
+ platform_qualifier);
+ }
++#line 3571 "../parser.c"
+ break;
+
+- case 132:
+-#line 1391 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- newQualifier(currentModule, -1, -1, notSkipping(), (yyvsp[(2) - (2)].feature).name,
++ case 132: /* feature: TK_FEATURE feature_args */
++#line 1392 "parser.y"
++ {
++ newQualifier(currentModule, -1, -1, notSkipping(), (yyvsp[0].feature).name,
+ feature_qualifier);
+ }
++#line 3580 "../parser.c"
+ break;
+
+- case 133:
+-#line 1397 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 133: /* feature_args: TK_NAME_VALUE */
++#line 1398 "parser.y"
++ {
+ resetLexerState();
+
+- (yyval.feature).name = (yyvsp[(1) - (1)].text);
++ (yyval.feature).name = (yyvsp[0].text);
+ }
++#line 3590 "../parser.c"
+ break;
+
+- case 134:
+-#line 1402 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.feature) = (yyvsp[(2) - (3)].feature);
++ case 134: /* feature_args: '(' feature_arg_list ')' */
++#line 1403 "parser.y"
++ {
++ (yyval.feature) = (yyvsp[-1].feature);
+ }
++#line 3598 "../parser.c"
+ break;
+
+- case 136:
+-#line 1408 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.feature) = (yyvsp[(1) - (3)].feature);
++ case 136: /* feature_arg_list: feature_arg_list ',' feature_arg */
++#line 1409 "parser.y"
++ {
++ (yyval.feature) = (yyvsp[-2].feature);
+
+- switch ((yyvsp[(3) - (3)].feature).token)
++ switch ((yyvsp[0].feature).token)
+ {
+- case TK_NAME: (yyval.feature).name = (yyvsp[(3) - (3)].feature).name; break;
++ case TK_NAME: (yyval.feature).name = (yyvsp[0].feature).name; break;
+ }
+ }
++#line 3611 "../parser.c"
+ break;
+
+- case 137:
+-#line 1418 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 137: /* feature_arg: TK_NAME '=' name_or_string */
++#line 1419 "parser.y"
++ {
+ (yyval.feature).token = TK_NAME;
+
+- (yyval.feature).name = (yyvsp[(3) - (3)].text);
++ (yyval.feature).name = (yyvsp[0].text);
+ }
++#line 3621 "../parser.c"
+ break;
+
+- case 138:
+-#line 1425 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 138: /* $@6: %empty */
++#line 1426 "parser.y"
++ {
+ currentTimelineOrder = 0;
+ }
++#line 3629 "../parser.c"
+ break;
+
+- case 139:
+-#line 1428 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 139: /* timeline: TK_TIMELINE $@6 '{' qualifierlist '}' */
++#line 1429 "parser.y"
++ {
+ if (notSkipping())
+ {
+ qualDef *qd;
+@@ -3993,129 +3651,140 @@ yyreduce:
+ currentModule->nrtimelines++;
+ }
+ }
++#line 3655 "../parser.c"
+ break;
+
+- case 142:
+-#line 1455 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 142: /* qualifiername: TK_NAME_VALUE */
++#line 1456 "parser.y"
++ {
+ newQualifier(currentModule, currentModule->nrtimelines,
+- currentTimelineOrder++, TRUE, (yyvsp[(1) - (1)].text), time_qualifier);
++ currentTimelineOrder++, TRUE, (yyvsp[0].text), time_qualifier);
+ }
++#line 3664 "../parser.c"
+ break;
+
+- case 143:
+-#line 1461 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 143: /* $@7: %empty */
++#line 1462 "parser.y"
++ {
+ currentPlatforms = NULL;
+ }
++#line 3672 "../parser.c"
+ break;
+
+- case 144:
+-#line 1463 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 144: /* ifstart: TK_IF '(' $@7 qualifiers ')' */
++#line 1464 "parser.y"
++ {
+ if (stackPtr >= MAX_NESTED_IF)
+ yyerror("Internal error: increase the value of MAX_NESTED_IF");
+
+ /* Nested %Ifs are implicit logical ands. */
+
+ if (stackPtr > 0)
+- (yyvsp[(4) - (5)].boolean) = ((yyvsp[(4) - (5)].boolean) && skipStack[stackPtr - 1]);
++ (yyvsp[-1].boolean) = ((yyvsp[-1].boolean) && skipStack[stackPtr - 1]);
+
+- skipStack[stackPtr] = (yyvsp[(4) - (5)].boolean);
++ skipStack[stackPtr] = (yyvsp[-1].boolean);
+
+ platformStack[stackPtr] = currentPlatforms;
+
+ ++stackPtr;
+ }
++#line 3692 "../parser.c"
+ break;
+
+- case 145:
+-#line 1480 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.boolean) = platOrFeature((yyvsp[(1) - (1)].text), FALSE);
++ case 145: /* oredqualifiers: TK_NAME_VALUE */
++#line 1481 "parser.y"
++ {
++ (yyval.boolean) = platOrFeature((yyvsp[0].text), FALSE);
+ }
++#line 3700 "../parser.c"
+ break;
+
+- case 146:
+-#line 1483 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.boolean) = platOrFeature((yyvsp[(2) - (2)].text), TRUE);
++ case 146: /* oredqualifiers: '!' TK_NAME_VALUE */
++#line 1484 "parser.y"
++ {
++ (yyval.boolean) = platOrFeature((yyvsp[0].text), TRUE);
+ }
++#line 3708 "../parser.c"
+ break;
+
+- case 147:
+-#line 1486 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.boolean) = (platOrFeature((yyvsp[(3) - (3)].text), FALSE) || (yyvsp[(1) - (3)].boolean));
++ case 147: /* oredqualifiers: oredqualifiers TK_LOGICAL_OR TK_NAME_VALUE */
++#line 1487 "parser.y"
++ {
++ (yyval.boolean) = (platOrFeature((yyvsp[0].text), FALSE) || (yyvsp[-2].boolean));
+ }
++#line 3716 "../parser.c"
+ break;
+
+- case 148:
+-#line 1489 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.boolean) = (platOrFeature((yyvsp[(4) - (4)].text), TRUE) || (yyvsp[(1) - (4)].boolean));
++ case 148: /* oredqualifiers: oredqualifiers TK_LOGICAL_OR '!' TK_NAME_VALUE */
++#line 1490 "parser.y"
++ {
++ (yyval.boolean) = (platOrFeature((yyvsp[0].text), TRUE) || (yyvsp[-3].boolean));
+ }
++#line 3724 "../parser.c"
+ break;
+
+- case 150:
+-#line 1495 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.boolean) = timePeriod((yyvsp[(1) - (3)].text), (yyvsp[(3) - (3)].text));
++ case 150: /* qualifiers: optname '-' optname */
++#line 1496 "parser.y"
++ {
++ (yyval.boolean) = timePeriod((yyvsp[-2].text), (yyvsp[0].text));
+ }
++#line 3732 "../parser.c"
+ break;
+
+- case 151:
+-#line 1500 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 151: /* ifend: TK_END */
++#line 1501 "parser.y"
++ {
+ if (stackPtr-- <= 0)
+ yyerror("Too many %End directives");
+
+ currentPlatforms = (stackPtr == 0 ? NULL : platformStack[stackPtr - 1]);
+ }
++#line 3743 "../parser.c"
+ break;
+
+- case 152:
+-#line 1508 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 152: /* license: TK_LICENSE license_args optflags */
++#line 1509 "parser.y"
++ {
+ optFlag *of;
+
+- if ((yyvsp[(3) - (3)].optflags).nrFlags != 0)
++ if ((yyvsp[0].optflags).nrFlags != 0)
+ deprecated("%License annotations are deprecated, use arguments instead");
+
+- if ((yyvsp[(2) - (3)].license).type == NULL)
+- if ((of = getOptFlag(&(yyvsp[(3) - (3)].optflags), "Type", string_flag)) != NULL)
+- (yyvsp[(2) - (3)].license).type = of->fvalue.sval;
+-
+- if ((yyvsp[(2) - (3)].license).licensee == NULL)
+- if ((of = getOptFlag(&(yyvsp[(3) - (3)].optflags), "Licensee", string_flag)) != NULL)
+- (yyvsp[(2) - (3)].license).licensee = of->fvalue.sval;
+-
+- if ((yyvsp[(2) - (3)].license).signature == NULL)
+- if ((of = getOptFlag(&(yyvsp[(3) - (3)].optflags), "Signature", string_flag)) != NULL)
+- (yyvsp[(2) - (3)].license).signature = of->fvalue.sval;
+-
+- if ((yyvsp[(2) - (3)].license).timestamp == NULL)
+- if ((of = getOptFlag(&(yyvsp[(3) - (3)].optflags), "Timestamp", string_flag)) != NULL)
+- (yyvsp[(2) - (3)].license).timestamp = of->fvalue.sval;
++ if ((yyvsp[-1].license).type == NULL)
++ if ((of = getOptFlag(&(yyvsp[0].optflags), "Type", string_flag)) != NULL)
++ (yyvsp[-1].license).type = of->fvalue.sval;
++
++ if ((yyvsp[-1].license).licensee == NULL)
++ if ((of = getOptFlag(&(yyvsp[0].optflags), "Licensee", string_flag)) != NULL)
++ (yyvsp[-1].license).licensee = of->fvalue.sval;
++
++ if ((yyvsp[-1].license).signature == NULL)
++ if ((of = getOptFlag(&(yyvsp[0].optflags), "Signature", string_flag)) != NULL)
++ (yyvsp[-1].license).signature = of->fvalue.sval;
++
++ if ((yyvsp[-1].license).timestamp == NULL)
++ if ((of = getOptFlag(&(yyvsp[0].optflags), "Timestamp", string_flag)) != NULL)
++ (yyvsp[-1].license).timestamp = of->fvalue.sval;
+
+- if ((yyvsp[(2) - (3)].license).type == NULL)
++ if ((yyvsp[-1].license).type == NULL)
+ yyerror("%License must have a 'type' argument");
+
+ if (notSkipping())
+ {
+ currentModule->license = sipMalloc(sizeof (licenseDef));
+
+- currentModule->license->type = (yyvsp[(2) - (3)].license).type;
+- currentModule->license->licensee = (yyvsp[(2) - (3)].license).licensee;
+- currentModule->license->sig = (yyvsp[(2) - (3)].license).signature;
+- currentModule->license->timestamp = (yyvsp[(2) - (3)].license).timestamp;
++ currentModule->license->type = (yyvsp[-1].license).type;
++ currentModule->license->licensee = (yyvsp[-1].license).licensee;
++ currentModule->license->sig = (yyvsp[-1].license).signature;
++ currentModule->license->timestamp = (yyvsp[-1].license).timestamp;
+ }
+ }
++#line 3783 "../parser.c"
+ break;
+
+- case 153:
+-#line 1545 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 153: /* license_args: %empty */
++#line 1546 "parser.y"
++ {
+ resetLexerState();
+
+ (yyval.license).type = NULL;
+@@ -4123,242 +3792,265 @@ yyreduce:
+ (yyval.license).signature = NULL;
+ (yyval.license).timestamp = NULL;
+ }
++#line 3796 "../parser.c"
+ break;
+
+- case 154:
+-#line 1553 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.license).type = (yyvsp[(1) - (1)].text);
++ case 154: /* license_args: TK_STRING_VALUE */
++#line 1554 "parser.y"
++ {
++ (yyval.license).type = (yyvsp[0].text);
+ (yyval.license).licensee = NULL;
+ (yyval.license).signature = NULL;
+ (yyval.license).timestamp = NULL;
+ }
++#line 3807 "../parser.c"
+ break;
+
+- case 155:
+-#line 1559 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.license) = (yyvsp[(2) - (3)].license);
++ case 155: /* license_args: '(' license_arg_list ')' */
++#line 1560 "parser.y"
++ {
++ (yyval.license) = (yyvsp[-1].license);
+ }
++#line 3815 "../parser.c"
+ break;
+
+- case 157:
+-#line 1565 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.license) = (yyvsp[(1) - (3)].license);
++ case 157: /* license_arg_list: license_arg_list ',' license_arg */
++#line 1566 "parser.y"
++ {
++ (yyval.license) = (yyvsp[-2].license);
+
+- switch ((yyvsp[(3) - (3)].license).token)
++ switch ((yyvsp[0].license).token)
+ {
+- case TK_TYPE: (yyval.license).type = (yyvsp[(3) - (3)].license).type; break;
+- case TK_LICENSEE: (yyval.license).licensee = (yyvsp[(3) - (3)].license).licensee; break;
+- case TK_SIGNATURE: (yyval.license).signature = (yyvsp[(3) - (3)].license).signature; break;
+- case TK_TIMESTAMP: (yyval.license).timestamp = (yyvsp[(3) - (3)].license).timestamp; break;
++ case TK_TYPE: (yyval.license).type = (yyvsp[0].license).type; break;
++ case TK_LICENSEE: (yyval.license).licensee = (yyvsp[0].license).licensee; break;
++ case TK_SIGNATURE: (yyval.license).signature = (yyvsp[0].license).signature; break;
++ case TK_TIMESTAMP: (yyval.license).timestamp = (yyvsp[0].license).timestamp; break;
+ }
+ }
++#line 3831 "../parser.c"
+ break;
+
+- case 158:
+-#line 1578 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 158: /* license_arg: TK_TYPE '=' TK_STRING_VALUE */
++#line 1579 "parser.y"
++ {
+ (yyval.license).token = TK_NAME;
+
+- (yyval.license).type = (yyvsp[(3) - (3)].text);
++ (yyval.license).type = (yyvsp[0].text);
+ (yyval.license).licensee = NULL;
+ (yyval.license).signature = NULL;
+ (yyval.license).timestamp = NULL;
+ }
++#line 3844 "../parser.c"
+ break;
+
+- case 159:
+-#line 1586 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 159: /* license_arg: TK_LICENSEE '=' TK_STRING_VALUE */
++#line 1587 "parser.y"
++ {
+ (yyval.license).token = TK_LICENSEE;
+
+ (yyval.license).type = NULL;
+- (yyval.license).licensee = (yyvsp[(3) - (3)].text);
++ (yyval.license).licensee = (yyvsp[0].text);
+ (yyval.license).signature = NULL;
+ (yyval.license).timestamp = NULL;
+ }
++#line 3857 "../parser.c"
+ break;
+
+- case 160:
+-#line 1594 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 160: /* license_arg: TK_SIGNATURE '=' TK_STRING_VALUE */
++#line 1595 "parser.y"
++ {
+ (yyval.license).token = TK_SIGNATURE;
+
+ (yyval.license).type = NULL;
+ (yyval.license).licensee = NULL;
+- (yyval.license).signature = (yyvsp[(3) - (3)].text);
++ (yyval.license).signature = (yyvsp[0].text);
+ (yyval.license).timestamp = NULL;
+ }
++#line 3870 "../parser.c"
+ break;
+
+- case 161:
+-#line 1602 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 161: /* license_arg: TK_TIMESTAMP '=' TK_STRING_VALUE */
++#line 1603 "parser.y"
++ {
+ (yyval.license).token = TK_TIMESTAMP;
+
+ (yyval.license).type = NULL;
+ (yyval.license).licensee = NULL;
+ (yyval.license).signature = NULL;
+- (yyval.license).timestamp = (yyvsp[(3) - (3)].text);
++ (yyval.license).timestamp = (yyvsp[0].text);
+ }
++#line 3883 "../parser.c"
+ break;
+
+- case 162:
+-#line 1612 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 162: /* defmetatype: TK_DEFMETATYPE defmetatype_args */
++#line 1613 "parser.y"
++ {
+ if (notSkipping())
+ {
+ if (currentModule->defmetatype != NULL)
+ yyerror("%DefaultMetatype has already been defined for this module");
+
+- currentModule->defmetatype = cacheName(currentSpec, (yyvsp[(2) - (2)].defmetatype).name);
++ currentModule->defmetatype = cacheName(currentSpec, (yyvsp[0].defmetatype).name);
+ }
+ }
++#line 3897 "../parser.c"
+ break;
+
+- case 163:
+-#line 1623 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 163: /* defmetatype_args: dottedname */
++#line 1624 "parser.y"
++ {
+ resetLexerState();
+
+- (yyval.defmetatype).name = (yyvsp[(1) - (1)].text);
++ (yyval.defmetatype).name = (yyvsp[0].text);
+ }
++#line 3907 "../parser.c"
+ break;
+
+- case 164:
+-#line 1628 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.defmetatype) = (yyvsp[(2) - (3)].defmetatype);
++ case 164: /* defmetatype_args: '(' defmetatype_arg_list ')' */
++#line 1629 "parser.y"
++ {
++ (yyval.defmetatype) = (yyvsp[-1].defmetatype);
+ }
++#line 3915 "../parser.c"
+ break;
+
+- case 166:
+-#line 1634 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.defmetatype) = (yyvsp[(1) - (3)].defmetatype);
++ case 166: /* defmetatype_arg_list: defmetatype_arg_list ',' defmetatype_arg */
++#line 1635 "parser.y"
++ {
++ (yyval.defmetatype) = (yyvsp[-2].defmetatype);
+
+- switch ((yyvsp[(3) - (3)].defmetatype).token)
++ switch ((yyvsp[0].defmetatype).token)
+ {
+- case TK_NAME: (yyval.defmetatype).name = (yyvsp[(3) - (3)].defmetatype).name; break;
++ case TK_NAME: (yyval.defmetatype).name = (yyvsp[0].defmetatype).name; break;
+ }
+ }
++#line 3928 "../parser.c"
+ break;
+
+- case 167:
+-#line 1644 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 167: /* defmetatype_arg: TK_NAME '=' dottedname */
++#line 1645 "parser.y"
++ {
+ (yyval.defmetatype).token = TK_NAME;
+
+- (yyval.defmetatype).name = (yyvsp[(3) - (3)].text);
++ (yyval.defmetatype).name = (yyvsp[0].text);
+ }
++#line 3938 "../parser.c"
+ break;
+
+- case 168:
+-#line 1651 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 168: /* defsupertype: TK_DEFSUPERTYPE defsupertype_args */
++#line 1652 "parser.y"
++ {
+ if (notSkipping())
+ {
+ if (currentModule->defsupertype != NULL)
+ yyerror("%DefaultSupertype has already been defined for this module");
+
+- currentModule->defsupertype = cacheName(currentSpec, (yyvsp[(2) - (2)].defsupertype).name);
++ currentModule->defsupertype = cacheName(currentSpec, (yyvsp[0].defsupertype).name);
+ }
+ }
++#line 3952 "../parser.c"
+ break;
+
+- case 169:
+-#line 1662 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 169: /* defsupertype_args: dottedname */
++#line 1663 "parser.y"
++ {
+ resetLexerState();
+
+- (yyval.defsupertype).name = (yyvsp[(1) - (1)].text);
++ (yyval.defsupertype).name = (yyvsp[0].text);
+ }
++#line 3962 "../parser.c"
+ break;
+
+- case 170:
+-#line 1667 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.defsupertype) = (yyvsp[(2) - (3)].defsupertype);
++ case 170: /* defsupertype_args: '(' defsupertype_arg_list ')' */
++#line 1668 "parser.y"
++ {
++ (yyval.defsupertype) = (yyvsp[-1].defsupertype);
+ }
++#line 3970 "../parser.c"
+ break;
+
+- case 172:
+-#line 1673 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.defsupertype) = (yyvsp[(1) - (3)].defsupertype);
++ case 172: /* defsupertype_arg_list: defsupertype_arg_list ',' defsupertype_arg */
++#line 1674 "parser.y"
++ {
++ (yyval.defsupertype) = (yyvsp[-2].defsupertype);
+
+- switch ((yyvsp[(3) - (3)].defsupertype).token)
++ switch ((yyvsp[0].defsupertype).token)
+ {
+- case TK_NAME: (yyval.defsupertype).name = (yyvsp[(3) - (3)].defsupertype).name; break;
++ case TK_NAME: (yyval.defsupertype).name = (yyvsp[0].defsupertype).name; break;
+ }
+ }
++#line 3983 "../parser.c"
+ break;
+
+- case 173:
+-#line 1683 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 173: /* defsupertype_arg: TK_NAME '=' dottedname */
++#line 1684 "parser.y"
++ {
+ (yyval.defsupertype).token = TK_NAME;
+
+- (yyval.defsupertype).name = (yyvsp[(3) - (3)].text);
++ (yyval.defsupertype).name = (yyvsp[0].text);
+ }
++#line 3993 "../parser.c"
+ break;
+
+- case 174:
+-#line 1690 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 174: /* hiddenns: TK_HIDE_NS hiddenns_args */
++#line 1691 "parser.y"
++ {
+ if (notSkipping())
+ {
+ classDef *ns;
+
+ ns = newClass(currentSpec, namespace_iface, NULL,
+- fullyQualifiedName((yyvsp[(2) - (2)].hiddenns).name), NULL, NULL, NULL, NULL);
++ fullyQualifiedName((yyvsp[0].hiddenns).name), NULL, NULL, NULL, NULL);
+ setHiddenNamespace(ns);
+ }
+ }
++#line 4008 "../parser.c"
+ break;
+
+- case 175:
+-#line 1702 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 175: /* hiddenns_args: scopedname */
++#line 1703 "parser.y"
++ {
+ resetLexerState();
+
+- (yyval.hiddenns).name = (yyvsp[(1) - (1)].scpvalp);
++ (yyval.hiddenns).name = (yyvsp[0].scpvalp);
+ }
++#line 4018 "../parser.c"
+ break;
+
+- case 176:
+-#line 1707 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.hiddenns) = (yyvsp[(2) - (3)].hiddenns);
++ case 176: /* hiddenns_args: '(' hiddenns_arg_list ')' */
++#line 1708 "parser.y"
++ {
++ (yyval.hiddenns) = (yyvsp[-1].hiddenns);
+ }
++#line 4026 "../parser.c"
+ break;
+
+- case 178:
+-#line 1713 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.hiddenns) = (yyvsp[(1) - (3)].hiddenns);
++ case 178: /* hiddenns_arg_list: hiddenns_arg_list ',' hiddenns_arg */
++#line 1714 "parser.y"
++ {
++ (yyval.hiddenns) = (yyvsp[-2].hiddenns);
+
+- switch ((yyvsp[(3) - (3)].hiddenns).token)
++ switch ((yyvsp[0].hiddenns).token)
+ {
+- case TK_NAME: (yyval.hiddenns).name = (yyvsp[(3) - (3)].hiddenns).name; break;
++ case TK_NAME: (yyval.hiddenns).name = (yyvsp[0].hiddenns).name; break;
+ }
+ }
++#line 4039 "../parser.c"
+ break;
+
+- case 179:
+-#line 1723 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 179: /* hiddenns_arg: TK_NAME '=' scopedname */
++#line 1724 "parser.y"
++ {
+ (yyval.hiddenns).token = TK_NAME;
+
+- (yyval.hiddenns).name = (yyvsp[(3) - (3)].scpvalp);
++ (yyval.hiddenns).name = (yyvsp[0].scpvalp);
+ }
++#line 4049 "../parser.c"
+ break;
+
+- case 180:
+-#line 1730 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 180: /* consmodule: TK_CONSMODULE consmodule_args consmodule_body */
++#line 1731 "parser.y"
++ {
+ deprecated("%ConsolidatedModule is deprecated and will not be supported by SIP v5");
+
+ if (notSkipping())
+@@ -4370,99 +4062,109 @@ yyreduce:
+ if (currentModule->fullname != NULL)
+ yyerror("%ConsolidatedModule must appear before any %Module or %CModule directive");
+
+- setModuleName(currentSpec, currentModule, (yyvsp[(2) - (3)].consmodule).name);
+- currentModule->docstring = (yyvsp[(3) - (3)].consmodule).docstring;
++ setModuleName(currentSpec, currentModule, (yyvsp[-1].consmodule).name);
++ currentModule->docstring = (yyvsp[0].consmodule).docstring;
+
+ setIsConsolidated(currentModule);
+ }
+ }
++#line 4072 "../parser.c"
+ break;
+
+- case 181:
+-#line 1750 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 181: /* consmodule_args: dottedname */
++#line 1751 "parser.y"
++ {
+ resetLexerState();
+
+- (yyval.consmodule).name = (yyvsp[(1) - (1)].text);
++ (yyval.consmodule).name = (yyvsp[0].text);
+ }
++#line 4082 "../parser.c"
+ break;
+
+- case 182:
+-#line 1755 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.consmodule) = (yyvsp[(2) - (3)].consmodule);
++ case 182: /* consmodule_args: '(' consmodule_arg_list ')' */
++#line 1756 "parser.y"
++ {
++ (yyval.consmodule) = (yyvsp[-1].consmodule);
+ }
++#line 4090 "../parser.c"
+ break;
+
+- case 184:
+-#line 1761 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.consmodule) = (yyvsp[(1) - (3)].consmodule);
++ case 184: /* consmodule_arg_list: consmodule_arg_list ',' consmodule_arg */
++#line 1762 "parser.y"
++ {
++ (yyval.consmodule) = (yyvsp[-2].consmodule);
+
+- switch ((yyvsp[(3) - (3)].consmodule).token)
++ switch ((yyvsp[0].consmodule).token)
+ {
+- case TK_NAME: (yyval.consmodule).name = (yyvsp[(3) - (3)].consmodule).name; break;
++ case TK_NAME: (yyval.consmodule).name = (yyvsp[0].consmodule).name; break;
+ }
+ }
++#line 4103 "../parser.c"
+ break;
+
+- case 185:
+-#line 1771 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 185: /* consmodule_arg: TK_NAME '=' dottedname */
++#line 1772 "parser.y"
++ {
+ (yyval.consmodule).token = TK_NAME;
+
+- (yyval.consmodule).name = (yyvsp[(3) - (3)].text);
++ (yyval.consmodule).name = (yyvsp[0].text);
+ }
++#line 4113 "../parser.c"
+ break;
+
+- case 186:
+-#line 1778 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 186: /* consmodule_body: %empty */
++#line 1779 "parser.y"
++ {
+ (yyval.consmodule).token = 0;
+ (yyval.consmodule).docstring = NULL;
+ }
++#line 4122 "../parser.c"
+ break;
+
+- case 187:
+-#line 1782 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.consmodule) = (yyvsp[(2) - (4)].consmodule);
++ case 187: /* consmodule_body: '{' consmodule_body_directives '}' ';' */
++#line 1783 "parser.y"
++ {
++ (yyval.consmodule) = (yyvsp[-2].consmodule);
+ }
++#line 4130 "../parser.c"
+ break;
+
+- case 189:
+-#line 1788 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.consmodule) = (yyvsp[(1) - (2)].consmodule);
++ case 189: /* consmodule_body_directives: consmodule_body_directives consmodule_body_directive */
++#line 1789 "parser.y"
++ {
++ (yyval.consmodule) = (yyvsp[-1].consmodule);
+
+- switch ((yyvsp[(2) - (2)].consmodule).token)
++ switch ((yyvsp[0].consmodule).token)
+ {
+- case TK_DOCSTRING: (yyval.consmodule).docstring = (yyvsp[(2) - (2)].consmodule).docstring; break;
++ case TK_DOCSTRING: (yyval.consmodule).docstring = (yyvsp[0].consmodule).docstring; break;
+ }
+ }
++#line 4143 "../parser.c"
+ break;
+
+- case 190:
+-#line 1798 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 190: /* consmodule_body_directive: ifstart */
++#line 1799 "parser.y"
++ {
+ (yyval.consmodule).token = TK_IF;
+ }
++#line 4151 "../parser.c"
+ break;
+
+- case 191:
+-#line 1801 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 191: /* consmodule_body_directive: ifend */
++#line 1802 "parser.y"
++ {
+ (yyval.consmodule).token = TK_END;
+ }
++#line 4159 "../parser.c"
+ break;
+
+- case 192:
+-#line 1804 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 192: /* consmodule_body_directive: docstring */
++#line 1805 "parser.y"
++ {
+ if (notSkipping())
+ {
+ (yyval.consmodule).token = TK_DOCSTRING;
+- (yyval.consmodule).docstring = (yyvsp[(1) - (1)].docstr);
++ (yyval.consmodule).docstring = (yyvsp[0].docstr);
+ }
+ else
+ {
+@@ -4470,11 +4172,12 @@ yyreduce:
+ (yyval.consmodule).docstring = NULL;
+ }
+ }
++#line 4176 "../parser.c"
+ break;
+
+- case 193:
+-#line 1818 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 193: /* compmodule: TK_COMPOMODULE compmodule_args compmodule_body */
++#line 1819 "parser.y"
++ {
+ if (notSkipping())
+ {
+ /* Make sure this is the first mention of a module. */
+@@ -4484,99 +4187,109 @@ yyreduce:
+ if (currentModule->fullname != NULL)
+ yyerror("%CompositeModule must appear before any %Module directive");
+
+- setModuleName(currentSpec, currentModule, (yyvsp[(2) - (3)].compmodule).name);
+- currentModule->docstring = (yyvsp[(3) - (3)].compmodule).docstring;
++ setModuleName(currentSpec, currentModule, (yyvsp[-1].compmodule).name);
++ currentModule->docstring = (yyvsp[0].compmodule).docstring;
+
+ setIsComposite(currentModule);
+ }
+ }
++#line 4197 "../parser.c"
+ break;
+
+- case 194:
+-#line 1836 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 194: /* compmodule_args: dottedname */
++#line 1837 "parser.y"
++ {
+ resetLexerState();
+
+- (yyval.compmodule).name = (yyvsp[(1) - (1)].text);
++ (yyval.compmodule).name = (yyvsp[0].text);
+ }
++#line 4207 "../parser.c"
+ break;
+
+- case 195:
+-#line 1841 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.compmodule) = (yyvsp[(2) - (3)].compmodule);
++ case 195: /* compmodule_args: '(' compmodule_arg_list ')' */
++#line 1842 "parser.y"
++ {
++ (yyval.compmodule) = (yyvsp[-1].compmodule);
+ }
++#line 4215 "../parser.c"
+ break;
+
+- case 197:
+-#line 1847 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.compmodule) = (yyvsp[(1) - (3)].compmodule);
++ case 197: /* compmodule_arg_list: compmodule_arg_list ',' compmodule_arg */
++#line 1848 "parser.y"
++ {
++ (yyval.compmodule) = (yyvsp[-2].compmodule);
+
+- switch ((yyvsp[(3) - (3)].compmodule).token)
++ switch ((yyvsp[0].compmodule).token)
+ {
+- case TK_NAME: (yyval.compmodule).name = (yyvsp[(3) - (3)].compmodule).name; break;
++ case TK_NAME: (yyval.compmodule).name = (yyvsp[0].compmodule).name; break;
+ }
+ }
++#line 4228 "../parser.c"
+ break;
+
+- case 198:
+-#line 1857 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 198: /* compmodule_arg: TK_NAME '=' dottedname */
++#line 1858 "parser.y"
++ {
+ (yyval.compmodule).token = TK_NAME;
+
+- (yyval.compmodule).name = (yyvsp[(3) - (3)].text);
++ (yyval.compmodule).name = (yyvsp[0].text);
+ }
++#line 4238 "../parser.c"
+ break;
+
+- case 199:
+-#line 1864 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 199: /* compmodule_body: %empty */
++#line 1865 "parser.y"
++ {
+ (yyval.compmodule).token = 0;
+ (yyval.compmodule).docstring = NULL;
+ }
++#line 4247 "../parser.c"
+ break;
+
+- case 200:
+-#line 1868 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.compmodule) = (yyvsp[(2) - (4)].compmodule);
++ case 200: /* compmodule_body: '{' compmodule_body_directives '}' ';' */
++#line 1869 "parser.y"
++ {
++ (yyval.compmodule) = (yyvsp[-2].compmodule);
+ }
++#line 4255 "../parser.c"
+ break;
+
+- case 202:
+-#line 1874 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.compmodule) = (yyvsp[(1) - (2)].compmodule);
++ case 202: /* compmodule_body_directives: compmodule_body_directives compmodule_body_directive */
++#line 1875 "parser.y"
++ {
++ (yyval.compmodule) = (yyvsp[-1].compmodule);
+
+- switch ((yyvsp[(2) - (2)].compmodule).token)
++ switch ((yyvsp[0].compmodule).token)
+ {
+- case TK_DOCSTRING: (yyval.compmodule).docstring = (yyvsp[(2) - (2)].compmodule).docstring; break;
++ case TK_DOCSTRING: (yyval.compmodule).docstring = (yyvsp[0].compmodule).docstring; break;
+ }
+ }
++#line 4268 "../parser.c"
+ break;
+
+- case 203:
+-#line 1884 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 203: /* compmodule_body_directive: ifstart */
++#line 1885 "parser.y"
++ {
+ (yyval.compmodule).token = TK_IF;
+ }
++#line 4276 "../parser.c"
+ break;
+
+- case 204:
+-#line 1887 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 204: /* compmodule_body_directive: ifend */
++#line 1888 "parser.y"
++ {
+ (yyval.compmodule).token = TK_END;
+ }
++#line 4284 "../parser.c"
+ break;
+
+- case 205:
+-#line 1890 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 205: /* compmodule_body_directive: docstring */
++#line 1891 "parser.y"
++ {
+ if (notSkipping())
+ {
+ (yyval.compmodule).token = TK_DOCSTRING;
+- (yyval.compmodule).docstring = (yyvsp[(1) - (1)].docstr);
++ (yyval.compmodule).docstring = (yyvsp[0].docstr);
+ }
+ else
+ {
+@@ -4584,107 +4297,119 @@ yyreduce:
+ (yyval.compmodule).docstring = NULL;
+ }
+ }
++#line 4301 "../parser.c"
+ break;
+
+- case 206:
+-#line 1904 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- if ((yyvsp[(2) - (3)].module).name == NULL)
++ case 206: /* module: TK_MODULE module_args module_body */
++#line 1905 "parser.y"
++ {
++ if ((yyvsp[-1].module).name == NULL)
+ yyerror("%Module must have a 'name' argument");
+
+ if (notSkipping())
+ currentModule = configureModule(currentSpec, currentModule,
+- currentContext.filename, (yyvsp[(2) - (3)].module).name, (yyvsp[(2) - (3)].module).c_module,
+- (yyvsp[(2) - (3)].module).kwargs, (yyvsp[(2) - (3)].module).use_arg_names, (yyvsp[(2) - (3)].module).use_limited_api,
+- (yyvsp[(2) - (3)].module).call_super_init, (yyvsp[(2) - (3)].module).all_raise_py_exc,
+- (yyvsp[(2) - (3)].module).def_error_handler, (yyvsp[(3) - (3)].module).docstring);
+- }
++ currentContext.filename, (yyvsp[-1].module).name, (yyvsp[-1].module).c_module,
++ (yyvsp[-1].module).kwargs, (yyvsp[-1].module).use_arg_names, (yyvsp[-1].module).py_ssize_t_clean,
++ (yyvsp[-1].module).use_limited_api, (yyvsp[-1].module).call_super_init,
++ (yyvsp[-1].module).all_raise_py_exc, (yyvsp[-1].module).def_error_handler,
++ (yyvsp[0].module).docstring);
++ }
++#line 4318 "../parser.c"
+ break;
+
+- case 207:
+-#line 1915 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 207: /* module: TK_CMODULE dottedname optnumber */
++#line 1917 "parser.y"
++ {
+ deprecated("%CModule is deprecated, use %Module and the 'language' argument instead");
+
+ if (notSkipping())
+ currentModule = configureModule(currentSpec, currentModule,
+- currentContext.filename, (yyvsp[(2) - (3)].text), TRUE, defaultKwArgs,
+- FALSE, FALSE, -1, FALSE, NULL, NULL);
++ currentContext.filename, (yyvsp[-1].text), TRUE, defaultKwArgs,
++ FALSE, FALSE, FALSE, -1, FALSE, NULL, NULL);
+ }
++#line 4331 "../parser.c"
+ break;
+
+- case 208:
+-#line 1925 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {resetLexerState();}
++ case 208: /* $@8: %empty */
++#line 1927 "parser.y"
++ {resetLexerState();}
++#line 4337 "../parser.c"
+ break;
+
+- case 209:
+-#line 1925 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- if ((yyvsp[(3) - (3)].number) >= 0)
++ case 209: /* module_args: dottedname $@8 optnumber */
++#line 1927 "parser.y"
++ {
++ if ((yyvsp[0].number) >= 0)
+ deprecated("%Module version number should be specified using the 'version' argument");
+
+ (yyval.module).c_module = FALSE;
+ (yyval.module).kwargs = defaultKwArgs;
+- (yyval.module).name = (yyvsp[(1) - (3)].text);
++ (yyval.module).name = (yyvsp[-2].text);
+ (yyval.module).use_arg_names = FALSE;
++ (yyval.module).py_ssize_t_clean = FALSE;
+ (yyval.module).use_limited_api = FALSE;
+ (yyval.module).all_raise_py_exc = FALSE;
+ (yyval.module).call_super_init = -1;
+ (yyval.module).def_error_handler = NULL;
+ }
++#line 4356 "../parser.c"
+ break;
+
+- case 210:
+-#line 1938 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.module) = (yyvsp[(2) - (3)].module);
++ case 210: /* module_args: '(' module_arg_list ')' */
++#line 1941 "parser.y"
++ {
++ (yyval.module) = (yyvsp[-1].module);
+ }
++#line 4364 "../parser.c"
+ break;
+
+- case 212:
+-#line 1944 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.module) = (yyvsp[(1) - (3)].module);
++ case 212: /* module_arg_list: module_arg_list ',' module_arg */
++#line 1947 "parser.y"
++ {
++ (yyval.module) = (yyvsp[-2].module);
+
+- switch ((yyvsp[(3) - (3)].module).token)
++ switch ((yyvsp[0].module).token)
+ {
+- case TK_KWARGS: (yyval.module).kwargs = (yyvsp[(3) - (3)].module).kwargs; break;
+- case TK_LANGUAGE: (yyval.module).c_module = (yyvsp[(3) - (3)].module).c_module; break;
+- case TK_NAME: (yyval.module).name = (yyvsp[(3) - (3)].module).name; break;
+- case TK_USEARGNAMES: (yyval.module).use_arg_names = (yyvsp[(3) - (3)].module).use_arg_names; break;
+- case TK_USELIMITEDAPI: (yyval.module).use_limited_api = (yyvsp[(3) - (3)].module).use_limited_api; break;
+- case TK_ALLRAISEPYEXC: (yyval.module).all_raise_py_exc = (yyvsp[(3) - (3)].module).all_raise_py_exc; break;
+- case TK_CALLSUPERINIT: (yyval.module).call_super_init = (yyvsp[(3) - (3)].module).call_super_init; break;
+- case TK_DEFERRORHANDLER: (yyval.module).def_error_handler = (yyvsp[(3) - (3)].module).def_error_handler; break;
++ case TK_KWARGS: (yyval.module).kwargs = (yyvsp[0].module).kwargs; break;
++ case TK_LANGUAGE: (yyval.module).c_module = (yyvsp[0].module).c_module; break;
++ case TK_NAME: (yyval.module).name = (yyvsp[0].module).name; break;
++ case TK_USEARGNAMES: (yyval.module).use_arg_names = (yyvsp[0].module).use_arg_names; break;
++ case TK_PYSSIZETCLEAN: (yyval.module).py_ssize_t_clean = (yyvsp[0].module).py_ssize_t_clean; break;
++ case TK_USELIMITEDAPI: (yyval.module).use_limited_api = (yyvsp[0].module).use_limited_api; break;
++ case TK_ALLRAISEPYEXC: (yyval.module).all_raise_py_exc = (yyvsp[0].module).all_raise_py_exc; break;
++ case TK_CALLSUPERINIT: (yyval.module).call_super_init = (yyvsp[0].module).call_super_init; break;
++ case TK_DEFERRORHANDLER: (yyval.module).def_error_handler = (yyvsp[0].module).def_error_handler; break;
+ }
+ }
++#line 4385 "../parser.c"
+ break;
+
+- case 213:
+-#line 1961 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 213: /* module_arg: TK_KWARGS '=' TK_STRING_VALUE */
++#line 1965 "parser.y"
++ {
+ (yyval.module).token = TK_KWARGS;
+
+ (yyval.module).c_module = FALSE;
+- (yyval.module).kwargs = convertKwArgs((yyvsp[(3) - (3)].text));
++ (yyval.module).kwargs = convertKwArgs((yyvsp[0].text));
+ (yyval.module).name = NULL;
+ (yyval.module).use_arg_names = FALSE;
++ (yyval.module).py_ssize_t_clean = FALSE;
+ (yyval.module).use_limited_api = FALSE;
+ (yyval.module).all_raise_py_exc = FALSE;
+ (yyval.module).call_super_init = -1;
+ (yyval.module).def_error_handler = NULL;
+ }
++#line 4403 "../parser.c"
+ break;
+
+- case 214:
+-#line 1973 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 214: /* module_arg: TK_LANGUAGE '=' TK_STRING_VALUE */
++#line 1978 "parser.y"
++ {
+ (yyval.module).token = TK_LANGUAGE;
+
+- if (strcmp((yyvsp[(3) - (3)].text), "C++") == 0)
++ if (strcmp((yyvsp[0].text), "C++") == 0)
+ (yyval.module).c_module = FALSE;
+- else if (strcmp((yyvsp[(3) - (3)].text), "C") == 0)
++ else if (strcmp((yyvsp[0].text), "C") == 0)
+ (yyval.module).c_module = TRUE;
+ else
+ yyerror("%Module 'language' argument must be either \"C++\" or \"C\"");
+@@ -4692,115 +4417,147 @@ yyreduce:
+ (yyval.module).kwargs = defaultKwArgs;
+ (yyval.module).name = NULL;
+ (yyval.module).use_arg_names = FALSE;
++ (yyval.module).py_ssize_t_clean = FALSE;
+ (yyval.module).use_limited_api = FALSE;
+ (yyval.module).all_raise_py_exc = FALSE;
+ (yyval.module).call_super_init = -1;
+ (yyval.module).def_error_handler = NULL;
+ }
++#line 4427 "../parser.c"
+ break;
+
+- case 215:
+-#line 1991 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 215: /* module_arg: TK_NAME '=' dottedname */
++#line 1997 "parser.y"
++ {
+ (yyval.module).token = TK_NAME;
+
+ (yyval.module).c_module = FALSE;
+ (yyval.module).kwargs = defaultKwArgs;
+- (yyval.module).name = (yyvsp[(3) - (3)].text);
++ (yyval.module).name = (yyvsp[0].text);
+ (yyval.module).use_arg_names = FALSE;
++ (yyval.module).py_ssize_t_clean = FALSE;
+ (yyval.module).use_limited_api = FALSE;
+ (yyval.module).all_raise_py_exc = FALSE;
+ (yyval.module).call_super_init = -1;
+ (yyval.module).def_error_handler = NULL;
+ }
++#line 4445 "../parser.c"
+ break;
+
+- case 216:
+-#line 2003 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 216: /* module_arg: TK_USEARGNAMES '=' bool_value */
++#line 2010 "parser.y"
++ {
+ (yyval.module).token = TK_USEARGNAMES;
+
+ (yyval.module).c_module = FALSE;
+ (yyval.module).kwargs = defaultKwArgs;
+ (yyval.module).name = NULL;
+- (yyval.module).use_arg_names = (yyvsp[(3) - (3)].boolean);
++ (yyval.module).use_arg_names = (yyvsp[0].boolean);
++ (yyval.module).py_ssize_t_clean = FALSE;
+ (yyval.module).use_limited_api = FALSE;
+ (yyval.module).all_raise_py_exc = FALSE;
+ (yyval.module).call_super_init = -1;
+ (yyval.module).def_error_handler = NULL;
+ }
++#line 4463 "../parser.c"
+ break;
+
+- case 217:
+-#line 2015 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 217: /* module_arg: TK_PYSSIZETCLEAN '=' bool_value */
++#line 2023 "parser.y"
++ {
++ (yyval.module).token = TK_PYSSIZETCLEAN;
++
++ (yyval.module).c_module = FALSE;
++ (yyval.module).kwargs = defaultKwArgs;
++ (yyval.module).name = NULL;
++ (yyval.module).use_arg_names = FALSE;
++ (yyval.module).py_ssize_t_clean = (yyvsp[0].boolean);
++ (yyval.module).use_limited_api = FALSE;
++ (yyval.module).all_raise_py_exc = FALSE;
++ (yyval.module).call_super_init = -1;
++ (yyval.module).def_error_handler = NULL;
++ }
++#line 4481 "../parser.c"
++ break;
++
++ case 218: /* module_arg: TK_USELIMITEDAPI '=' bool_value */
++#line 2036 "parser.y"
++ {
+ (yyval.module).token = TK_USELIMITEDAPI;
+
+ (yyval.module).c_module = FALSE;
+ (yyval.module).kwargs = defaultKwArgs;
+ (yyval.module).name = NULL;
+ (yyval.module).use_arg_names = FALSE;
+- (yyval.module).use_limited_api = (yyvsp[(3) - (3)].boolean);
++ (yyval.module).py_ssize_t_clean = FALSE;
++ (yyval.module).use_limited_api = (yyvsp[0].boolean);
+ (yyval.module).all_raise_py_exc = FALSE;
+ (yyval.module).call_super_init = -1;
+ (yyval.module).def_error_handler = NULL;
+ }
++#line 4499 "../parser.c"
+ break;
+
+- case 218:
+-#line 2027 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 219: /* module_arg: TK_ALLRAISEPYEXC '=' bool_value */
++#line 2049 "parser.y"
++ {
+ (yyval.module).token = TK_ALLRAISEPYEXC;
+
+ (yyval.module).c_module = FALSE;
+ (yyval.module).kwargs = defaultKwArgs;
+ (yyval.module).name = NULL;
+ (yyval.module).use_arg_names = FALSE;
++ (yyval.module).py_ssize_t_clean = FALSE;
+ (yyval.module).use_limited_api = FALSE;
+- (yyval.module).all_raise_py_exc = (yyvsp[(3) - (3)].boolean);
++ (yyval.module).all_raise_py_exc = (yyvsp[0].boolean);
+ (yyval.module).call_super_init = -1;
+ (yyval.module).def_error_handler = NULL;
+ }
++#line 4517 "../parser.c"
+ break;
+
+- case 219:
+-#line 2039 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 220: /* module_arg: TK_CALLSUPERINIT '=' bool_value */
++#line 2062 "parser.y"
++ {
+ (yyval.module).token = TK_CALLSUPERINIT;
+
+ (yyval.module).c_module = FALSE;
+ (yyval.module).kwargs = defaultKwArgs;
+ (yyval.module).name = NULL;
+ (yyval.module).use_arg_names = FALSE;
++ (yyval.module).py_ssize_t_clean = FALSE;
+ (yyval.module).use_limited_api = FALSE;
+ (yyval.module).all_raise_py_exc = FALSE;
+- (yyval.module).call_super_init = (yyvsp[(3) - (3)].boolean);
++ (yyval.module).call_super_init = (yyvsp[0].boolean);
+ (yyval.module).def_error_handler = NULL;
+ }
++#line 4535 "../parser.c"
+ break;
+
+- case 220:
+-#line 2051 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 221: /* module_arg: TK_DEFERRORHANDLER '=' TK_NAME_VALUE */
++#line 2075 "parser.y"
++ {
+ (yyval.module).token = TK_DEFERRORHANDLER;
+
+ (yyval.module).c_module = FALSE;
+ (yyval.module).kwargs = defaultKwArgs;
+ (yyval.module).name = NULL;
+ (yyval.module).use_arg_names = FALSE;
++ (yyval.module).py_ssize_t_clean = FALSE;
+ (yyval.module).use_limited_api = FALSE;
+ (yyval.module).all_raise_py_exc = FALSE;
+ (yyval.module).call_super_init = -1;
+- (yyval.module).def_error_handler = (yyvsp[(3) - (3)].text);
++ (yyval.module).def_error_handler = (yyvsp[0].text);
+ }
++#line 4553 "../parser.c"
+ break;
+
+- case 221:
+-#line 2063 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 222: /* module_arg: TK_VERSION '=' TK_NUMBER_VALUE */
++#line 2088 "parser.y"
++ {
+ deprecated("%Module version numbers are deprecated and ignored");
+
+- if ((yyvsp[(3) - (3)].number) < 0)
++ if ((yyvsp[0].number) < 0)
+ yyerror("%Module 'version' argument cannot be negative");
+
+ (yyval.module).token = TK_VERSION;
+@@ -4809,68 +4566,76 @@ yyreduce:
+ (yyval.module).kwargs = defaultKwArgs;
+ (yyval.module).name = NULL;
+ (yyval.module).use_arg_names = FALSE;
++ (yyval.module).py_ssize_t_clean = FALSE;
+ (yyval.module).use_limited_api = FALSE;
+ (yyval.module).all_raise_py_exc = FALSE;
+ (yyval.module).call_super_init = -1;
+ (yyval.module).def_error_handler = NULL;
+ }
++#line 4576 "../parser.c"
+ break;
+
+- case 222:
+-#line 2082 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 223: /* module_body: %empty */
++#line 2108 "parser.y"
++ {
+ (yyval.module).token = 0;
+ (yyval.module).docstring = NULL;
+ }
++#line 4585 "../parser.c"
+ break;
+
+- case 223:
+-#line 2086 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.module) = (yyvsp[(2) - (4)].module);
++ case 224: /* module_body: '{' module_body_directives '}' ';' */
++#line 2112 "parser.y"
++ {
++ (yyval.module) = (yyvsp[-2].module);
+ }
++#line 4593 "../parser.c"
+ break;
+
+- case 225:
+-#line 2092 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.module) = (yyvsp[(1) - (2)].module);
++ case 226: /* module_body_directives: module_body_directives module_body_directive */
++#line 2118 "parser.y"
++ {
++ (yyval.module) = (yyvsp[-1].module);
+
+- switch ((yyvsp[(2) - (2)].module).token)
++ switch ((yyvsp[0].module).token)
+ {
+- case TK_DOCSTRING: (yyval.module).docstring = (yyvsp[(2) - (2)].module).docstring; break;
++ case TK_DOCSTRING: (yyval.module).docstring = (yyvsp[0].module).docstring; break;
+ }
+ }
++#line 4606 "../parser.c"
+ break;
+
+- case 226:
+-#line 2102 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 227: /* module_body_directive: ifstart */
++#line 2128 "parser.y"
++ {
+ (yyval.module).token = TK_IF;
+ }
++#line 4614 "../parser.c"
+ break;
+
+- case 227:
+-#line 2105 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 228: /* module_body_directive: ifend */
++#line 2131 "parser.y"
++ {
+ (yyval.module).token = TK_END;
+ }
++#line 4622 "../parser.c"
+ break;
+
+- case 228:
+-#line 2108 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 229: /* module_body_directive: autopyname */
++#line 2134 "parser.y"
++ {
+ (yyval.module).token = TK_AUTOPYNAME;
+ }
++#line 4630 "../parser.c"
+ break;
+
+- case 229:
+-#line 2111 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 230: /* module_body_directive: docstring */
++#line 2137 "parser.y"
++ {
+ if (notSkipping())
+ {
+ (yyval.module).token = TK_DOCSTRING;
+- (yyval.module).docstring = (yyvsp[(1) - (1)].docstr);
++ (yyval.module).docstring = (yyvsp[0].docstr);
+ }
+ else
+ {
+@@ -4878,11 +4643,12 @@ yyreduce:
+ (yyval.module).docstring = NULL;
+ }
+ }
++#line 4647 "../parser.c"
+ break;
+
+- case 231:
+-#line 2126 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 232: /* dottedname: TK_PATH_VALUE */
++#line 2152 "parser.y"
++ {
+ /*
+ * The grammar design is a bit broken and this is the easiest way
+ * to allow periods in names.
+@@ -4890,435 +4656,487 @@ yyreduce:
+
+ char *cp;
+
+- for (cp = (yyvsp[(1) - (1)].text); *cp != '\0'; ++cp)
++ for (cp = (yyvsp[0].text); *cp != '\0'; ++cp)
+ if (*cp != '.' && *cp != '_' && !isalnum(*cp))
+ yyerror("Invalid character in name");
+
+- (yyval.text) = (yyvsp[(1) - (1)].text);
++ (yyval.text) = (yyvsp[0].text);
+ }
++#line 4666 "../parser.c"
+ break;
+
+- case 232:
+-#line 2142 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 233: /* optnumber: %empty */
++#line 2168 "parser.y"
++ {
+ (yyval.number) = -1;
+ }
++#line 4674 "../parser.c"
+ break;
+
+- case 234:
+-#line 2148 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- if ((yyvsp[(2) - (2)].include).name == NULL)
++ case 235: /* include: TK_INCLUDE include_args */
++#line 2174 "parser.y"
++ {
++ if ((yyvsp[0].include).name == NULL)
+ yyerror("%Include must have a 'name' argument");
+
+ if (notSkipping())
+- parseFile(NULL, (yyvsp[(2) - (2)].include).name, NULL, (yyvsp[(2) - (2)].include).optional);
++ parseFile(NULL, (yyvsp[0].include).name, NULL, (yyvsp[0].include).optional);
+ }
++#line 4686 "../parser.c"
+ break;
+
+- case 235:
+-#line 2157 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 236: /* include_args: TK_PATH_VALUE */
++#line 2183 "parser.y"
++ {
+ resetLexerState();
+
+- (yyval.include).name = (yyvsp[(1) - (1)].text);
++ (yyval.include).name = (yyvsp[0].text);
+ (yyval.include).optional = FALSE;
+ }
++#line 4697 "../parser.c"
+ break;
+
+- case 236:
+-#line 2163 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.include) = (yyvsp[(2) - (3)].include);
++ case 237: /* include_args: '(' include_arg_list ')' */
++#line 2189 "parser.y"
++ {
++ (yyval.include) = (yyvsp[-1].include);
+ }
++#line 4705 "../parser.c"
+ break;
+
+- case 238:
+-#line 2169 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.include) = (yyvsp[(1) - (3)].include);
++ case 239: /* include_arg_list: include_arg_list ',' include_arg */
++#line 2195 "parser.y"
++ {
++ (yyval.include) = (yyvsp[-2].include);
+
+- switch ((yyvsp[(3) - (3)].include).token)
++ switch ((yyvsp[0].include).token)
+ {
+- case TK_NAME: (yyval.include).name = (yyvsp[(3) - (3)].include).name; break;
+- case TK_OPTIONAL: (yyval.include).optional = (yyvsp[(3) - (3)].include).optional; break;
++ case TK_NAME: (yyval.include).name = (yyvsp[0].include).name; break;
++ case TK_OPTIONAL: (yyval.include).optional = (yyvsp[0].include).optional; break;
+ }
+ }
++#line 4719 "../parser.c"
+ break;
+
+- case 239:
+-#line 2180 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 240: /* include_arg: TK_NAME '=' TK_PATH_VALUE */
++#line 2206 "parser.y"
++ {
+ (yyval.include).token = TK_NAME;
+
+- (yyval.include).name = (yyvsp[(3) - (3)].text);
++ (yyval.include).name = (yyvsp[0].text);
+ (yyval.include).optional = FALSE;
+ }
++#line 4730 "../parser.c"
+ break;
+
+- case 240:
+-#line 2186 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 241: /* include_arg: TK_OPTIONAL '=' bool_value */
++#line 2212 "parser.y"
++ {
+ (yyval.include).token = TK_OPTIONAL;
+
+ (yyval.include).name = NULL;
+- (yyval.include).optional = (yyvsp[(3) - (3)].boolean);
++ (yyval.include).optional = (yyvsp[0].boolean);
+ }
++#line 4741 "../parser.c"
+ break;
+
+- case 241:
+-#line 2194 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 242: /* optinclude: TK_OPTINCLUDE TK_PATH_VALUE */
++#line 2220 "parser.y"
++ {
+ deprecated("%OptionalInclude is deprecated, use %Include and the 'optional' argument instead");
+
+ if (notSkipping())
+- parseFile(NULL, (yyvsp[(2) - (2)].text), NULL, TRUE);
++ parseFile(NULL, (yyvsp[0].text), NULL, TRUE);
+ }
++#line 4752 "../parser.c"
+ break;
+
+- case 242:
+-#line 2202 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 243: /* import: TK_IMPORT import_args */
++#line 2228 "parser.y"
++ {
+ if (notSkipping())
+- newImport((yyvsp[(2) - (2)].import).name);
++ newImport((yyvsp[0].import).name);
+ }
++#line 4761 "../parser.c"
+ break;
+
+- case 243:
+-#line 2208 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 244: /* import_args: TK_PATH_VALUE */
++#line 2234 "parser.y"
++ {
+ resetLexerState();
+
+- (yyval.import).name = (yyvsp[(1) - (1)].text);
++ (yyval.import).name = (yyvsp[0].text);
+ }
++#line 4771 "../parser.c"
+ break;
+
+- case 244:
+-#line 2213 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.import) = (yyvsp[(2) - (3)].import);
++ case 245: /* import_args: '(' import_arg_list ')' */
++#line 2239 "parser.y"
++ {
++ (yyval.import) = (yyvsp[-1].import);
+ }
++#line 4779 "../parser.c"
+ break;
+
+- case 246:
+-#line 2219 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.import) = (yyvsp[(1) - (3)].import);
++ case 247: /* import_arg_list: import_arg_list ',' import_arg */
++#line 2245 "parser.y"
++ {
++ (yyval.import) = (yyvsp[-2].import);
+
+- switch ((yyvsp[(3) - (3)].import).token)
++ switch ((yyvsp[0].import).token)
+ {
+- case TK_NAME: (yyval.import).name = (yyvsp[(3) - (3)].import).name; break;
++ case TK_NAME: (yyval.import).name = (yyvsp[0].import).name; break;
+ }
+ }
++#line 4792 "../parser.c"
+ break;
+
+- case 247:
+-#line 2229 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 248: /* import_arg: TK_NAME '=' TK_PATH_VALUE */
++#line 2255 "parser.y"
++ {
+ (yyval.import).token = TK_NAME;
+
+- (yyval.import).name = (yyvsp[(3) - (3)].text);
++ (yyval.import).name = (yyvsp[0].text);
+ }
++#line 4802 "../parser.c"
+ break;
+
+- case 248:
+-#line 2236 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 249: /* optaccesscode: %empty */
++#line 2262 "parser.y"
++ {
+ (yyval.codeb) = NULL;
+ }
++#line 4810 "../parser.c"
+ break;
+
+- case 249:
+-#line 2239 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
++ case 250: /* optaccesscode: TK_ACCESSCODE codeblock */
++#line 2265 "parser.y"
++ {
++ (yyval.codeb) = (yyvsp[0].codeb);
+ }
++#line 4818 "../parser.c"
+ break;
+
+- case 250:
+-#line 2244 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 251: /* optgetcode: %empty */
++#line 2270 "parser.y"
++ {
+ (yyval.codeb) = NULL;
+ }
++#line 4826 "../parser.c"
+ break;
+
+- case 251:
+-#line 2247 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
++ case 252: /* optgetcode: TK_GETCODE codeblock */
++#line 2273 "parser.y"
++ {
++ (yyval.codeb) = (yyvsp[0].codeb);
+ }
++#line 4834 "../parser.c"
+ break;
+
+- case 252:
+-#line 2252 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 253: /* optsetcode: %empty */
++#line 2278 "parser.y"
++ {
+ (yyval.codeb) = NULL;
+ }
++#line 4842 "../parser.c"
+ break;
+
+- case 253:
+-#line 2255 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
++ case 254: /* optsetcode: TK_SETCODE codeblock */
++#line 2281 "parser.y"
++ {
++ (yyval.codeb) = (yyvsp[0].codeb);
+ }
++#line 4850 "../parser.c"
+ break;
+
+- case 254:
+-#line 2260 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 255: /* copying: TK_COPYING codeblock */
++#line 2286 "parser.y"
++ {
+ if (notSkipping())
+- appendCodeBlock(¤tModule->copying, (yyvsp[(2) - (2)].codeb));
++ appendCodeBlock(¤tModule->copying, (yyvsp[0].codeb));
+ }
++#line 4859 "../parser.c"
+ break;
+
+- case 255:
+-#line 2266 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 256: /* exphdrcode: TK_EXPHEADERCODE codeblock */
++#line 2292 "parser.y"
++ {
+ if (notSkipping())
+- appendCodeBlock(¤tSpec->exphdrcode, (yyvsp[(2) - (2)].codeb));
++ appendCodeBlock(¤tSpec->exphdrcode, (yyvsp[0].codeb));
+ }
++#line 4868 "../parser.c"
+ break;
+
+- case 256:
+-#line 2272 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 257: /* modhdrcode: TK_MODHEADERCODE codeblock */
++#line 2298 "parser.y"
++ {
+ if (notSkipping())
+- appendCodeBlock(¤tModule->hdrcode, (yyvsp[(2) - (2)].codeb));
++ appendCodeBlock(¤tModule->hdrcode, (yyvsp[0].codeb));
+ }
++#line 4877 "../parser.c"
+ break;
+
+- case 257:
+-#line 2278 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
++ case 258: /* typehdrcode: TK_TYPEHEADERCODE codeblock */
++#line 2304 "parser.y"
++ {
++ (yyval.codeb) = (yyvsp[0].codeb);
+ }
++#line 4885 "../parser.c"
+ break;
+
+- case 258:
+-#line 2283 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
++ case 259: /* travcode: TK_TRAVERSECODE codeblock */
++#line 2309 "parser.y"
++ {
++ (yyval.codeb) = (yyvsp[0].codeb);
+ }
++#line 4893 "../parser.c"
+ break;
+
+- case 259:
+-#line 2288 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
++ case 260: /* clearcode: TK_CLEARCODE codeblock */
++#line 2314 "parser.y"
++ {
++ (yyval.codeb) = (yyvsp[0].codeb);
+ }
++#line 4901 "../parser.c"
+ break;
+
+- case 260:
+-#line 2293 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
++ case 261: /* getbufcode: TK_GETBUFFERCODE codeblock */
++#line 2319 "parser.y"
++ {
++ (yyval.codeb) = (yyvsp[0].codeb);
+ }
++#line 4909 "../parser.c"
+ break;
+
+- case 261:
+-#line 2298 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
++ case 262: /* releasebufcode: TK_RELEASEBUFFERCODE codeblock */
++#line 2324 "parser.y"
++ {
++ (yyval.codeb) = (yyvsp[0].codeb);
+ }
++#line 4917 "../parser.c"
+ break;
+
+- case 262:
+-#line 2303 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
++ case 263: /* readbufcode: TK_READBUFFERCODE codeblock */
++#line 2329 "parser.y"
++ {
++ (yyval.codeb) = (yyvsp[0].codeb);
+ }
++#line 4925 "../parser.c"
+ break;
+
+- case 263:
+-#line 2308 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
++ case 264: /* writebufcode: TK_WRITEBUFFERCODE codeblock */
++#line 2334 "parser.y"
++ {
++ (yyval.codeb) = (yyvsp[0].codeb);
+ }
++#line 4933 "../parser.c"
+ break;
+
+- case 264:
+-#line 2313 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
++ case 265: /* segcountcode: TK_SEGCOUNTCODE codeblock */
++#line 2339 "parser.y"
++ {
++ (yyval.codeb) = (yyvsp[0].codeb);
+ }
++#line 4941 "../parser.c"
+ break;
+
+- case 265:
+-#line 2318 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
++ case 266: /* charbufcode: TK_CHARBUFFERCODE codeblock */
++#line 2344 "parser.y"
++ {
++ (yyval.codeb) = (yyvsp[0].codeb);
+ }
++#line 4949 "../parser.c"
+ break;
+
+- case 266:
+-#line 2323 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
++ case 267: /* instancecode: TK_INSTANCECODE codeblock */
++#line 2349 "parser.y"
++ {
++ (yyval.codeb) = (yyvsp[0].codeb);
+ }
++#line 4957 "../parser.c"
+ break;
+
+- case 267:
+-#line 2328 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
++ case 268: /* picklecode: TK_PICKLECODE codeblock */
++#line 2354 "parser.y"
++ {
++ (yyval.codeb) = (yyvsp[0].codeb);
+ }
++#line 4965 "../parser.c"
+ break;
+
+- case 268:
+-#line 2333 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
++ case 269: /* finalcode: TK_FINALCODE codeblock */
++#line 2359 "parser.y"
++ {
++ (yyval.codeb) = (yyvsp[0].codeb);
+ }
++#line 4973 "../parser.c"
+ break;
+
+- case 269:
+-#line 2338 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 270: /* modcode: TK_MODCODE codeblock */
++#line 2364 "parser.y"
++ {
+ if (notSkipping())
+- appendCodeBlock(¤tModule->cppcode, (yyvsp[(2) - (2)].codeb));
++ appendCodeBlock(¤tModule->cppcode, (yyvsp[0].codeb));
+ }
++#line 4982 "../parser.c"
+ break;
+
+- case 270:
+-#line 2344 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
++ case 271: /* typecode: TK_TYPECODE codeblock */
++#line 2370 "parser.y"
++ {
++ (yyval.codeb) = (yyvsp[0].codeb);
+ }
++#line 4990 "../parser.c"
+ break;
+
+- case 271:
+-#line 2349 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 272: /* preinitcode: TK_PREINITCODE codeblock */
++#line 2375 "parser.y"
++ {
+ if (notSkipping())
+- appendCodeBlock(¤tModule->preinitcode, (yyvsp[(2) - (2)].codeb));
++ appendCodeBlock(¤tModule->preinitcode, (yyvsp[0].codeb));
+ }
++#line 4999 "../parser.c"
+ break;
+
+- case 272:
+-#line 2355 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 273: /* initcode: TK_INITCODE codeblock */
++#line 2381 "parser.y"
++ {
+ if (notSkipping())
+- appendCodeBlock(¤tModule->initcode, (yyvsp[(2) - (2)].codeb));
++ appendCodeBlock(¤tModule->initcode, (yyvsp[0].codeb));
+ }
++#line 5008 "../parser.c"
+ break;
+
+- case 273:
+-#line 2361 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 274: /* postinitcode: TK_POSTINITCODE codeblock */
++#line 2387 "parser.y"
++ {
+ if (notSkipping())
+- appendCodeBlock(¤tModule->postinitcode, (yyvsp[(2) - (2)].codeb));
++ appendCodeBlock(¤tModule->postinitcode, (yyvsp[0].codeb));
+ }
++#line 5017 "../parser.c"
+ break;
+
+- case 274:
+-#line 2367 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 275: /* unitcode: TK_UNITCODE codeblock */
++#line 2393 "parser.y"
++ {
+ if (notSkipping())
+- appendCodeBlock(¤tModule->unitcode, (yyvsp[(2) - (2)].codeb));
++ appendCodeBlock(¤tModule->unitcode, (yyvsp[0].codeb));
+ }
++#line 5026 "../parser.c"
+ break;
+
+- case 275:
+-#line 2373 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 276: /* unitpostinccode: TK_UNITPOSTINCLUDECODE codeblock */
++#line 2399 "parser.y"
++ {
+ if (notSkipping())
+- appendCodeBlock(¤tModule->unitpostinccode, (yyvsp[(2) - (2)].codeb));
++ appendCodeBlock(¤tModule->unitpostinccode, (yyvsp[0].codeb));
+ }
++#line 5035 "../parser.c"
+ break;
+
+- case 276:
+-#line 2379 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 277: /* prepycode: TK_PREPYCODE codeblock */
++#line 2405 "parser.y"
++ {
+ /* Deprecated. */
+ }
++#line 5043 "../parser.c"
+ break;
+
+- case 277:
+-#line 2384 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 278: /* exptypehintcode: TK_EXPTYPEHINTCODE codeblock */
++#line 2410 "parser.y"
++ {
+ if (notSkipping() && !inMainModule())
+- appendCodeBlock(¤tSpec->exptypehintcode, (yyvsp[(2) - (2)].codeb));
++ appendCodeBlock(¤tSpec->exptypehintcode, (yyvsp[0].codeb));
+ }
++#line 5052 "../parser.c"
+ break;
+
+- case 278:
+-#line 2390 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 279: /* modtypehintcode: TK_TYPEHINTCODE codeblock */
++#line 2416 "parser.y"
++ {
+ if (notSkipping())
+- appendCodeBlock(¤tModule->typehintcode, (yyvsp[(2) - (2)].codeb));
++ appendCodeBlock(¤tModule->typehintcode, (yyvsp[0].codeb));
+ }
++#line 5061 "../parser.c"
+ break;
+
+- case 279:
+-#line 2396 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
++ case 280: /* classtypehintcode: TK_TYPEHINTCODE codeblock */
++#line 2422 "parser.y"
++ {
++ (yyval.codeb) = (yyvsp[0].codeb);
+ }
++#line 5069 "../parser.c"
+ break;
+
+- case 280:
+-#line 2401 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 281: /* doc: TK_DOC codeblock */
++#line 2427 "parser.y"
++ {
+ if (notSkipping() && inMainModule())
+- appendCodeBlock(¤tSpec->docs, (yyvsp[(2) - (2)].codeb));
++ appendCodeBlock(¤tSpec->docs, (yyvsp[0].codeb));
+ }
++#line 5078 "../parser.c"
+ break;
+
+- case 281:
+-#line 2407 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 282: /* exporteddoc: TK_EXPORTEDDOC codeblock */
++#line 2433 "parser.y"
++ {
+ if (notSkipping())
+- appendCodeBlock(¤tSpec->docs, (yyvsp[(2) - (2)].codeb));
++ appendCodeBlock(¤tSpec->docs, (yyvsp[0].codeb));
+ }
++#line 5087 "../parser.c"
+ break;
+
+- case 282:
+-#line 2413 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 283: /* autopyname: TK_AUTOPYNAME autopyname_args */
++#line 2439 "parser.y"
++ {
+ if (notSkipping())
+- addAutoPyName(currentModule, (yyvsp[(2) - (2)].autopyname).remove_leading);
++ addAutoPyName(currentModule, (yyvsp[0].autopyname).remove_leading);
+ }
++#line 5096 "../parser.c"
+ break;
+
+- case 283:
+-#line 2419 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.autopyname) = (yyvsp[(2) - (3)].autopyname);
++ case 284: /* autopyname_args: '(' autopyname_arg_list ')' */
++#line 2445 "parser.y"
++ {
++ (yyval.autopyname) = (yyvsp[-1].autopyname);
+ }
++#line 5104 "../parser.c"
+ break;
+
+- case 285:
+-#line 2425 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.autopyname) = (yyvsp[(1) - (3)].autopyname);
++ case 286: /* autopyname_arg_list: autopyname_arg_list ',' autopyname_arg */
++#line 2451 "parser.y"
++ {
++ (yyval.autopyname) = (yyvsp[-2].autopyname);
+
+- switch ((yyvsp[(3) - (3)].autopyname).token)
++ switch ((yyvsp[0].autopyname).token)
+ {
+- case TK_REMOVELEADING: (yyval.autopyname).remove_leading = (yyvsp[(3) - (3)].autopyname).remove_leading; break;
++ case TK_REMOVELEADING: (yyval.autopyname).remove_leading = (yyvsp[0].autopyname).remove_leading; break;
+ }
+ }
++#line 5117 "../parser.c"
+ break;
+
+- case 286:
+-#line 2435 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 287: /* autopyname_arg: TK_REMOVELEADING '=' TK_STRING_VALUE */
++#line 2461 "parser.y"
++ {
+ (yyval.autopyname).token = TK_REMOVELEADING;
+
+- (yyval.autopyname).remove_leading = (yyvsp[(3) - (3)].text);
++ (yyval.autopyname).remove_leading = (yyvsp[0].text);
+ }
++#line 5127 "../parser.c"
+ break;
+
+- case 287:
+-#line 2442 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 288: /* docstring: TK_DOCSTRING docstring_args codeblock */
++#line 2468 "parser.y"
++ {
+ (yyval.docstr) = sipMalloc(sizeof(docstringDef));
+
+- (yyval.docstr)->signature = (yyvsp[(2) - (3)].docstring).signature;
+- (yyval.docstr)->text = (yyvsp[(3) - (3)].codeb)->frag;
+- free((yyvsp[(3) - (3)].codeb));
++ (yyval.docstr)->signature = (yyvsp[-1].docstring).signature;
++ (yyval.docstr)->text = (yyvsp[0].codeb)->frag;
++ free((yyvsp[0].codeb));
+
+ /* Format the docstring. */
+- if ((yyvsp[(2) - (3)].docstring).format == deindented)
++ if ((yyvsp[-1].docstring).format == deindented)
+ {
+ const char *cp;
+ char *dp;
+@@ -5392,159 +5210,175 @@ yyreduce:
+ *dp = '\0';
+ }
+ }
++#line 5214 "../parser.c"
+ break;
+
+- case 288:
+-#line 2526 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 289: /* docstring_args: %empty */
++#line 2552 "parser.y"
++ {
+ (yyval.docstring).format = currentModule->defdocstringfmt;
+ (yyval.docstring).signature = currentModule->defdocstringsig;
+ }
++#line 5223 "../parser.c"
+ break;
+
+- case 289:
+-#line 2530 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 290: /* docstring_args: TK_STRING_VALUE */
++#line 2556 "parser.y"
++ {
+ resetLexerState();
+
+- (yyval.docstring).format = convertFormat((yyvsp[(1) - (1)].text));
++ (yyval.docstring).format = convertFormat((yyvsp[0].text));
+ (yyval.docstring).signature = currentModule->defdocstringsig;
+ }
++#line 5234 "../parser.c"
+ break;
+
+- case 290:
+-#line 2536 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.docstring) = (yyvsp[(2) - (3)].docstring);
++ case 291: /* docstring_args: '(' docstring_arg_list ')' */
++#line 2562 "parser.y"
++ {
++ (yyval.docstring) = (yyvsp[-1].docstring);
+ }
++#line 5242 "../parser.c"
+ break;
+
+- case 292:
+-#line 2542 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.docstring) = (yyvsp[(1) - (3)].docstring);
++ case 293: /* docstring_arg_list: docstring_arg_list ',' docstring_arg */
++#line 2568 "parser.y"
++ {
++ (yyval.docstring) = (yyvsp[-2].docstring);
+
+- switch ((yyvsp[(3) - (3)].docstring).token)
++ switch ((yyvsp[0].docstring).token)
+ {
+- case TK_FORMAT: (yyval.docstring).format = (yyvsp[(3) - (3)].docstring).format; break;
+- case TK_SIGNATURE: (yyval.docstring).signature = (yyvsp[(3) - (3)].docstring).signature; break;
++ case TK_FORMAT: (yyval.docstring).format = (yyvsp[0].docstring).format; break;
++ case TK_SIGNATURE: (yyval.docstring).signature = (yyvsp[0].docstring).signature; break;
+ }
+ }
++#line 5256 "../parser.c"
+ break;
+
+- case 293:
+-#line 2553 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 294: /* docstring_arg: TK_FORMAT '=' TK_STRING_VALUE */
++#line 2579 "parser.y"
++ {
+ (yyval.docstring).token = TK_FORMAT;
+
+- (yyval.docstring).format = convertFormat((yyvsp[(3) - (3)].text));
++ (yyval.docstring).format = convertFormat((yyvsp[0].text));
+ (yyval.docstring).signature = currentModule->defdocstringsig;
+ }
++#line 5267 "../parser.c"
+ break;
+
+- case 294:
+-#line 2559 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 295: /* docstring_arg: TK_SIGNATURE '=' TK_STRING_VALUE */
++#line 2585 "parser.y"
++ {
+ (yyval.docstring).token = TK_SIGNATURE;
+
+ (yyval.docstring).format = currentModule->defdocstringfmt;
+- (yyval.docstring).signature = convertSignature((yyvsp[(3) - (3)].text));
++ (yyval.docstring).signature = convertSignature((yyvsp[0].text));
+ }
++#line 5278 "../parser.c"
+ break;
+
+- case 295:
+-#line 2567 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 296: /* optdocstring: %empty */
++#line 2593 "parser.y"
++ {
+ (yyval.docstr) = NULL;
+ }
++#line 5286 "../parser.c"
+ break;
+
+- case 297:
+-#line 2573 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- if ((yyvsp[(2) - (3)].extract).id == NULL)
++ case 298: /* extract: TK_EXTRACT extract_args codeblock */
++#line 2599 "parser.y"
++ {
++ if ((yyvsp[-1].extract).id == NULL)
+ yyerror("%Extract must have an 'id' argument");
+
+ if (notSkipping())
+- addExtractPart(currentSpec, (yyvsp[(2) - (3)].extract).id, (yyvsp[(2) - (3)].extract).order, (yyvsp[(3) - (3)].codeb));
++ addExtractPart(currentSpec, (yyvsp[-1].extract).id, (yyvsp[-1].extract).order, (yyvsp[0].codeb));
+ }
++#line 5298 "../parser.c"
+ break;
+
+- case 298:
+-#line 2582 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 299: /* extract_args: TK_NAME_VALUE */
++#line 2608 "parser.y"
++ {
+ resetLexerState();
+
+- (yyval.extract).id = (yyvsp[(1) - (1)].text);
++ (yyval.extract).id = (yyvsp[0].text);
+ (yyval.extract).order = -1;
+ }
++#line 5309 "../parser.c"
+ break;
+
+- case 299:
+-#line 2588 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.extract) = (yyvsp[(2) - (3)].extract);
++ case 300: /* extract_args: '(' extract_arg_list ')' */
++#line 2614 "parser.y"
++ {
++ (yyval.extract) = (yyvsp[-1].extract);
+ }
++#line 5317 "../parser.c"
+ break;
+
+- case 301:
+-#line 2594 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.extract) = (yyvsp[(1) - (3)].extract);
++ case 302: /* extract_arg_list: extract_arg_list ',' extract_arg */
++#line 2620 "parser.y"
++ {
++ (yyval.extract) = (yyvsp[-2].extract);
+
+- switch ((yyvsp[(3) - (3)].extract).token)
++ switch ((yyvsp[0].extract).token)
+ {
+- case TK_ID: (yyval.extract).id = (yyvsp[(3) - (3)].extract).id; break;
+- case TK_ORDER: (yyval.extract).order = (yyvsp[(3) - (3)].extract).order; break;
++ case TK_ID: (yyval.extract).id = (yyvsp[0].extract).id; break;
++ case TK_ORDER: (yyval.extract).order = (yyvsp[0].extract).order; break;
+ }
+ }
++#line 5331 "../parser.c"
+ break;
+
+- case 302:
+-#line 2605 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 303: /* extract_arg: TK_ID '=' TK_NAME_VALUE */
++#line 2631 "parser.y"
++ {
+ (yyval.extract).token = TK_ID;
+
+- (yyval.extract).id = (yyvsp[(3) - (3)].text);
++ (yyval.extract).id = (yyvsp[0].text);
+ (yyval.extract).order = -1;
+ }
++#line 5342 "../parser.c"
+ break;
+
+- case 303:
+-#line 2611 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 304: /* extract_arg: TK_ORDER '=' TK_NUMBER_VALUE */
++#line 2637 "parser.y"
++ {
+ (yyval.extract).token = TK_ORDER;
+
+- if ((yyvsp[(3) - (3)].number) < 0)
++ if ((yyvsp[0].number) < 0)
+ yyerror("The 'order' of an %Extract directive must not be negative");
+
+ (yyval.extract).id = NULL;
+- (yyval.extract).order = (yyvsp[(3) - (3)].number);
++ (yyval.extract).order = (yyvsp[0].number);
+ }
++#line 5356 "../parser.c"
+ break;
+
+- case 304:
+-#line 2622 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 305: /* makefile: TK_MAKEFILE TK_PATH_VALUE optfilename codeblock */
++#line 2648 "parser.y"
++ {
+ /* Deprecated. */
+ }
++#line 5364 "../parser.c"
+ break;
+
+- case 307:
+-#line 2631 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.codeb) = (yyvsp[(1) - (2)].codeb);
++ case 308: /* codelines: codelines TK_CODELINE */
++#line 2657 "parser.y"
++ {
++ (yyval.codeb) = (yyvsp[-1].codeb);
+
+- append(&(yyval.codeb)->frag, (yyvsp[(2) - (2)].codeb)->frag);
++ append(&(yyval.codeb)->frag, (yyvsp[0].codeb)->frag);
+
+- free((yyvsp[(2) - (2)].codeb)->frag);
+- free((yyvsp[(2) - (2)].codeb));
++ free((yyvsp[0].codeb)->frag);
++ free((yyvsp[0].codeb));
+ }
++#line 5377 "../parser.c"
+ break;
+
+- case 308:
+-#line 2641 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 309: /* $@9: %empty */
++#line 2667 "parser.y"
++ {
+ if (notSkipping())
+ {
+ const char *annos[] = {
+@@ -5554,72 +5388,80 @@ yyreduce:
+ NULL
+ };
+
+- checkAnnos(&(yyvsp[(4) - (4)].optflags), annos);
++ checkAnnos(&(yyvsp[0].optflags), annos);
+
+ if (sectionFlags != 0 && (sectionFlags & ~(SECT_IS_PUBLIC | SECT_IS_PROT)) != 0)
+ yyerror("Class enums must be in the public or protected sections");
+
+- if (currentSpec->genc && (yyvsp[(2) - (4)].boolean))
++ if (currentSpec->genc && (yyvsp[-2].boolean))
+ yyerror("Scoped enums not allowed in a C module");
+
+ currentEnum = newEnum(currentSpec, currentModule,
+- currentMappedType, (yyvsp[(3) - (4)].text), &(yyvsp[(4) - (4)].optflags), sectionFlags, (yyvsp[(2) - (4)].boolean));
++ currentMappedType, (yyvsp[-1].text), &(yyvsp[0].optflags), sectionFlags, (yyvsp[-2].boolean));
+ }
+ }
++#line 5404 "../parser.c"
+ break;
+
+- case 310:
+-#line 2665 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 311: /* optenumkey: %empty */
++#line 2691 "parser.y"
++ {
+ (yyval.boolean) = FALSE;
+ }
++#line 5412 "../parser.c"
+ break;
+
+- case 311:
+-#line 2668 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 312: /* optenumkey: TK_CLASS */
++#line 2694 "parser.y"
++ {
+ (yyval.boolean) = TRUE;
+ }
++#line 5420 "../parser.c"
+ break;
+
+- case 312:
+-#line 2671 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 313: /* optenumkey: TK_STRUCT */
++#line 2697 "parser.y"
++ {
+ (yyval.boolean) = TRUE;
+ }
++#line 5428 "../parser.c"
+ break;
+
+- case 313:
+-#line 2676 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 314: /* optfilename: %empty */
++#line 2702 "parser.y"
++ {
+ (yyval.text) = NULL;
+ }
++#line 5436 "../parser.c"
+ break;
+
+- case 314:
+-#line 2679 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.text) = (yyvsp[(1) - (1)].text);
++ case 315: /* optfilename: TK_PATH_VALUE */
++#line 2705 "parser.y"
++ {
++ (yyval.text) = (yyvsp[0].text);
+ }
++#line 5444 "../parser.c"
+ break;
+
+- case 315:
+-#line 2684 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 316: /* optname: %empty */
++#line 2710 "parser.y"
++ {
+ (yyval.text) = NULL;
+ }
++#line 5452 "../parser.c"
+ break;
+
+- case 316:
+-#line 2687 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.text) = (yyvsp[(1) - (1)].text);
++ case 317: /* optname: TK_NAME_VALUE */
++#line 2713 "parser.y"
++ {
++ (yyval.text) = (yyvsp[0].text);
+ }
++#line 5460 "../parser.c"
+ break;
+
+- case 323:
+-#line 2702 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 324: /* enumline: TK_NAME_VALUE optenumassign optflags optcomma */
++#line 2728 "parser.y"
++ {
+ if (notSkipping())
+ {
+ const char *annos[] = {
+@@ -5630,15 +5472,15 @@ yyreduce:
+
+ enumMemberDef *emd, **tail;
+
+- checkAnnos(&(yyvsp[(3) - (4)].optflags), annos);
++ checkAnnos(&(yyvsp[-1].optflags), annos);
+
+ /* Note that we don't use the assigned value. */
+ emd = sipMalloc(sizeof (enumMemberDef));
+
+ emd->pyname = cacheName(currentSpec,
+- getPythonName(currentModule, &(yyvsp[(3) - (4)].optflags), (yyvsp[(1) - (4)].text)));
+- emd->cname = (yyvsp[(1) - (4)].text);
+- emd->no_typehint = getNoTypeHint(&(yyvsp[(3) - (4)].optflags));
++ getPythonName(currentModule, &(yyvsp[-1].optflags), (yyvsp[-3].text)));
++ emd->cname = (yyvsp[-3].text);
++ emd->no_typehint = getNoTypeHint(&(yyvsp[-1].optflags));
+ emd->ed = currentEnum;
+ emd->platforms = currentPlatforms;
+ emd->next = NULL;
+@@ -5661,309 +5503,345 @@ yyreduce:
+ setIsUsedName(emd->pyname);
+ }
+ }
++#line 5507 "../parser.c"
+ break;
+
+- case 328:
+-#line 2754 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 329: /* optassign: %empty */
++#line 2780 "parser.y"
++ {
+ (yyval.valp) = NULL;
+ }
++#line 5515 "../parser.c"
+ break;
+
+- case 329:
+-#line 2757 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.valp) = (yyvsp[(2) - (2)].valp);
++ case 330: /* optassign: '=' expr */
++#line 2783 "parser.y"
++ {
++ (yyval.valp) = (yyvsp[0].valp);
+ }
++#line 5523 "../parser.c"
+ break;
+
+- case 331:
+-#line 2763 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 332: /* expr: expr binop value */
++#line 2789 "parser.y"
++ {
+ valueDef *vd;
+
+- if ((yyvsp[(1) - (3)].valp) -> vtype == string_value || (yyvsp[(3) - (3)].valp) -> vtype == string_value)
++ if ((yyvsp[-2].valp) -> vtype == string_value || (yyvsp[0].valp) -> vtype == string_value)
+ yyerror("Invalid binary operator for string");
+
+ /* Find the last value in the existing expression. */
+
+- for (vd = (yyvsp[(1) - (3)].valp); vd -> next != NULL; vd = vd -> next)
++ for (vd = (yyvsp[-2].valp); vd -> next != NULL; vd = vd -> next)
+ ;
+
+- vd -> vbinop = (yyvsp[(2) - (3)].qchar);
+- vd -> next = (yyvsp[(3) - (3)].valp);
++ vd -> vbinop = (yyvsp[-1].qchar);
++ vd -> next = (yyvsp[0].valp);
+
+- (yyval.valp) = (yyvsp[(1) - (3)].valp);
++ (yyval.valp) = (yyvsp[-2].valp);
+ }
++#line 5544 "../parser.c"
+ break;
+
+- case 332:
+-#line 2781 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 333: /* binop: '-' */
++#line 2807 "parser.y"
++ {
+ (yyval.qchar) = '-';
+ }
++#line 5552 "../parser.c"
+ break;
+
+- case 333:
+-#line 2784 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 334: /* binop: '+' */
++#line 2810 "parser.y"
++ {
+ (yyval.qchar) = '+';
+ }
++#line 5560 "../parser.c"
+ break;
+
+- case 334:
+-#line 2787 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 335: /* binop: '*' */
++#line 2813 "parser.y"
++ {
+ (yyval.qchar) = '*';
+ }
++#line 5568 "../parser.c"
+ break;
+
+- case 335:
+-#line 2790 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 336: /* binop: '/' */
++#line 2816 "parser.y"
++ {
+ (yyval.qchar) = '/';
+ }
++#line 5576 "../parser.c"
+ break;
+
+- case 336:
+-#line 2793 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 337: /* binop: '&' */
++#line 2819 "parser.y"
++ {
+ (yyval.qchar) = '&';
+ }
++#line 5584 "../parser.c"
+ break;
+
+- case 337:
+-#line 2796 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 338: /* binop: '|' */
++#line 2822 "parser.y"
++ {
+ (yyval.qchar) = '|';
+ }
++#line 5592 "../parser.c"
+ break;
+
+- case 338:
+-#line 2801 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 339: /* optunop: %empty */
++#line 2827 "parser.y"
++ {
+ (yyval.qchar) = '\0';
+ }
++#line 5600 "../parser.c"
+ break;
+
+- case 339:
+-#line 2804 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 340: /* optunop: '!' */
++#line 2830 "parser.y"
++ {
+ (yyval.qchar) = '!';
+ }
++#line 5608 "../parser.c"
+ break;
+
+- case 340:
+-#line 2807 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 341: /* optunop: '~' */
++#line 2833 "parser.y"
++ {
+ (yyval.qchar) = '~';
+ }
++#line 5616 "../parser.c"
+ break;
+
+- case 341:
+-#line 2810 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 342: /* optunop: '-' */
++#line 2836 "parser.y"
++ {
+ (yyval.qchar) = '-';
+ }
++#line 5624 "../parser.c"
+ break;
+
+- case 342:
+-#line 2813 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 343: /* optunop: '+' */
++#line 2839 "parser.y"
++ {
+ (yyval.qchar) = '+';
+ }
++#line 5632 "../parser.c"
+ break;
+
+- case 343:
+-#line 2816 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 344: /* optunop: '*' */
++#line 2842 "parser.y"
++ {
+ (yyval.qchar) = '*';
+ }
++#line 5640 "../parser.c"
+ break;
+
+- case 344:
+-#line 2819 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 345: /* optunop: '&' */
++#line 2845 "parser.y"
++ {
+ (yyval.qchar) = '&';
+ }
++#line 5648 "../parser.c"
+ break;
+
+- case 345:
+-#line 2824 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- if ((yyvsp[(2) - (3)].qchar) != '\0' && (yyvsp[(3) - (3)].value).vtype == string_value)
++ case 346: /* value: optcast optunop simplevalue */
++#line 2850 "parser.y"
++ {
++ if ((yyvsp[-1].qchar) != '\0' && (yyvsp[0].value).vtype == string_value)
+ yyerror("Invalid unary operator for string");
+
+ /* Convert the value to a simple expression on the heap. */
+ (yyval.valp) = sipMalloc(sizeof (valueDef));
+
+- *(yyval.valp) = (yyvsp[(3) - (3)].value);
+- (yyval.valp)->vunop = (yyvsp[(2) - (3)].qchar);
++ *(yyval.valp) = (yyvsp[0].value);
++ (yyval.valp)->vunop = (yyvsp[-1].qchar);
+ (yyval.valp)->vbinop = '\0';
+- (yyval.valp)->cast = (yyvsp[(1) - (3)].scpvalp);
++ (yyval.valp)->cast = (yyvsp[-2].scpvalp);
+ (yyval.valp)->next = NULL;
+ }
++#line 5666 "../parser.c"
+ break;
+
+- case 346:
+-#line 2839 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 347: /* optcast: %empty */
++#line 2865 "parser.y"
++ {
+ (yyval.scpvalp) = NULL;
+ }
++#line 5674 "../parser.c"
+ break;
+
+- case 347:
+-#line 2842 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.scpvalp) = (yyvsp[(2) - (3)].scpvalp);
++ case 348: /* optcast: '(' scopedname ')' */
++#line 2868 "parser.y"
++ {
++ (yyval.scpvalp) = (yyvsp[-1].scpvalp);
+ }
++#line 5682 "../parser.c"
+ break;
+
+- case 348:
+-#line 2847 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 349: /* scopedname: TK_SCOPE scopednamehead */
++#line 2873 "parser.y"
++ {
+ if (currentSpec->genc)
+ yyerror("Scoped names are not allowed in a C module");
+
+- (yyval.scpvalp) = scopeScopedName(NULL, (yyvsp[(2) - (2)].scpvalp));
++ (yyval.scpvalp) = scopeScopedName(NULL, (yyvsp[0].scpvalp));
+ }
++#line 5693 "../parser.c"
+ break;
+
+- case 351:
+-#line 2857 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 352: /* scopednamehead: scopednamehead TK_SCOPE scopepart */
++#line 2883 "parser.y"
++ {
+ if (currentSpec->genc)
+ yyerror("Scoped names are not allowed in a C module");
+
+- appendScopedName(&(yyvsp[(1) - (3)].scpvalp), (yyvsp[(3) - (3)].scpvalp));
++ appendScopedName(&(yyvsp[-2].scpvalp), (yyvsp[0].scpvalp));
+ }
++#line 5704 "../parser.c"
+ break;
+
+- case 352:
+-#line 2865 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.scpvalp) = text2scopePart((yyvsp[(1) - (1)].text));
++ case 353: /* scopepart: TK_NAME_VALUE */
++#line 2891 "parser.y"
++ {
++ (yyval.scpvalp) = text2scopePart((yyvsp[0].text));
+ }
++#line 5712 "../parser.c"
+ break;
+
+- case 353:
+-#line 2870 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 354: /* bool_value: TK_TRUE_VALUE */
++#line 2896 "parser.y"
++ {
+ (yyval.boolean) = TRUE;
+ }
++#line 5720 "../parser.c"
+ break;
+
+- case 354:
+-#line 2873 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 355: /* bool_value: TK_FALSE_VALUE */
++#line 2899 "parser.y"
++ {
+ (yyval.boolean) = FALSE;
+ }
++#line 5728 "../parser.c"
+ break;
+
+- case 355:
+-#line 2878 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 356: /* simplevalue: scopedname */
++#line 2904 "parser.y"
++ {
+ /*
+ * We let the C++ compiler decide if the value is a valid one - no
+ * point in building a full C++ parser here.
+ */
+
+ (yyval.value).vtype = scoped_value;
+- (yyval.value).u.vscp = (yyvsp[(1) - (1)].scpvalp);
++ (yyval.value).u.vscp = (yyvsp[0].scpvalp);
+ }
++#line 5742 "../parser.c"
+ break;
+
+- case 356:
+-#line 2887 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 357: /* simplevalue: basetype '(' exprlist ')' */
++#line 2913 "parser.y"
++ {
+ fcallDef *fcd;
+
+ fcd = sipMalloc(sizeof (fcallDef));
+- *fcd = (yyvsp[(3) - (4)].fcall);
+- fcd -> type = (yyvsp[(1) - (4)].memArg);
++ *fcd = (yyvsp[-1].fcall);
++ fcd -> type = (yyvsp[-3].memArg);
+
+ (yyval.value).vtype = fcall_value;
+ (yyval.value).u.fcd = fcd;
+ }
++#line 5757 "../parser.c"
+ break;
+
+- case 357:
+-#line 2897 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 358: /* simplevalue: '{' '}' */
++#line 2923 "parser.y"
++ {
+ (yyval.value).vtype = empty_value;
+ }
++#line 5765 "../parser.c"
+ break;
+
+- case 358:
+-#line 2900 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 359: /* simplevalue: TK_REAL_VALUE */
++#line 2926 "parser.y"
++ {
+ (yyval.value).vtype = real_value;
+- (yyval.value).u.vreal = (yyvsp[(1) - (1)].real);
++ (yyval.value).u.vreal = (yyvsp[0].real);
+ }
++#line 5774 "../parser.c"
+ break;
+
+- case 359:
+-#line 2904 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 360: /* simplevalue: TK_NUMBER_VALUE */
++#line 2930 "parser.y"
++ {
+ (yyval.value).vtype = numeric_value;
+- (yyval.value).u.vnum = (yyvsp[(1) - (1)].number);
++ (yyval.value).u.vnum = (yyvsp[0].number);
+ }
++#line 5783 "../parser.c"
+ break;
+
+- case 360:
+-#line 2908 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 361: /* simplevalue: bool_value */
++#line 2934 "parser.y"
++ {
+ (yyval.value).vtype = numeric_value;
+- (yyval.value).u.vnum = (yyvsp[(1) - (1)].boolean);
++ (yyval.value).u.vnum = (yyvsp[0].boolean);
+ }
++#line 5792 "../parser.c"
+ break;
+
+- case 361:
+-#line 2912 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 362: /* simplevalue: TK_NULL_VALUE */
++#line 2938 "parser.y"
++ {
+ (yyval.value).vtype = numeric_value;
+ (yyval.value).u.vnum = 0;
+ }
++#line 5801 "../parser.c"
+ break;
+
+- case 362:
+-#line 2916 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 363: /* simplevalue: TK_STRING_VALUE */
++#line 2942 "parser.y"
++ {
+ (yyval.value).vtype = string_value;
+- (yyval.value).u.vstr = (yyvsp[(1) - (1)].text);
++ (yyval.value).u.vstr = (yyvsp[0].text);
+ }
++#line 5810 "../parser.c"
+ break;
+
+- case 363:
+-#line 2920 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 364: /* simplevalue: TK_QCHAR_VALUE */
++#line 2946 "parser.y"
++ {
+ (yyval.value).vtype = qchar_value;
+- (yyval.value).u.vqchar = (yyvsp[(1) - (1)].qchar);
++ (yyval.value).u.vqchar = (yyvsp[0].qchar);
+ }
++#line 5819 "../parser.c"
+ break;
+
+- case 364:
+-#line 2926 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 365: /* exprlist: %empty */
++#line 2952 "parser.y"
++ {
+ /* No values. */
+
+ (yyval.fcall).nrArgs = 0;
+ }
++#line 5829 "../parser.c"
+ break;
+
+- case 365:
+-#line 2931 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 366: /* exprlist: expr */
++#line 2957 "parser.y"
++ {
+ /* The single or first expression. */
+
+- (yyval.fcall).args[0] = (yyvsp[(1) - (1)].valp);
++ (yyval.fcall).args[0] = (yyvsp[0].valp);
+ (yyval.fcall).nrArgs = 1;
+ }
++#line 5840 "../parser.c"
+ break;
+
+- case 366:
+-#line 2937 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 367: /* exprlist: exprlist ',' expr */
++#line 2963 "parser.y"
++ {
+ /* Check that it wasn't ...(,expression...). */
+
+ if ((yyval.fcall).nrArgs == 0)
+@@ -5971,19 +5849,20 @@ yyreduce:
+
+ /* Check there is room. */
+
+- if ((yyvsp[(1) - (3)].fcall).nrArgs == MAX_NR_ARGS)
++ if ((yyvsp[-2].fcall).nrArgs == MAX_NR_ARGS)
+ yyerror("Internal error - increase the value of MAX_NR_ARGS");
+
+- (yyval.fcall) = (yyvsp[(1) - (3)].fcall);
++ (yyval.fcall) = (yyvsp[-2].fcall);
+
+- (yyval.fcall).args[(yyval.fcall).nrArgs] = (yyvsp[(3) - (3)].valp);
++ (yyval.fcall).args[(yyval.fcall).nrArgs] = (yyvsp[0].valp);
+ (yyval.fcall).nrArgs++;
+ }
++#line 5861 "../parser.c"
+ break;
+
+- case 367:
+-#line 2955 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 368: /* typedef: TK_TYPEDEF cpptype TK_NAME_VALUE optflags ';' optdocstring */
++#line 2981 "parser.y"
++ {
+ if (notSkipping())
+ {
+ const char *annos[] = {
+@@ -5999,17 +5878,18 @@ yyreduce:
+ NULL
+ };
+
+- checkAnnos(&(yyvsp[(4) - (6)].optflags), annos);
++ checkAnnos(&(yyvsp[-2].optflags), annos);
+
+- applyTypeFlags(currentModule, &(yyvsp[(2) - (6)].memArg), &(yyvsp[(4) - (6)].optflags));
+- newTypedef(currentSpec, currentModule, (yyvsp[(3) - (6)].text), &(yyvsp[(2) - (6)].memArg), &(yyvsp[(4) - (6)].optflags), (yyvsp[(6) - (6)].docstr));
++ applyTypeFlags(currentModule, &(yyvsp[-4].memArg), &(yyvsp[-2].optflags));
++ newTypedef(currentSpec, currentModule, (yyvsp[-3].text), &(yyvsp[-4].memArg), &(yyvsp[-2].optflags), (yyvsp[0].docstr));
+ }
+ }
++#line 5888 "../parser.c"
+ break;
+
+- case 368:
+-#line 2977 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 369: /* typedef: TK_TYPEDEF cpptype '(' '*' TK_NAME_VALUE ')' '(' cpptypelist ')' optflags ';' optdocstring */
++#line 3003 "parser.y"
++ {
+ if (notSkipping())
+ {
+ const char *annos[] = {
+@@ -6027,41 +5907,43 @@ yyreduce:
+ signatureDef *sig;
+ argDef ftype;
+
+- checkAnnos(&(yyvsp[(10) - (12)].optflags), annos);
++ checkAnnos(&(yyvsp[-2].optflags), annos);
+
+- applyTypeFlags(currentModule, &(yyvsp[(2) - (12)].memArg), &(yyvsp[(10) - (12)].optflags));
++ applyTypeFlags(currentModule, &(yyvsp[-10].memArg), &(yyvsp[-2].optflags));
+
+ memset(&ftype, 0, sizeof (argDef));
+
+ /* Create the full signature on the heap. */
+ sig = sipMalloc(sizeof (signatureDef));
+- *sig = (yyvsp[(8) - (12)].signature);
+- sig->result = (yyvsp[(2) - (12)].memArg);
++ *sig = (yyvsp[-4].signature);
++ sig->result = (yyvsp[-10].memArg);
+
+ /* Create the full type. */
+ ftype.atype = function_type;
+ ftype.nrderefs = 1;
+ ftype.u.sa = sig;
+
+- newTypedef(currentSpec, currentModule, (yyvsp[(5) - (12)].text), &ftype, &(yyvsp[(10) - (12)].optflags), (yyvsp[(12) - (12)].docstr));
++ newTypedef(currentSpec, currentModule, (yyvsp[-7].text), &ftype, &(yyvsp[-2].optflags), (yyvsp[0].docstr));
+ }
+ }
++#line 5930 "../parser.c"
+ break;
+
+- case 369:
+-#line 3016 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- if (currentSpec -> genc && (yyvsp[(2) - (2)].scpvalp)->next != NULL)
++ case 370: /* $@10: %empty */
++#line 3042 "parser.y"
++ {
++ if (currentSpec -> genc && (yyvsp[0].scpvalp)->next != NULL)
+ yyerror("Namespaces not allowed in a C module");
+
+ if (notSkipping())
+ currentSupers = NULL;
+ }
++#line 5942 "../parser.c"
+ break;
+
+- case 370:
+-#line 3022 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 371: /* $@11: %empty */
++#line 3048 "parser.y"
++ {
+ if (notSkipping())
+ {
+ const char *annos[] = {
+@@ -6091,33 +5973,36 @@ yyreduce:
+ NULL
+ };
+
+- checkAnnos(&(yyvsp[(5) - (5)].optflags), annos);
++ checkAnnos(&(yyvsp[0].optflags), annos);
+
+ if (currentSpec->genc && currentSupers != NULL)
+ yyerror("Super-classes not allowed in a C module struct");
+
+- defineClass((yyvsp[(2) - (5)].scpvalp), currentSupers, &(yyvsp[(5) - (5)].optflags));
++ defineClass((yyvsp[-3].scpvalp), currentSupers, &(yyvsp[0].optflags));
+ sectionFlags = SECT_IS_PUBLIC;
+ }
+ }
++#line 5986 "../parser.c"
+ break;
+
+- case 371:
+-#line 3060 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 372: /* struct: TK_STRUCT scopedname $@10 superclasses optflags $@11 optclassbody ';' */
++#line 3086 "parser.y"
++ {
+ if (notSkipping())
+- completeClass((yyvsp[(2) - (8)].scpvalp), &(yyvsp[(5) - (8)].optflags), (yyvsp[(7) - (8)].boolean));
++ completeClass((yyvsp[-6].scpvalp), &(yyvsp[-3].optflags), (yyvsp[-1].boolean));
+ }
++#line 5995 "../parser.c"
+ break;
+
+- case 372:
+-#line 3066 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {currentIsTemplate = TRUE;}
++ case 373: /* $@12: %empty */
++#line 3092 "parser.y"
++ {currentIsTemplate = TRUE;}
++#line 6001 "../parser.c"
+ break;
+
+- case 373:
+-#line 3066 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 374: /* classtmpl: template $@12 class */
++#line 3092 "parser.y"
++ {
+ if (currentSpec->genc)
+ yyerror("Class templates not allowed in a C module");
+
+@@ -6128,12 +6013,12 @@ yyreduce:
+ /*
+ * Make sure there is room for the extra class name argument.
+ */
+- if ((yyvsp[(1) - (3)].signature).nrArgs == MAX_NR_ARGS)
++ if ((yyvsp[-2].signature).nrArgs == MAX_NR_ARGS)
+ yyerror("Internal error - increase the value of MAX_NR_ARGS");
+
+ tcd = sipMalloc(sizeof (classTmplDef));
+- tcd->sig = (yyvsp[(1) - (3)].signature);
+- tcd->cd = (yyvsp[(3) - (3)].klass);
++ tcd->sig = (yyvsp[-2].signature);
++ tcd->cd = (yyvsp[0].klass);
+ tcd->next = currentSpec->classtemplates;
+
+ currentSpec->classtemplates = tcd;
+@@ -6141,29 +6026,32 @@ yyreduce:
+
+ currentIsTemplate = FALSE;
+ }
++#line 6030 "../parser.c"
+ break;
+
+- case 374:
+-#line 3092 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.signature) = (yyvsp[(3) - (4)].signature);
++ case 375: /* template: TK_TEMPLATE '<' cpptypelist '>' */
++#line 3118 "parser.y"
++ {
++ (yyval.signature) = (yyvsp[-1].signature);
+ }
++#line 6038 "../parser.c"
+ break;
+
+- case 375:
+-#line 3097 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 376: /* $@13: %empty */
++#line 3123 "parser.y"
++ {
+ if (currentSpec->genc)
+ yyerror("Class definition not allowed in a C module");
+
+ if (notSkipping())
+ currentSupers = NULL;
+ }
++#line 6050 "../parser.c"
+ break;
+
+- case 376:
+-#line 3103 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 377: /* $@14: %empty */
++#line 3129 "parser.y"
++ {
+ if (notSkipping())
+ {
+ const char *annos[] = {
+@@ -6192,30 +6080,32 @@ yyreduce:
+ NULL
+ };
+
+- checkAnnos(&(yyvsp[(5) - (5)].optflags), annos);
++ checkAnnos(&(yyvsp[0].optflags), annos);
+
+- defineClass((yyvsp[(2) - (5)].scpvalp), currentSupers, &(yyvsp[(5) - (5)].optflags));
++ defineClass((yyvsp[-3].scpvalp), currentSupers, &(yyvsp[0].optflags));
+ sectionFlags = SECT_IS_PRIVATE;
+ }
+ }
++#line 6090 "../parser.c"
+ break;
+
+- case 377:
+-#line 3137 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 378: /* class: TK_CLASS scopedname $@13 superclasses optflags $@14 optclassbody ';' */
++#line 3163 "parser.y"
++ {
+ if (notSkipping())
+- (yyval.klass) = completeClass((yyvsp[(2) - (8)].scpvalp), &(yyvsp[(5) - (8)].optflags), (yyvsp[(7) - (8)].boolean));
++ (yyval.klass) = completeClass((yyvsp[-6].scpvalp), &(yyvsp[-3].optflags), (yyvsp[-1].boolean));
+ }
++#line 6099 "../parser.c"
+ break;
+
+- case 382:
+-#line 3151 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- if (notSkipping() && (yyvsp[(1) - (2)].token) == TK_PUBLIC)
++ case 383: /* superclass: class_access scopedname */
++#line 3177 "parser.y"
++ {
++ if (notSkipping() && (yyvsp[-1].token) == TK_PUBLIC)
+ {
+ argDef ad;
+ classDef *super;
+- scopedNameDef *snd = (yyvsp[(2) - (2)].scpvalp);
++ scopedNameDef *snd = (yyvsp[0].scpvalp);
+
+ /*
+ * This is a hack to allow typedef'ed classes to be used before
+@@ -6260,53 +6150,60 @@ yyreduce:
+ appendToClassList(¤tSupers, super);
+ }
+ }
++#line 6154 "../parser.c"
+ break;
+
+- case 383:
+-#line 3203 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 384: /* class_access: %empty */
++#line 3229 "parser.y"
++ {
+ (yyval.token) = TK_PUBLIC;
+ }
++#line 6162 "../parser.c"
+ break;
+
+- case 384:
+-#line 3206 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 385: /* class_access: TK_PUBLIC */
++#line 3232 "parser.y"
++ {
+ (yyval.token) = TK_PUBLIC;
+ }
++#line 6170 "../parser.c"
+ break;
+
+- case 385:
+-#line 3209 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 386: /* class_access: TK_PROTECTED */
++#line 3235 "parser.y"
++ {
+ (yyval.token) = TK_PROTECTED;
+ }
++#line 6178 "../parser.c"
+ break;
+
+- case 386:
+-#line 3212 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 387: /* class_access: TK_PRIVATE */
++#line 3238 "parser.y"
++ {
+ (yyval.token) = TK_PRIVATE;
+ }
++#line 6186 "../parser.c"
+ break;
+
+- case 387:
+-#line 3217 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 388: /* optclassbody: %empty */
++#line 3243 "parser.y"
++ {
+ (yyval.boolean) = FALSE;
+ }
++#line 6194 "../parser.c"
+ break;
+
+- case 388:
+-#line 3220 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 389: /* optclassbody: '{' classbody '}' */
++#line 3246 "parser.y"
++ {
+ (yyval.boolean) = TRUE;
+ }
++#line 6202 "../parser.c"
+ break;
+
+- case 402:
+-#line 3240 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 403: /* classline: docstring */
++#line 3266 "parser.y"
++ {
+ if (notSkipping())
+ {
+ classDef *scope = currentScope();
+@@ -6314,30 +6211,33 @@ yyreduce:
+ if (scope->docstring != NULL)
+ yyerror("%Docstring already given for class");
+
+- scope->docstring = (yyvsp[(1) - (1)].docstr);
++ scope->docstring = (yyvsp[0].docstr);
+ }
+ }
++#line 6218 "../parser.c"
+ break;
+
+- case 403:
+-#line 3251 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 404: /* classline: typecode */
++#line 3277 "parser.y"
++ {
+ if (notSkipping())
+- appendCodeBlock(¤tScope()->cppcode, (yyvsp[(1) - (1)].codeb));
++ appendCodeBlock(¤tScope()->cppcode, (yyvsp[0].codeb));
+ }
++#line 6227 "../parser.c"
+ break;
+
+- case 404:
+-#line 3255 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 405: /* classline: typehdrcode */
++#line 3281 "parser.y"
++ {
+ if (notSkipping())
+- appendCodeBlock(¤tScope()->iff->hdrcode, (yyvsp[(1) - (1)].codeb));
++ appendCodeBlock(¤tScope()->iff->hdrcode, (yyvsp[0].codeb));
+ }
++#line 6236 "../parser.c"
+ break;
+
+- case 405:
+-#line 3259 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 406: /* classline: travcode */
++#line 3285 "parser.y"
++ {
+ if (notSkipping())
+ {
+ classDef *scope = currentScope();
+@@ -6345,14 +6245,15 @@ yyreduce:
+ if (scope->travcode != NULL)
+ yyerror("%GCTraverseCode already given for class");
+
+- appendCodeBlock(&scope->travcode, (yyvsp[(1) - (1)].codeb));
++ appendCodeBlock(&scope->travcode, (yyvsp[0].codeb));
+ }
+ }
++#line 6252 "../parser.c"
+ break;
+
+- case 406:
+-#line 3270 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 407: /* classline: clearcode */
++#line 3296 "parser.y"
++ {
+ if (notSkipping())
+ {
+ classDef *scope = currentScope();
+@@ -6360,14 +6261,15 @@ yyreduce:
+ if (scope->clearcode != NULL)
+ yyerror("%GCClearCode already given for class");
+
+- appendCodeBlock(&scope->clearcode, (yyvsp[(1) - (1)].codeb));
++ appendCodeBlock(&scope->clearcode, (yyvsp[0].codeb));
+ }
+ }
++#line 6268 "../parser.c"
+ break;
+
+- case 407:
+-#line 3281 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 408: /* classline: getbufcode */
++#line 3307 "parser.y"
++ {
+ if (notSkipping())
+ {
+ classDef *scope = currentScope();
+@@ -6375,14 +6277,15 @@ yyreduce:
+ if (scope->getbufcode != NULL)
+ yyerror("%BIGetBufferCode already given for class");
+
+- appendCodeBlock(&scope->getbufcode, (yyvsp[(1) - (1)].codeb));
++ appendCodeBlock(&scope->getbufcode, (yyvsp[0].codeb));
+ }
+ }
++#line 6284 "../parser.c"
+ break;
+
+- case 408:
+-#line 3292 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 409: /* classline: releasebufcode */
++#line 3318 "parser.y"
++ {
+ if (notSkipping())
+ {
+ classDef *scope = currentScope();
+@@ -6390,14 +6293,15 @@ yyreduce:
+ if (scope->releasebufcode != NULL)
+ yyerror("%BIReleaseBufferCode already given for class");
+
+- appendCodeBlock(&scope->releasebufcode, (yyvsp[(1) - (1)].codeb));
++ appendCodeBlock(&scope->releasebufcode, (yyvsp[0].codeb));
+ }
+ }
++#line 6300 "../parser.c"
+ break;
+
+- case 409:
+-#line 3303 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 410: /* classline: readbufcode */
++#line 3329 "parser.y"
++ {
+ if (notSkipping())
+ {
+ classDef *scope = currentScope();
+@@ -6405,14 +6309,15 @@ yyreduce:
+ if (scope->readbufcode != NULL)
+ yyerror("%BIGetReadBufferCode already given for class");
+
+- appendCodeBlock(&scope->readbufcode, (yyvsp[(1) - (1)].codeb));
++ appendCodeBlock(&scope->readbufcode, (yyvsp[0].codeb));
+ }
+ }
++#line 6316 "../parser.c"
+ break;
+
+- case 410:
+-#line 3314 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 411: /* classline: writebufcode */
++#line 3340 "parser.y"
++ {
+ if (notSkipping())
+ {
+ classDef *scope = currentScope();
+@@ -6420,14 +6325,15 @@ yyreduce:
+ if (scope->writebufcode != NULL)
+ yyerror("%BIGetWriteBufferCode already given for class");
+
+- appendCodeBlock(&scope->writebufcode, (yyvsp[(1) - (1)].codeb));
++ appendCodeBlock(&scope->writebufcode, (yyvsp[0].codeb));
+ }
+ }
++#line 6332 "../parser.c"
+ break;
+
+- case 411:
+-#line 3325 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 412: /* classline: segcountcode */
++#line 3351 "parser.y"
++ {
+ if (notSkipping())
+ {
+ classDef *scope = currentScope();
+@@ -6435,14 +6341,15 @@ yyreduce:
+ if (scope->segcountcode != NULL)
+ yyerror("%BIGetSegCountCode already given for class");
+
+- appendCodeBlock(&scope->segcountcode, (yyvsp[(1) - (1)].codeb));
++ appendCodeBlock(&scope->segcountcode, (yyvsp[0].codeb));
+ }
+ }
++#line 6348 "../parser.c"
+ break;
+
+- case 412:
+-#line 3336 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 413: /* classline: charbufcode */
++#line 3362 "parser.y"
++ {
+ if (notSkipping())
+ {
+ classDef *scope = currentScope();
+@@ -6450,14 +6357,15 @@ yyreduce:
+ if (scope->charbufcode != NULL)
+ yyerror("%BIGetCharBufferCode already given for class");
+
+- appendCodeBlock(&scope->charbufcode, (yyvsp[(1) - (1)].codeb));
++ appendCodeBlock(&scope->charbufcode, (yyvsp[0].codeb));
+ }
+ }
++#line 6364 "../parser.c"
+ break;
+
+- case 413:
+-#line 3347 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 414: /* classline: instancecode */
++#line 3373 "parser.y"
++ {
+ if (notSkipping())
+ {
+ classDef *scope = currentScope();
+@@ -6465,14 +6373,15 @@ yyreduce:
+ if (scope->instancecode != NULL)
+ yyerror("%InstanceCode already given for class");
+
+- appendCodeBlock(&scope->instancecode, (yyvsp[(1) - (1)].codeb));
++ appendCodeBlock(&scope->instancecode, (yyvsp[0].codeb));
+ }
+ }
++#line 6380 "../parser.c"
+ break;
+
+- case 414:
+-#line 3358 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 415: /* classline: picklecode */
++#line 3384 "parser.y"
++ {
+ if (notSkipping())
+ {
+ classDef *scope = currentScope();
+@@ -6480,14 +6389,15 @@ yyreduce:
+ if (scope->picklecode != NULL)
+ yyerror("%PickleCode already given for class");
+
+- appendCodeBlock(&scope->picklecode, (yyvsp[(1) - (1)].codeb));
++ appendCodeBlock(&scope->picklecode, (yyvsp[0].codeb));
+ }
+ }
++#line 6396 "../parser.c"
+ break;
+
+- case 415:
+-#line 3369 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 416: /* classline: finalcode */
++#line 3395 "parser.y"
++ {
+ if (notSkipping())
+ {
+ classDef *scope = currentScope();
+@@ -6495,14 +6405,15 @@ yyreduce:
+ if (scope->finalcode != NULL)
+ yyerror("%FinalisationCode already given for class");
+
+- appendCodeBlock(&scope->finalcode, (yyvsp[(1) - (1)].codeb));
++ appendCodeBlock(&scope->finalcode, (yyvsp[0].codeb));
+ }
+ }
++#line 6412 "../parser.c"
+ break;
+
+- case 416:
+-#line 3380 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 417: /* classline: classtypehintcode */
++#line 3406 "parser.y"
++ {
+ if (notSkipping())
+ {
+ classDef *scope = currentScope();
+@@ -6510,14 +6421,15 @@ yyreduce:
+ if (scope->typehintcode != NULL)
+ yyerror("%TypeHintCode already given for class");
+
+- appendCodeBlock(&scope->typehintcode, (yyvsp[(1) - (1)].codeb));
++ appendCodeBlock(&scope->typehintcode, (yyvsp[0].codeb));
+ }
+ }
++#line 6428 "../parser.c"
+ break;
+
+- case 420:
+-#line 3394 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 421: /* classline: TK_TOSUBCLASS codeblock */
++#line 3420 "parser.y"
++ {
+ if (notSkipping())
+ {
+ classDef *scope = currentScope();
+@@ -6525,14 +6437,15 @@ yyreduce:
+ if (scope->convtosubcode != NULL)
+ yyerror("Class has more than one %ConvertToSubClassCode directive");
+
+- appendCodeBlock(&scope->convtosubcode, (yyvsp[(2) - (2)].codeb));
++ appendCodeBlock(&scope->convtosubcode, (yyvsp[0].codeb));
+ }
+ }
++#line 6444 "../parser.c"
+ break;
+
+- case 421:
+-#line 3405 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 422: /* classline: TK_TOTYPE codeblock */
++#line 3431 "parser.y"
++ {
+ if (notSkipping())
+ {
+ classDef *scope = currentScope();
+@@ -6540,14 +6453,15 @@ yyreduce:
+ if (scope->convtocode != NULL)
+ yyerror("Class has more than one %ConvertToTypeCode directive");
+
+- appendCodeBlock(&scope->convtocode, (yyvsp[(2) - (2)].codeb));
++ appendCodeBlock(&scope->convtocode, (yyvsp[0].codeb));
+ }
+ }
++#line 6460 "../parser.c"
+ break;
+
+- case 422:
+-#line 3416 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 423: /* classline: TK_FROMTYPE codeblock */
++#line 3442 "parser.y"
++ {
+ if (notSkipping())
+ {
+ classDef *scope = currentScope();
+@@ -6555,172 +6469,188 @@ yyreduce:
+ if (scope->convfromcode != NULL)
+ yyerror("Class has more than one %ConvertFromTypeCode directive");
+
+- appendCodeBlock(&scope->convfromcode, (yyvsp[(2) - (2)].codeb));
++ appendCodeBlock(&scope->convfromcode, (yyvsp[0].codeb));
+ }
+ }
++#line 6476 "../parser.c"
+ break;
+
+- case 423:
+-#line 3427 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 424: /* classline: TK_PUBLIC optslot ':' */
++#line 3453 "parser.y"
++ {
+ if (currentSpec -> genc)
+ yyerror("public section not allowed in a C module");
+
+ if (notSkipping())
+- sectionFlags = SECT_IS_PUBLIC | (yyvsp[(2) - (3)].number);
++ sectionFlags = SECT_IS_PUBLIC | (yyvsp[-1].number);
+ }
++#line 6488 "../parser.c"
+ break;
+
+- case 424:
+-#line 3434 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 425: /* classline: TK_PROTECTED optslot ':' */
++#line 3460 "parser.y"
++ {
+ if (currentSpec -> genc)
+ yyerror("protected section not allowed in a C module");
+
+ if (notSkipping())
+- sectionFlags = SECT_IS_PROT | (yyvsp[(2) - (3)].number);
++ sectionFlags = SECT_IS_PROT | (yyvsp[-1].number);
+ }
++#line 6500 "../parser.c"
+ break;
+
+- case 425:
+-#line 3441 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 426: /* classline: TK_PRIVATE optslot ':' */
++#line 3467 "parser.y"
++ {
+ if (currentSpec -> genc)
+ yyerror("private section not allowed in a C module");
+
+ if (notSkipping())
+- sectionFlags = SECT_IS_PRIVATE | (yyvsp[(2) - (3)].number);
++ sectionFlags = SECT_IS_PRIVATE | (yyvsp[-1].number);
+ }
++#line 6512 "../parser.c"
+ break;
+
+- case 426:
+-#line 3448 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 427: /* classline: TK_SIGNALS ':' */
++#line 3474 "parser.y"
++ {
+ if (currentSpec -> genc)
+ yyerror("signals section not allowed in a C module");
+
+ if (notSkipping())
+ sectionFlags = SECT_IS_SIGNAL;
+ }
++#line 6524 "../parser.c"
+ break;
+
+- case 427:
+-#line 3457 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- if ((yyvsp[(2) - (3)].property).name == NULL)
++ case 428: /* property: TK_PROPERTY property_args property_body */
++#line 3483 "parser.y"
++ {
++ if ((yyvsp[-1].property).name == NULL)
+ yyerror("A %Property directive must have a 'name' argument");
+
+- if ((yyvsp[(2) - (3)].property).get == NULL)
++ if ((yyvsp[-1].property).get == NULL)
+ yyerror("A %Property directive must have a 'get' argument");
+
+ if (notSkipping())
+ addProperty(currentSpec, currentModule, currentScope(),
+- (yyvsp[(2) - (3)].property).name, (yyvsp[(2) - (3)].property).get, (yyvsp[(2) - (3)].property).set, (yyvsp[(3) - (3)].property).docstring);
++ (yyvsp[-1].property).name, (yyvsp[-1].property).get, (yyvsp[-1].property).set, (yyvsp[0].property).docstring);
+ }
++#line 6540 "../parser.c"
+ break;
+
+- case 428:
+-#line 3470 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.property) = (yyvsp[(2) - (3)].property);
++ case 429: /* property_args: '(' property_arg_list ')' */
++#line 3496 "parser.y"
++ {
++ (yyval.property) = (yyvsp[-1].property);
+ }
++#line 6548 "../parser.c"
+ break;
+
+- case 430:
+-#line 3476 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.property) = (yyvsp[(1) - (3)].property);
++ case 431: /* property_arg_list: property_arg_list ',' property_arg */
++#line 3502 "parser.y"
++ {
++ (yyval.property) = (yyvsp[-2].property);
+
+- switch ((yyvsp[(3) - (3)].property).token)
++ switch ((yyvsp[0].property).token)
+ {
+- case TK_GET: (yyval.property).get = (yyvsp[(3) - (3)].property).get; break;
+- case TK_NAME: (yyval.property).name = (yyvsp[(3) - (3)].property).name; break;
+- case TK_SET: (yyval.property).set = (yyvsp[(3) - (3)].property).set; break;
++ case TK_GET: (yyval.property).get = (yyvsp[0].property).get; break;
++ case TK_NAME: (yyval.property).name = (yyvsp[0].property).name; break;
++ case TK_SET: (yyval.property).set = (yyvsp[0].property).set; break;
+ }
+ }
++#line 6563 "../parser.c"
+ break;
+
+- case 431:
+-#line 3488 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 432: /* property_arg: TK_GET '=' TK_NAME_VALUE */
++#line 3514 "parser.y"
++ {
+ (yyval.property).token = TK_GET;
+
+- (yyval.property).get = (yyvsp[(3) - (3)].text);
++ (yyval.property).get = (yyvsp[0].text);
+ (yyval.property).name = NULL;
+ (yyval.property).set = NULL;
+ }
++#line 6575 "../parser.c"
+ break;
+
+- case 432:
+-#line 3495 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 433: /* property_arg: TK_NAME '=' name_or_string */
++#line 3521 "parser.y"
++ {
+ (yyval.property).token = TK_NAME;
+
+ (yyval.property).get = NULL;
+- (yyval.property).name = (yyvsp[(3) - (3)].text);
++ (yyval.property).name = (yyvsp[0].text);
+ (yyval.property).set = NULL;
+ }
++#line 6587 "../parser.c"
+ break;
+
+- case 433:
+-#line 3502 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 434: /* property_arg: TK_SET '=' TK_NAME_VALUE */
++#line 3528 "parser.y"
++ {
+ (yyval.property).token = TK_SET;
+
+ (yyval.property).get = NULL;
+ (yyval.property).name = NULL;
+- (yyval.property).set = (yyvsp[(3) - (3)].text);
++ (yyval.property).set = (yyvsp[0].text);
+ }
++#line 6599 "../parser.c"
+ break;
+
+- case 434:
+-#line 3511 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 435: /* property_body: %empty */
++#line 3537 "parser.y"
++ {
+ (yyval.property).token = 0;
+ (yyval.property).docstring = NULL;
+ }
++#line 6608 "../parser.c"
+ break;
+
+- case 435:
+-#line 3515 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.property) = (yyvsp[(2) - (4)].property);
++ case 436: /* property_body: '{' property_body_directives '}' ';' */
++#line 3541 "parser.y"
++ {
++ (yyval.property) = (yyvsp[-2].property);
+ }
++#line 6616 "../parser.c"
+ break;
+
+- case 437:
+-#line 3521 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.property) = (yyvsp[(1) - (2)].property);
++ case 438: /* property_body_directives: property_body_directives property_body_directive */
++#line 3547 "parser.y"
++ {
++ (yyval.property) = (yyvsp[-1].property);
+
+- switch ((yyvsp[(2) - (2)].property).token)
++ switch ((yyvsp[0].property).token)
+ {
+- case TK_DOCSTRING: (yyval.property).docstring = (yyvsp[(2) - (2)].property).docstring; break;
++ case TK_DOCSTRING: (yyval.property).docstring = (yyvsp[0].property).docstring; break;
+ }
+ }
++#line 6629 "../parser.c"
+ break;
+
+- case 438:
+-#line 3531 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 439: /* property_body_directive: ifstart */
++#line 3557 "parser.y"
++ {
+ (yyval.property).token = TK_IF;
+ }
++#line 6637 "../parser.c"
+ break;
+
+- case 439:
+-#line 3534 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 440: /* property_body_directive: ifend */
++#line 3560 "parser.y"
++ {
+ (yyval.property).token = TK_END;
+ }
++#line 6645 "../parser.c"
+ break;
+
+- case 440:
+-#line 3537 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 441: /* property_body_directive: docstring */
++#line 3563 "parser.y"
++ {
+ if (notSkipping())
+ {
+ (yyval.property).token = TK_DOCSTRING;
+- (yyval.property).docstring = (yyvsp[(1) - (1)].docstr);
++ (yyval.property).docstring = (yyvsp[0].docstr);
+ }
+ else
+ {
+@@ -6728,30 +6658,34 @@ yyreduce:
+ (yyval.property).docstring = NULL;
+ }
+ }
++#line 6662 "../parser.c"
+ break;
+
+- case 443:
+-#line 3555 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 444: /* optslot: %empty */
++#line 3581 "parser.y"
++ {
+ (yyval.number) = 0;
+ }
++#line 6670 "../parser.c"
+ break;
+
+- case 444:
+-#line 3558 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 445: /* optslot: TK_SLOTS */
++#line 3584 "parser.y"
++ {
+ (yyval.number) = SECT_IS_SLOT;
+ }
++#line 6678 "../parser.c"
+ break;
+
+- case 445:
+-#line 3564 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {currentIsVirt = TRUE;}
++ case 446: /* $@15: %empty */
++#line 3590 "parser.y"
++ {currentIsVirt = TRUE;}
++#line 6684 "../parser.c"
+ break;
+
+- case 448:
+-#line 3568 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 449: /* dtor_decl: '~' TK_NAME_VALUE '(' ')' optexceptions optabstract optflags ';' premethodcode methodcode virtualcatchercode */
++#line 3594 "parser.y"
++ {
+ /* Note that we allow non-virtual dtors in C modules. */
+
+ if (notSkipping())
+@@ -6764,22 +6698,22 @@ yyreduce:
+
+ classDef *cd = currentScope();
+
+- checkAnnos(&(yyvsp[(7) - (11)].optflags), annos);
++ checkAnnos(&(yyvsp[-4].optflags), annos);
+
+- if (strcmp(classBaseName(cd),(yyvsp[(2) - (11)].text)) != 0)
++ if (strcmp(classBaseName(cd),(yyvsp[-9].text)) != 0)
+ yyerror("Destructor doesn't have the same name as its class");
+
+ if (isDtor(cd))
+ yyerror("Destructor has already been defined");
+
+- if (currentSpec -> genc && (yyvsp[(9) - (11)].codeb) == NULL)
++ if (currentSpec -> genc && (yyvsp[-2].codeb) == NULL)
+ yyerror("Destructor in C modules must include %MethodCode");
+
+
+- appendCodeBlock(&cd->dealloccode, (yyvsp[(9) - (11)].codeb)); /* premethodcode */
+- appendCodeBlock(&cd->dealloccode, (yyvsp[(10) - (11)].codeb)); /* methodcode */
+- appendCodeBlock(&cd->dtorcode, (yyvsp[(11) - (11)].codeb));
+- cd -> dtorexceptions = (yyvsp[(5) - (11)].throwlist);
++ appendCodeBlock(&cd->dealloccode, (yyvsp[-2].codeb)); /* premethodcode */
++ appendCodeBlock(&cd->dealloccode, (yyvsp[-1].codeb)); /* methodcode */
++ appendCodeBlock(&cd->dtorcode, (yyvsp[0].codeb));
++ cd -> dtorexceptions = (yyvsp[-6].throwlist);
+
+ /*
+ * Note that we don't apply the protected/public hack to dtors
+@@ -6787,7 +6721,7 @@ yyreduce:
+ */
+ cd->classflags |= sectionFlags;
+
+- if ((yyvsp[(6) - (11)].number))
++ if ((yyvsp[-5].number))
+ {
+ if (!currentIsVirt)
+ yyerror("Abstract destructor must be virtual");
+@@ -6799,7 +6733,7 @@ yyreduce:
+ * The class has a shadow if we have a virtual dtor or some
+ * dtor code.
+ */
+- if (currentIsVirt || (yyvsp[(10) - (11)].codeb) != NULL)
++ if (currentIsVirt || (yyvsp[-1].codeb) != NULL)
+ {
+ if (currentSpec -> genc)
+ yyerror("Virtual destructor or %VirtualCatcherCode not allowed in a C module");
+@@ -6807,24 +6741,26 @@ yyreduce:
+ setNeedsShadow(cd);
+ }
+
+- if (getReleaseGIL(&(yyvsp[(7) - (11)].optflags)))
++ if (getReleaseGIL(&(yyvsp[-4].optflags)))
+ setIsReleaseGILDtor(cd);
+- else if (getHoldGIL(&(yyvsp[(7) - (11)].optflags)))
++ else if (getHoldGIL(&(yyvsp[-4].optflags)))
+ setIsHoldGILDtor(cd);
+ }
+
+ currentIsVirt = FALSE;
+ }
++#line 6753 "../parser.c"
+ break;
+
+- case 449:
+-#line 3634 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {currentCtorIsExplicit = TRUE;}
++ case 450: /* $@16: %empty */
++#line 3660 "parser.y"
++ {currentCtorIsExplicit = TRUE;}
++#line 6759 "../parser.c"
+ break;
+
+- case 452:
+-#line 3638 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 453: /* simplector: TK_NAME_VALUE '(' arglist ')' optexceptions optflags optctorsig ';' optdocstring premethodcode methodcode */
++#line 3664 "parser.y"
++ {
+ /* Note that we allow ctors in C modules. */
+
+ if (notSkipping())
+@@ -6846,11 +6782,11 @@ yyreduce:
+ NULL
+ };
+
+- checkAnnos(&(yyvsp[(6) - (11)].optflags), annos);
++ checkAnnos(&(yyvsp[-5].optflags), annos);
+
+ if (currentSpec -> genc)
+ {
+- if ((yyvsp[(10) - (11)].codeb) == NULL && (yyvsp[(3) - (11)].signature).nrArgs != 0)
++ if ((yyvsp[-1].codeb) == NULL && (yyvsp[-8].signature).nrArgs != 0)
+ yyerror("Constructors with arguments in C modules must include %MethodCode");
+
+ if (currentCtorIsExplicit)
+@@ -6860,80 +6796,87 @@ yyreduce:
+ if ((sectionFlags & (SECT_IS_PUBLIC | SECT_IS_PROT | SECT_IS_PRIVATE)) == 0)
+ yyerror("Constructor must be in the public, private or protected sections");
+
+- newCtor(currentModule, (yyvsp[(1) - (11)].text), sectionFlags, &(yyvsp[(3) - (11)].signature), &(yyvsp[(6) - (11)].optflags), (yyvsp[(11) - (11)].codeb), (yyvsp[(5) - (11)].throwlist), (yyvsp[(7) - (11)].optsignature),
+- currentCtorIsExplicit, (yyvsp[(9) - (11)].docstr), (yyvsp[(10) - (11)].codeb));
++ newCtor(currentModule, (yyvsp[-10].text), sectionFlags, &(yyvsp[-8].signature), &(yyvsp[-5].optflags), (yyvsp[0].codeb), (yyvsp[-6].throwlist), (yyvsp[-4].optsignature),
++ currentCtorIsExplicit, (yyvsp[-2].docstr), (yyvsp[-1].codeb));
+ }
+
+- free((yyvsp[(1) - (11)].text));
++ free((yyvsp[-10].text));
+
+ currentCtorIsExplicit = FALSE;
+ }
++#line 6808 "../parser.c"
+ break;
+
+- case 453:
+-#line 3684 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 454: /* optctorsig: %empty */
++#line 3710 "parser.y"
++ {
+ (yyval.optsignature) = NULL;
+ }
++#line 6816 "../parser.c"
+ break;
+
+- case 454:
+-#line 3687 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 455: /* $@17: %empty */
++#line 3713 "parser.y"
++ {
+ parsingCSignature = TRUE;
+ }
++#line 6824 "../parser.c"
+ break;
+
+- case 455:
+-#line 3689 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 456: /* optctorsig: '[' $@17 '(' arglist ')' ']' */
++#line 3715 "parser.y"
++ {
+ (yyval.optsignature) = sipMalloc(sizeof (signatureDef));
+
+- *(yyval.optsignature) = (yyvsp[(4) - (6)].signature);
++ *(yyval.optsignature) = (yyvsp[-2].signature);
+
+ parsingCSignature = FALSE;
+ }
++#line 6836 "../parser.c"
+ break;
+
+- case 456:
+-#line 3698 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 457: /* optsig: %empty */
++#line 3724 "parser.y"
++ {
+ (yyval.optsignature) = NULL;
+ }
++#line 6844 "../parser.c"
+ break;
+
+- case 457:
+-#line 3701 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 458: /* $@18: %empty */
++#line 3727 "parser.y"
++ {
+ parsingCSignature = TRUE;
+ }
++#line 6852 "../parser.c"
+ break;
+
+- case 458:
+-#line 3703 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 459: /* optsig: '[' $@18 cpptype '(' arglist ')' ']' */
++#line 3729 "parser.y"
++ {
+ (yyval.optsignature) = sipMalloc(sizeof (signatureDef));
+
+- *(yyval.optsignature) = (yyvsp[(5) - (7)].signature);
+- (yyval.optsignature)->result = (yyvsp[(3) - (7)].memArg);
++ *(yyval.optsignature) = (yyvsp[-2].signature);
++ (yyval.optsignature)->result = (yyvsp[-4].memArg);
+
+ parsingCSignature = FALSE;
+ }
++#line 6865 "../parser.c"
+ break;
+
+- case 459:
+-#line 3713 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 460: /* function: cpptype TK_NAME_VALUE '(' arglist ')' optconst optfinal optexceptions optabstract optflags optsig ';' optdocstring premethodcode methodcode virtualcatchercode virtualcallcode */
++#line 3739 "parser.y"
++ {
+ if (notSkipping())
+ {
+- applyTypeFlags(currentModule, &(yyvsp[(1) - (17)].memArg), &(yyvsp[(10) - (17)].optflags));
++ applyTypeFlags(currentModule, &(yyvsp[-16].memArg), &(yyvsp[-7].optflags));
+
+- (yyvsp[(4) - (17)].signature).result = (yyvsp[(1) - (17)].memArg);
++ (yyvsp[-13].signature).result = (yyvsp[-16].memArg);
+
+ newFunction(currentSpec, currentModule, currentScope(), NULL,
+ NULL, sectionFlags, currentIsStatic, currentIsSignal,
+- currentIsSlot, currentIsVirt, (yyvsp[(2) - (17)].text), &(yyvsp[(4) - (17)].signature), (yyvsp[(6) - (17)].number), (yyvsp[(9) - (17)].number), &(yyvsp[(10) - (17)].optflags),
+- (yyvsp[(15) - (17)].codeb), (yyvsp[(16) - (17)].codeb), (yyvsp[(17) - (17)].codeb), (yyvsp[(8) - (17)].throwlist), (yyvsp[(11) - (17)].optsignature), (yyvsp[(13) - (17)].docstr), (yyvsp[(7) - (17)].number), (yyvsp[(14) - (17)].codeb));
++ currentIsSlot, currentIsVirt, (yyvsp[-15].text), &(yyvsp[-13].signature), (yyvsp[-11].number), (yyvsp[-8].number), &(yyvsp[-7].optflags),
++ (yyvsp[-2].codeb), (yyvsp[-1].codeb), (yyvsp[0].codeb), (yyvsp[-9].throwlist), (yyvsp[-6].optsignature), (yyvsp[-4].docstr), (yyvsp[-10].number), (yyvsp[-3].codeb));
+ }
+
+ currentIsStatic = FALSE;
+@@ -6941,11 +6884,12 @@ yyreduce:
+ currentIsSlot = FALSE;
+ currentIsVirt = FALSE;
+ }
++#line 6888 "../parser.c"
+ break;
+
+- case 460:
+-#line 3731 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 461: /* function: cpptype TK_OPERATOR '=' '(' cpptype ')' ';' */
++#line 3757 "parser.y"
++ {
+ /*
+ * It looks like an assignment operator (though we don't bother to
+ * check the types) so make sure it is private.
+@@ -6965,11 +6909,12 @@ yyreduce:
+ currentIsSlot = FALSE;
+ currentIsVirt = FALSE;
+ }
++#line 6913 "../parser.c"
+ break;
+
+- case 461:
+-#line 3751 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 462: /* function: cpptype TK_OPERATOR operatorname '(' arglist ')' optconst optfinal optexceptions optabstract optflags optsig ';' premethodcode methodcode virtualcatchercode virtualcallcode */
++#line 3777 "parser.y"
++ {
+ if (notSkipping())
+ {
+ classDef *cd = currentScope();
+@@ -6989,23 +6934,23 @@ yyreduce:
+ ns_scope = NULL;
+ }
+
+- applyTypeFlags(currentModule, &(yyvsp[(1) - (17)].memArg), &(yyvsp[(11) - (17)].optflags));
++ applyTypeFlags(currentModule, &(yyvsp[-16].memArg), &(yyvsp[-6].optflags));
+
+ /* Handle the unary '+' and '-' operators. */
+- if ((cd != NULL && (yyvsp[(5) - (17)].signature).nrArgs == 0) || (cd == NULL && (yyvsp[(5) - (17)].signature).nrArgs == 1))
++ if ((cd != NULL && (yyvsp[-12].signature).nrArgs == 0) || (cd == NULL && (yyvsp[-12].signature).nrArgs == 1))
+ {
+- if (strcmp((yyvsp[(3) - (17)].text), "__add__") == 0)
+- (yyvsp[(3) - (17)].text) = "__pos__";
+- else if (strcmp((yyvsp[(3) - (17)].text), "__sub__") == 0)
+- (yyvsp[(3) - (17)].text) = "__neg__";
++ if (strcmp((yyvsp[-14].text), "__add__") == 0)
++ (yyvsp[-14].text) = "__pos__";
++ else if (strcmp((yyvsp[-14].text), "__sub__") == 0)
++ (yyvsp[-14].text) = "__neg__";
+ }
+
+- (yyvsp[(5) - (17)].signature).result = (yyvsp[(1) - (17)].memArg);
++ (yyvsp[-12].signature).result = (yyvsp[-16].memArg);
+
+ newFunction(currentSpec, currentModule, cd, ns_scope, NULL,
+ sectionFlags, currentIsStatic, currentIsSignal,
+- currentIsSlot, currentIsVirt, (yyvsp[(3) - (17)].text), &(yyvsp[(5) - (17)].signature), (yyvsp[(7) - (17)].number), (yyvsp[(10) - (17)].number), &(yyvsp[(11) - (17)].optflags),
+- (yyvsp[(15) - (17)].codeb), (yyvsp[(16) - (17)].codeb), (yyvsp[(17) - (17)].codeb), (yyvsp[(9) - (17)].throwlist), (yyvsp[(12) - (17)].optsignature), NULL, (yyvsp[(8) - (17)].number), (yyvsp[(14) - (17)].codeb));
++ currentIsSlot, currentIsVirt, (yyvsp[-14].text), &(yyvsp[-12].signature), (yyvsp[-10].number), (yyvsp[-7].number), &(yyvsp[-6].optflags),
++ (yyvsp[-2].codeb), (yyvsp[-1].codeb), (yyvsp[0].codeb), (yyvsp[-8].throwlist), (yyvsp[-5].optsignature), NULL, (yyvsp[-9].number), (yyvsp[-3].codeb));
+ }
+
+ currentIsStatic = FALSE;
+@@ -7013,22 +6958,23 @@ yyreduce:
+ currentIsSlot = FALSE;
+ currentIsVirt = FALSE;
+ }
++#line 6962 "../parser.c"
+ break;
+
+- case 462:
+-#line 3795 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 463: /* function: TK_OPERATOR cpptype '(' arglist ')' optconst optfinal optexceptions optabstract optflags optsig ';' premethodcode methodcode virtualcatchercode virtualcallcode */
++#line 3821 "parser.y"
++ {
+ if (notSkipping())
+ {
+ char *sname;
+ classDef *scope = currentScope();
+
+- if (scope == NULL || (yyvsp[(4) - (16)].signature).nrArgs != 0)
++ if (scope == NULL || (yyvsp[-12].signature).nrArgs != 0)
+ yyerror("Operator casts must be specified in a class and have no arguments");
+
+- applyTypeFlags(currentModule, &(yyvsp[(2) - (16)].memArg), &(yyvsp[(10) - (16)].optflags));
++ applyTypeFlags(currentModule, &(yyvsp[-14].memArg), &(yyvsp[-6].optflags));
+
+- switch ((yyvsp[(2) - (16)].memArg).atype)
++ switch ((yyvsp[-14].memArg).atype)
+ {
+ case defined_type:
+ sname = NULL;
+@@ -7067,12 +7013,12 @@ yyreduce:
+
+ if (sname != NULL)
+ {
+- (yyvsp[(4) - (16)].signature).result = (yyvsp[(2) - (16)].memArg);
++ (yyvsp[-12].signature).result = (yyvsp[-14].memArg);
+
+ newFunction(currentSpec, currentModule, scope, NULL, NULL,
+ sectionFlags, currentIsStatic, currentIsSignal,
+- currentIsSlot, currentIsVirt, sname, &(yyvsp[(4) - (16)].signature), (yyvsp[(6) - (16)].number), (yyvsp[(9) - (16)].number),
+- &(yyvsp[(10) - (16)].optflags), (yyvsp[(14) - (16)].codeb), (yyvsp[(15) - (16)].codeb), (yyvsp[(16) - (16)].codeb), (yyvsp[(8) - (16)].throwlist), (yyvsp[(11) - (16)].optsignature), NULL, (yyvsp[(7) - (16)].number), (yyvsp[(13) - (16)].codeb));
++ currentIsSlot, currentIsVirt, sname, &(yyvsp[-12].signature), (yyvsp[-10].number), (yyvsp[-7].number),
++ &(yyvsp[-6].optflags), (yyvsp[-2].codeb), (yyvsp[-1].codeb), (yyvsp[0].codeb), (yyvsp[-8].throwlist), (yyvsp[-5].optsignature), NULL, (yyvsp[-9].number), (yyvsp[-3].codeb));
+ }
+ else
+ {
+@@ -7080,11 +7026,11 @@ yyreduce:
+
+ /* Check it doesn't already exist. */
+ for (al = scope->casts; al != NULL; al = al->next)
+- if (compareScopedNames((yyvsp[(2) - (16)].memArg).u.snd, al->arg.u.snd) == 0)
++ if (compareScopedNames((yyvsp[-14].memArg).u.snd, al->arg.u.snd) == 0)
+ yyerror("This operator cast has already been specified in this class");
+
+ al = sipMalloc(sizeof (argList));
+- al->arg = (yyvsp[(2) - (16)].memArg);
++ al->arg = (yyvsp[-14].memArg);
+ al->next = scope->casts;
+
+ scope->casts = al;
+@@ -7096,367 +7042,421 @@ yyreduce:
+ currentIsSlot = FALSE;
+ currentIsVirt = FALSE;
+ }
++#line 7046 "../parser.c"
+ break;
+
+- case 463:
+-#line 3876 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__add__";}
++ case 464: /* operatorname: '+' */
++#line 3902 "parser.y"
++ {(yyval.text) = "__add__";}
++#line 7052 "../parser.c"
+ break;
+
+- case 464:
+-#line 3877 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__sub__";}
++ case 465: /* operatorname: '-' */
++#line 3903 "parser.y"
++ {(yyval.text) = "__sub__";}
++#line 7058 "../parser.c"
+ break;
+
+- case 465:
+-#line 3878 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__mul__";}
++ case 466: /* operatorname: '*' */
++#line 3904 "parser.y"
++ {(yyval.text) = "__mul__";}
++#line 7064 "../parser.c"
+ break;
+
+- case 466:
+-#line 3879 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__div__";}
++ case 467: /* operatorname: '/' */
++#line 3905 "parser.y"
++ {(yyval.text) = "__div__";}
++#line 7070 "../parser.c"
+ break;
+
+- case 467:
+-#line 3880 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__mod__";}
++ case 468: /* operatorname: '%' */
++#line 3906 "parser.y"
++ {(yyval.text) = "__mod__";}
++#line 7076 "../parser.c"
+ break;
+
+- case 468:
+-#line 3881 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__and__";}
++ case 469: /* operatorname: '&' */
++#line 3907 "parser.y"
++ {(yyval.text) = "__and__";}
++#line 7082 "../parser.c"
+ break;
+
+- case 469:
+-#line 3882 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__or__";}
++ case 470: /* operatorname: '|' */
++#line 3908 "parser.y"
++ {(yyval.text) = "__or__";}
++#line 7088 "../parser.c"
+ break;
+
+- case 470:
+-#line 3883 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__xor__";}
++ case 471: /* operatorname: '^' */
++#line 3909 "parser.y"
++ {(yyval.text) = "__xor__";}
++#line 7094 "../parser.c"
+ break;
+
+- case 471:
+-#line 3884 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__lshift__";}
++ case 472: /* operatorname: '<' '<' */
++#line 3910 "parser.y"
++ {(yyval.text) = "__lshift__";}
++#line 7100 "../parser.c"
+ break;
+
+- case 472:
+-#line 3885 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__rshift__";}
++ case 473: /* operatorname: '>' '>' */
++#line 3911 "parser.y"
++ {(yyval.text) = "__rshift__";}
++#line 7106 "../parser.c"
+ break;
+
+- case 473:
+-#line 3886 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__iadd__";}
++ case 474: /* operatorname: '+' '=' */
++#line 3912 "parser.y"
++ {(yyval.text) = "__iadd__";}
++#line 7112 "../parser.c"
+ break;
+
+- case 474:
+-#line 3887 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__isub__";}
++ case 475: /* operatorname: '-' '=' */
++#line 3913 "parser.y"
++ {(yyval.text) = "__isub__";}
++#line 7118 "../parser.c"
+ break;
+
+- case 475:
+-#line 3888 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__imul__";}
++ case 476: /* operatorname: '*' '=' */
++#line 3914 "parser.y"
++ {(yyval.text) = "__imul__";}
++#line 7124 "../parser.c"
+ break;
+
+- case 476:
+-#line 3889 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__idiv__";}
++ case 477: /* operatorname: '/' '=' */
++#line 3915 "parser.y"
++ {(yyval.text) = "__idiv__";}
++#line 7130 "../parser.c"
+ break;
+
+- case 477:
+-#line 3890 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__imod__";}
++ case 478: /* operatorname: '%' '=' */
++#line 3916 "parser.y"
++ {(yyval.text) = "__imod__";}
++#line 7136 "../parser.c"
+ break;
+
+- case 478:
+-#line 3891 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__iand__";}
++ case 479: /* operatorname: '&' '=' */
++#line 3917 "parser.y"
++ {(yyval.text) = "__iand__";}
++#line 7142 "../parser.c"
+ break;
+
+- case 479:
+-#line 3892 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__ior__";}
++ case 480: /* operatorname: '|' '=' */
++#line 3918 "parser.y"
++ {(yyval.text) = "__ior__";}
++#line 7148 "../parser.c"
+ break;
+
+- case 480:
+-#line 3893 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__ixor__";}
++ case 481: /* operatorname: '^' '=' */
++#line 3919 "parser.y"
++ {(yyval.text) = "__ixor__";}
++#line 7154 "../parser.c"
+ break;
+
+- case 481:
+-#line 3894 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__ilshift__";}
++ case 482: /* operatorname: '<' '<' '=' */
++#line 3920 "parser.y"
++ {(yyval.text) = "__ilshift__";}
++#line 7160 "../parser.c"
+ break;
+
+- case 482:
+-#line 3895 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__irshift__";}
++ case 483: /* operatorname: '>' '>' '=' */
++#line 3921 "parser.y"
++ {(yyval.text) = "__irshift__";}
++#line 7166 "../parser.c"
+ break;
+
+- case 483:
+-#line 3896 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__invert__";}
++ case 484: /* operatorname: '~' */
++#line 3922 "parser.y"
++ {(yyval.text) = "__invert__";}
++#line 7172 "../parser.c"
+ break;
+
+- case 484:
+-#line 3897 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__call__";}
++ case 485: /* operatorname: '(' ')' */
++#line 3923 "parser.y"
++ {(yyval.text) = "__call__";}
++#line 7178 "../parser.c"
+ break;
+
+- case 485:
+-#line 3898 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__getitem__";}
++ case 486: /* operatorname: '[' ']' */
++#line 3924 "parser.y"
++ {(yyval.text) = "__getitem__";}
++#line 7184 "../parser.c"
+ break;
+
+- case 486:
+-#line 3899 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__lt__";}
++ case 487: /* operatorname: '<' */
++#line 3925 "parser.y"
++ {(yyval.text) = "__lt__";}
++#line 7190 "../parser.c"
+ break;
+
+- case 487:
+-#line 3900 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__le__";}
++ case 488: /* operatorname: '<' '=' */
++#line 3926 "parser.y"
++ {(yyval.text) = "__le__";}
++#line 7196 "../parser.c"
+ break;
+
+- case 488:
+-#line 3901 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__eq__";}
++ case 489: /* operatorname: '=' '=' */
++#line 3927 "parser.y"
++ {(yyval.text) = "__eq__";}
++#line 7202 "../parser.c"
+ break;
+
+- case 489:
+-#line 3902 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__ne__";}
++ case 490: /* operatorname: '!' '=' */
++#line 3928 "parser.y"
++ {(yyval.text) = "__ne__";}
++#line 7208 "../parser.c"
+ break;
+
+- case 490:
+-#line 3903 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__gt__";}
++ case 491: /* operatorname: '>' */
++#line 3929 "parser.y"
++ {(yyval.text) = "__gt__";}
++#line 7214 "../parser.c"
+ break;
+
+- case 491:
+-#line 3904 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {(yyval.text) = "__ge__";}
++ case 492: /* operatorname: '>' '=' */
++#line 3930 "parser.y"
++ {(yyval.text) = "__ge__";}
++#line 7220 "../parser.c"
+ break;
+
+- case 492:
+-#line 3907 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 493: /* optconst: %empty */
++#line 3933 "parser.y"
++ {
+ (yyval.number) = FALSE;
+ }
++#line 7228 "../parser.c"
+ break;
+
+- case 493:
+-#line 3910 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 494: /* optconst: TK_CONST */
++#line 3936 "parser.y"
++ {
+ (yyval.number) = TRUE;
+ }
++#line 7236 "../parser.c"
+ break;
+
+- case 494:
+-#line 3915 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 495: /* optfinal: %empty */
++#line 3941 "parser.y"
++ {
+ (yyval.number) = FALSE;
+ }
++#line 7244 "../parser.c"
+ break;
+
+- case 495:
+-#line 3918 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 496: /* optfinal: TK_FINAL */
++#line 3944 "parser.y"
++ {
+ (yyval.number) = TRUE;
+ }
++#line 7252 "../parser.c"
+ break;
+
+- case 496:
+-#line 3923 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 497: /* optabstract: %empty */
++#line 3949 "parser.y"
++ {
+ (yyval.number) = 0;
+ }
++#line 7260 "../parser.c"
+ break;
+
+- case 497:
+-#line 3926 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- if ((yyvsp[(2) - (2)].number) != 0)
++ case 498: /* optabstract: '=' TK_NUMBER_VALUE */
++#line 3952 "parser.y"
++ {
++ if ((yyvsp[0].number) != 0)
+ yyerror("Abstract virtual function '= 0' expected");
+
+ (yyval.number) = TRUE;
+ }
++#line 7271 "../parser.c"
+ break;
+
+- case 498:
+-#line 3934 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 499: /* optflags: %empty */
++#line 3960 "parser.y"
++ {
+ (yyval.optflags).nrFlags = 0;
+ }
++#line 7279 "../parser.c"
+ break;
+
+- case 499:
+-#line 3937 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.optflags) = (yyvsp[(2) - (3)].optflags);
++ case 500: /* optflags: '/' flaglist '/' */
++#line 3963 "parser.y"
++ {
++ (yyval.optflags) = (yyvsp[-1].optflags);
+ }
++#line 7287 "../parser.c"
+ break;
+
+- case 500:
+-#line 3943 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.optflags).flags[0] = (yyvsp[(1) - (1)].flag);
++ case 501: /* flaglist: flag */
++#line 3969 "parser.y"
++ {
++ (yyval.optflags).flags[0] = (yyvsp[0].flag);
+ (yyval.optflags).nrFlags = 1;
+ }
++#line 7296 "../parser.c"
+ break;
+
+- case 501:
+-#line 3947 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 502: /* flaglist: flaglist ',' flag */
++#line 3973 "parser.y"
++ {
+ /* Check there is room. */
+
+- if ((yyvsp[(1) - (3)].optflags).nrFlags == MAX_NR_FLAGS)
++ if ((yyvsp[-2].optflags).nrFlags == MAX_NR_FLAGS)
+ yyerror("Too many optional flags");
+
+- (yyval.optflags) = (yyvsp[(1) - (3)].optflags);
++ (yyval.optflags) = (yyvsp[-2].optflags);
+
+- (yyval.optflags).flags[(yyval.optflags).nrFlags++] = (yyvsp[(3) - (3)].flag);
++ (yyval.optflags).flags[(yyval.optflags).nrFlags++] = (yyvsp[0].flag);
+ }
++#line 7311 "../parser.c"
+ break;
+
+- case 502:
+-#line 3959 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 503: /* flag: TK_NAME_VALUE */
++#line 3985 "parser.y"
++ {
+ (yyval.flag).ftype = bool_flag;
+- (yyval.flag).fname = (yyvsp[(1) - (1)].text);
++ (yyval.flag).fname = (yyvsp[0].text);
+ }
++#line 7320 "../parser.c"
+ break;
+
+- case 503:
+-#line 3963 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.flag) = (yyvsp[(3) - (3)].flag);
+- (yyval.flag).fname = (yyvsp[(1) - (3)].text);
++ case 504: /* flag: TK_NAME_VALUE '=' flagvalue */
++#line 3989 "parser.y"
++ {
++ (yyval.flag) = (yyvsp[0].flag);
++ (yyval.flag).fname = (yyvsp[-2].text);
+ }
++#line 7329 "../parser.c"
+ break;
+
+- case 504:
+-#line 3969 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.flag).ftype = (strchr((yyvsp[(1) - (1)].text), '.') != NULL) ? dotted_name_flag : name_flag;
+- (yyval.flag).fvalue.sval = (yyvsp[(1) - (1)].text);
++ case 505: /* flagvalue: dottedname */
++#line 3995 "parser.y"
++ {
++ (yyval.flag).ftype = (strchr((yyvsp[0].text), '.') != NULL) ? dotted_name_flag : name_flag;
++ (yyval.flag).fvalue.sval = (yyvsp[0].text);
+ }
++#line 7338 "../parser.c"
+ break;
+
+- case 505:
+-#line 3973 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 506: /* flagvalue: TK_NAME_VALUE ':' optnumber '-' optnumber */
++#line 3999 "parser.y"
++ {
+ apiVersionRangeDef *avd;
+ int from, to;
+
+ (yyval.flag).ftype = api_range_flag;
+
+ /* Check that the API is known. */
+- if ((avd = findAPI(currentSpec, (yyvsp[(1) - (5)].text))) == NULL)
++ if ((avd = findAPI(currentSpec, (yyvsp[-4].text))) == NULL)
+ yyerror("unknown API name in API annotation");
+
+ if (inMainModule())
+ setIsUsedName(avd->api_name);
+
+ /* Unbounded values are represented by 0. */
+- if ((from = (yyvsp[(3) - (5)].number)) < 0)
++ if ((from = (yyvsp[-2].number)) < 0)
+ from = 0;
+
+- if ((to = (yyvsp[(5) - (5)].number)) < 0)
++ if ((to = (yyvsp[0].number)) < 0)
+ to = 0;
+
+ (yyval.flag).fvalue.aval = convertAPIRange(currentModule, avd->api_name,
+ from, to);
+ }
++#line 7366 "../parser.c"
+ break;
+
+- case 506:
+-#line 3996 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 507: /* flagvalue: TK_STRING_VALUE */
++#line 4022 "parser.y"
++ {
+ (yyval.flag).ftype = string_flag;
+- (yyval.flag).fvalue.sval = convertFeaturedString((yyvsp[(1) - (1)].text));
++ (yyval.flag).fvalue.sval = convertFeaturedString((yyvsp[0].text));
+ }
++#line 7375 "../parser.c"
+ break;
+
+- case 507:
+-#line 4000 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 508: /* flagvalue: TK_NUMBER_VALUE */
++#line 4026 "parser.y"
++ {
+ (yyval.flag).ftype = integer_flag;
+- (yyval.flag).fvalue.ival = (yyvsp[(1) - (1)].number);
++ (yyval.flag).fvalue.ival = (yyvsp[0].number);
+ }
++#line 7384 "../parser.c"
+ break;
+
+- case 508:
+-#line 4006 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 509: /* virtualcallcode: %empty */
++#line 4032 "parser.y"
++ {
+ (yyval.codeb) = NULL;
+ }
++#line 7392 "../parser.c"
+ break;
+
+- case 509:
+-#line 4009 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
++ case 510: /* virtualcallcode: TK_VIRTUALCALLCODE codeblock */
++#line 4035 "parser.y"
++ {
++ (yyval.codeb) = (yyvsp[0].codeb);
+ }
++#line 7400 "../parser.c"
+ break;
+
+- case 510:
+-#line 4014 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 511: /* methodcode: %empty */
++#line 4040 "parser.y"
++ {
+ (yyval.codeb) = NULL;
+ }
++#line 7408 "../parser.c"
+ break;
+
+- case 511:
+-#line 4017 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
++ case 512: /* methodcode: TK_METHODCODE codeblock */
++#line 4043 "parser.y"
++ {
++ (yyval.codeb) = (yyvsp[0].codeb);
+ }
++#line 7416 "../parser.c"
+ break;
+
+- case 512:
+-#line 4022 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 513: /* premethodcode: %empty */
++#line 4048 "parser.y"
++ {
+ (yyval.codeb) = NULL;
+ }
++#line 7424 "../parser.c"
+ break;
+
+- case 513:
+-#line 4025 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
++ case 514: /* premethodcode: TK_PREMETHODCODE codeblock */
++#line 4051 "parser.y"
++ {
++ (yyval.codeb) = (yyvsp[0].codeb);
+ }
++#line 7432 "../parser.c"
+ break;
+
+- case 514:
+-#line 4030 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 515: /* virtualcatchercode: %empty */
++#line 4056 "parser.y"
++ {
+ (yyval.codeb) = NULL;
+ }
++#line 7440 "../parser.c"
+ break;
+
+- case 515:
+-#line 4033 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
++ case 516: /* virtualcatchercode: TK_VIRTUALCATCHERCODE codeblock */
++#line 4059 "parser.y"
++ {
++ (yyval.codeb) = (yyvsp[0].codeb);
+ }
++#line 7448 "../parser.c"
+ break;
+
+- case 516:
+-#line 4038 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 517: /* arglist: rawarglist */
++#line 4064 "parser.y"
++ {
+ int a, nrrxcon, nrrxdis, nrslotcon, nrslotdis, nrarray, nrarraysize;
+
+ nrrxcon = nrrxdis = nrslotcon = nrslotdis = nrarray = nrarraysize = 0;
+
+- for (a = 0; a < (yyvsp[(1) - (1)].signature).nrArgs; ++a)
++ for (a = 0; a < (yyvsp[0].signature).nrArgs; ++a)
+ {
+- argDef *ad = &(yyvsp[(1) - (1)].signature).args[a];
++ argDef *ad = &(yyvsp[0].signature).args[a];
+
+ switch (ad -> atype)
+ {
+@@ -7497,226 +7497,243 @@ yyreduce:
+ if (nrarray != nrarraysize || nrarray > 1)
+ yyerror("/Array/ and /ArraySize/ must both be given and at most once");
+
+- (yyval.signature) = (yyvsp[(1) - (1)].signature);
++ (yyval.signature) = (yyvsp[0].signature);
+ }
++#line 7503 "../parser.c"
+ break;
+
+- case 517:
+-#line 4090 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 518: /* rawarglist: %empty */
++#line 4116 "parser.y"
++ {
+ /* No arguments. */
+
+ (yyval.signature).nrArgs = 0;
+ }
++#line 7513 "../parser.c"
+ break;
+
+- case 518:
+-#line 4095 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 519: /* rawarglist: argvalue */
++#line 4121 "parser.y"
++ {
+ /* The single or first argument. */
+
+- (yyval.signature).args[0] = (yyvsp[(1) - (1)].memArg);
++ (yyval.signature).args[0] = (yyvsp[0].memArg);
+ (yyval.signature).nrArgs = 1;
+ }
++#line 7524 "../parser.c"
+ break;
+
+- case 519:
+-#line 4101 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 520: /* rawarglist: rawarglist ',' argvalue */
++#line 4127 "parser.y"
++ {
+ /* Check that it wasn't ...(,arg...). */
+- if ((yyvsp[(1) - (3)].signature).nrArgs == 0)
++ if ((yyvsp[-2].signature).nrArgs == 0)
+ yyerror("First argument of the list is missing");
+
+ /*
+ * If this argument has no default value, then the
+ * previous one mustn't either.
+ */
+- if ((yyvsp[(3) - (3)].memArg).defval == NULL && (yyvsp[(1) - (3)].signature).args[(yyvsp[(1) - (3)].signature).nrArgs - 1].defval != NULL)
++ if ((yyvsp[0].memArg).defval == NULL && (yyvsp[-2].signature).args[(yyvsp[-2].signature).nrArgs - 1].defval != NULL)
+ yyerror("Compulsory argument given after optional argument");
+
+ /* Check there is room. */
+- if ((yyvsp[(1) - (3)].signature).nrArgs == MAX_NR_ARGS)
++ if ((yyvsp[-2].signature).nrArgs == MAX_NR_ARGS)
+ yyerror("Internal error - increase the value of MAX_NR_ARGS");
+
+- (yyval.signature) = (yyvsp[(1) - (3)].signature);
++ (yyval.signature) = (yyvsp[-2].signature);
+
+- (yyval.signature).args[(yyval.signature).nrArgs] = (yyvsp[(3) - (3)].memArg);
++ (yyval.signature).args[(yyval.signature).nrArgs] = (yyvsp[0].memArg);
+ (yyval.signature).nrArgs++;
+ }
++#line 7550 "../parser.c"
+ break;
+
+- case 520:
+-#line 4124 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 521: /* argvalue: TK_SIPSIGNAL optname optflags optassign */
++#line 4150 "parser.y"
++ {
+ deprecated("SIP_SIGNAL is deprecated\n");
+- checkNoAnnos(&(yyvsp[(3) - (4)].optflags), "SIP_SIGNAL has no annotations");
++ checkNoAnnos(&(yyvsp[-1].optflags), "SIP_SIGNAL has no annotations");
+
+ (yyval.memArg).atype = signal_type;
+ (yyval.memArg).argflags = ARG_IS_CONST;
+ (yyval.memArg).nrderefs = 0;
+- (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) - (4)].text));
+- (yyval.memArg).defval = (yyvsp[(4) - (4)].valp);
++ (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-2].text));
++ (yyval.memArg).defval = (yyvsp[0].valp);
+
+ currentSpec -> sigslots = TRUE;
+ }
++#line 7567 "../parser.c"
+ break;
+
+- case 521:
+-#line 4136 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 522: /* argvalue: TK_SIPSLOT optname optflags optassign */
++#line 4162 "parser.y"
++ {
+ deprecated("SIP_SLOT is deprecated\n");
+- checkNoAnnos(&(yyvsp[(3) - (4)].optflags), "SIP_SLOT has no annotations");
++ checkNoAnnos(&(yyvsp[-1].optflags), "SIP_SLOT has no annotations");
+
+ (yyval.memArg).atype = slot_type;
+ (yyval.memArg).argflags = ARG_IS_CONST;
+ (yyval.memArg).nrderefs = 0;
+- (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) - (4)].text));
+- (yyval.memArg).defval = (yyvsp[(4) - (4)].valp);
++ (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-2].text));
++ (yyval.memArg).defval = (yyvsp[0].valp);
+
+ currentSpec -> sigslots = TRUE;
+ }
++#line 7584 "../parser.c"
+ break;
+
+- case 522:
+-#line 4148 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 523: /* argvalue: TK_SIPANYSLOT optname optflags optassign */
++#line 4174 "parser.y"
++ {
+ deprecated("SIP_ANYSLOT is deprecated\n");
+- checkNoAnnos(&(yyvsp[(3) - (4)].optflags), "SIP_ANYSLOT has no annotations");
++ checkNoAnnos(&(yyvsp[-1].optflags), "SIP_ANYSLOT has no annotations");
+
+ (yyval.memArg).atype = anyslot_type;
+ (yyval.memArg).argflags = ARG_IS_CONST;
+ (yyval.memArg).nrderefs = 0;
+- (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) - (4)].text));
+- (yyval.memArg).defval = (yyvsp[(4) - (4)].valp);
++ (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-2].text));
++ (yyval.memArg).defval = (yyvsp[0].valp);
+
+ currentSpec -> sigslots = TRUE;
+ }
++#line 7601 "../parser.c"
+ break;
+
+- case 523:
+-#line 4160 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 524: /* argvalue: TK_SIPRXCON optname optflags */
++#line 4186 "parser.y"
++ {
+ const char *annos[] = {
+ "SingleShot",
+ NULL
+ };
+
+ deprecated("SIP_RXOBJ_CON is deprecated\n");
+- checkAnnos(&(yyvsp[(3) - (3)].optflags), annos);
++ checkAnnos(&(yyvsp[0].optflags), annos);
+
+ (yyval.memArg).atype = rxcon_type;
+ (yyval.memArg).argflags = 0;
+ (yyval.memArg).nrderefs = 0;
+- (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) - (3)].text));
++ (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-1].text));
+
+- if (getOptFlag(&(yyvsp[(3) - (3)].optflags), "SingleShot", bool_flag) != NULL)
++ if (getOptFlag(&(yyvsp[0].optflags), "SingleShot", bool_flag) != NULL)
+ (yyval.memArg).argflags |= ARG_SINGLE_SHOT;
+
+ currentSpec -> sigslots = TRUE;
+ }
++#line 7625 "../parser.c"
+ break;
+
+- case 524:
+-#line 4179 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 525: /* argvalue: TK_SIPRXDIS optname optflags */
++#line 4205 "parser.y"
++ {
+ deprecated("SIP_RXOBJ_DIS is deprecated\n");
+- checkNoAnnos(&(yyvsp[(3) - (3)].optflags), "SIP_RXOBJ_DIS has no annotations");
++ checkNoAnnos(&(yyvsp[0].optflags), "SIP_RXOBJ_DIS has no annotations");
+
+ (yyval.memArg).atype = rxdis_type;
+ (yyval.memArg).argflags = 0;
+ (yyval.memArg).nrderefs = 0;
+- (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) - (3)].text));
++ (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-1].text));
+
+ currentSpec -> sigslots = TRUE;
+ }
++#line 7641 "../parser.c"
+ break;
+
+- case 525:
+-#line 4190 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 526: /* argvalue: TK_SIPSLOTCON '(' arglist ')' optname optflags */
++#line 4216 "parser.y"
++ {
+ deprecated("SIP_SLOT_CON is deprecated\n");
+- checkNoAnnos(&(yyvsp[(6) - (6)].optflags), "SIP_SLOT_CON has no annotations");
++ checkNoAnnos(&(yyvsp[0].optflags), "SIP_SLOT_CON has no annotations");
+
+ (yyval.memArg).atype = slotcon_type;
+ (yyval.memArg).argflags = ARG_IS_CONST;
+ (yyval.memArg).nrderefs = 0;
+- (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(5) - (6)].text));
++ (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-1].text));
+
+- memset(&(yyvsp[(3) - (6)].signature).result, 0, sizeof (argDef));
+- (yyvsp[(3) - (6)].signature).result.atype = void_type;
++ memset(&(yyvsp[-3].signature).result, 0, sizeof (argDef));
++ (yyvsp[-3].signature).result.atype = void_type;
+
+ (yyval.memArg).u.sa = sipMalloc(sizeof (signatureDef));
+- *(yyval.memArg).u.sa = (yyvsp[(3) - (6)].signature);
++ *(yyval.memArg).u.sa = (yyvsp[-3].signature);
+
+ currentSpec -> sigslots = TRUE;
+ }
++#line 7663 "../parser.c"
+ break;
+
+- case 526:
+-#line 4207 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 527: /* argvalue: TK_SIPSLOTDIS '(' arglist ')' optname optflags */
++#line 4233 "parser.y"
++ {
+ deprecated("SIP_SLOT_DIS is deprecated\n");
+- checkNoAnnos(&(yyvsp[(6) - (6)].optflags), "SIP_SLOT_DIS has no annotations");
++ checkNoAnnos(&(yyvsp[0].optflags), "SIP_SLOT_DIS has no annotations");
+
+ (yyval.memArg).atype = slotdis_type;
+ (yyval.memArg).argflags = ARG_IS_CONST;
+ (yyval.memArg).nrderefs = 0;
+- (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(5) - (6)].text));
++ (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-1].text));
+
+- memset(&(yyvsp[(3) - (6)].signature).result, 0, sizeof (argDef));
+- (yyvsp[(3) - (6)].signature).result.atype = void_type;
++ memset(&(yyvsp[-3].signature).result, 0, sizeof (argDef));
++ (yyvsp[-3].signature).result.atype = void_type;
+
+ (yyval.memArg).u.sa = sipMalloc(sizeof (signatureDef));
+- *(yyval.memArg).u.sa = (yyvsp[(3) - (6)].signature);
++ *(yyval.memArg).u.sa = (yyvsp[-3].signature);
+
+ currentSpec -> sigslots = TRUE;
+ }
++#line 7685 "../parser.c"
+ break;
+
+- case 527:
+-#line 4224 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 528: /* argvalue: TK_QOBJECT optname optflags */
++#line 4250 "parser.y"
++ {
+ deprecated("SIP_QOBJECT is deprecated\n");
+- checkNoAnnos(&(yyvsp[(3) - (3)].optflags), "SIP_QOBJECT has no annotations");
++ checkNoAnnos(&(yyvsp[0].optflags), "SIP_QOBJECT has no annotations");
+
+ (yyval.memArg).atype = qobject_type;
+ (yyval.memArg).argflags = 0;
+ (yyval.memArg).nrderefs = 0;
+- (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) - (3)].text));
++ (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-1].text));
+ }
++#line 7699 "../parser.c"
+ break;
+
+- case 528:
+-#line 4233 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.memArg) = (yyvsp[(1) - (2)].memArg);
+- (yyval.memArg).defval = (yyvsp[(2) - (2)].valp);
++ case 529: /* argvalue: argtype optassign */
++#line 4259 "parser.y"
++ {
++ (yyval.memArg) = (yyvsp[-1].memArg);
++ (yyval.memArg).defval = (yyvsp[0].valp);
+ }
++#line 7708 "../parser.c"
+ break;
+
+- case 529:
+-#line 4240 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {currentIsSignal = TRUE;}
++ case 530: /* $@19: %empty */
++#line 4266 "parser.y"
++ {currentIsSignal = TRUE;}
++#line 7714 "../parser.c"
+ break;
+
+- case 531:
+-#line 4241 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {currentIsSlot = TRUE;}
++ case 532: /* $@20: %empty */
++#line 4267 "parser.y"
++ {currentIsSlot = TRUE;}
++#line 7720 "../parser.c"
+ break;
+
+- case 534:
+-#line 4246 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {currentIsStatic = TRUE;}
++ case 535: /* $@21: %empty */
++#line 4272 "parser.y"
++ {currentIsStatic = TRUE;}
++#line 7726 "../parser.c"
+ break;
+
+- case 539:
+-#line 4256 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {currentIsVirt = TRUE;}
++ case 540: /* $@22: %empty */
++#line 4282 "parser.y"
++ {currentIsVirt = TRUE;}
++#line 7732 "../parser.c"
+ break;
+
+- case 542:
+-#line 4260 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 543: /* variable: cpptype TK_NAME_VALUE optflags variable_body ';' optaccesscode optgetcode optsetcode */
++#line 4286 "parser.y"
++ {
+ if (notSkipping())
+ {
+ const char *annos[] = {
+@@ -7730,99 +7747,105 @@ yyreduce:
+ NULL
+ };
+
+- checkAnnos(&(yyvsp[(3) - (8)].optflags), annos);
++ checkAnnos(&(yyvsp[-5].optflags), annos);
+
+- if ((yyvsp[(6) - (8)].codeb) != NULL)
++ if ((yyvsp[-2].codeb) != NULL)
+ {
+- if ((yyvsp[(4) - (8)].variable).access_code != NULL)
++ if ((yyvsp[-4].variable).access_code != NULL)
+ yyerror("%AccessCode already defined");
+
+- (yyvsp[(4) - (8)].variable).access_code = (yyvsp[(6) - (8)].codeb);
++ (yyvsp[-4].variable).access_code = (yyvsp[-2].codeb);
+
+ deprecated("%AccessCode should be used as a sub-directive");
+ }
+
+- if ((yyvsp[(7) - (8)].codeb) != NULL)
++ if ((yyvsp[-1].codeb) != NULL)
+ {
+- if ((yyvsp[(4) - (8)].variable).get_code != NULL)
++ if ((yyvsp[-4].variable).get_code != NULL)
+ yyerror("%GetCode already defined");
+
+- (yyvsp[(4) - (8)].variable).get_code = (yyvsp[(7) - (8)].codeb);
++ (yyvsp[-4].variable).get_code = (yyvsp[-1].codeb);
+
+ deprecated("%GetCode should be used as a sub-directive");
+ }
+
+- if ((yyvsp[(8) - (8)].codeb) != NULL)
++ if ((yyvsp[0].codeb) != NULL)
+ {
+- if ((yyvsp[(4) - (8)].variable).set_code != NULL)
++ if ((yyvsp[-4].variable).set_code != NULL)
+ yyerror("%SetCode already defined");
+
+- (yyvsp[(4) - (8)].variable).set_code = (yyvsp[(8) - (8)].codeb);
++ (yyvsp[-4].variable).set_code = (yyvsp[0].codeb);
+
+ deprecated("%SetCode should be used as a sub-directive");
+ }
+
+- newVar(currentSpec, currentModule, (yyvsp[(2) - (8)].text), currentIsStatic, &(yyvsp[(1) - (8)].memArg),
+- &(yyvsp[(3) - (8)].optflags), (yyvsp[(4) - (8)].variable).access_code, (yyvsp[(4) - (8)].variable).get_code, (yyvsp[(4) - (8)].variable).set_code,
++ newVar(currentSpec, currentModule, (yyvsp[-6].text), currentIsStatic, &(yyvsp[-7].memArg),
++ &(yyvsp[-5].optflags), (yyvsp[-4].variable).access_code, (yyvsp[-4].variable).get_code, (yyvsp[-4].variable).set_code,
+ sectionFlags);
+ }
+
+ currentIsStatic = FALSE;
+ }
++#line 7790 "../parser.c"
+ break;
+
+- case 543:
+-#line 4315 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 544: /* variable_body: %empty */
++#line 4341 "parser.y"
++ {
+ (yyval.variable).token = 0;
+ (yyval.variable).access_code = NULL;
+ (yyval.variable).get_code = NULL;
+ (yyval.variable).set_code = NULL;
+ }
++#line 7801 "../parser.c"
+ break;
+
+- case 544:
+-#line 4321 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.variable) = (yyvsp[(2) - (3)].variable);
++ case 545: /* variable_body: '{' variable_body_directives '}' */
++#line 4347 "parser.y"
++ {
++ (yyval.variable) = (yyvsp[-1].variable);
+ }
++#line 7809 "../parser.c"
+ break;
+
+- case 546:
+-#line 4327 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.variable) = (yyvsp[(1) - (2)].variable);
++ case 547: /* variable_body_directives: variable_body_directives variable_body_directive */
++#line 4353 "parser.y"
++ {
++ (yyval.variable) = (yyvsp[-1].variable);
+
+- switch ((yyvsp[(2) - (2)].variable).token)
++ switch ((yyvsp[0].variable).token)
+ {
+- case TK_ACCESSCODE: (yyval.variable).access_code = (yyvsp[(2) - (2)].variable).access_code; break;
+- case TK_GETCODE: (yyval.variable).get_code = (yyvsp[(2) - (2)].variable).get_code; break;
+- case TK_SETCODE: (yyval.variable).set_code = (yyvsp[(2) - (2)].variable).set_code; break;
++ case TK_ACCESSCODE: (yyval.variable).access_code = (yyvsp[0].variable).access_code; break;
++ case TK_GETCODE: (yyval.variable).get_code = (yyvsp[0].variable).get_code; break;
++ case TK_SETCODE: (yyval.variable).set_code = (yyvsp[0].variable).set_code; break;
+ }
+ }
++#line 7824 "../parser.c"
+ break;
+
+- case 547:
+-#line 4339 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 548: /* variable_body_directive: ifstart */
++#line 4365 "parser.y"
++ {
+ (yyval.variable).token = TK_IF;
+ }
++#line 7832 "../parser.c"
+ break;
+
+- case 548:
+-#line 4342 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 549: /* variable_body_directive: ifend */
++#line 4368 "parser.y"
++ {
+ (yyval.variable).token = TK_END;
+ }
++#line 7840 "../parser.c"
+ break;
+
+- case 549:
+-#line 4345 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 550: /* variable_body_directive: TK_ACCESSCODE codeblock */
++#line 4371 "parser.y"
++ {
+ if (notSkipping())
+ {
+ (yyval.variable).token = TK_ACCESSCODE;
+- (yyval.variable).access_code = (yyvsp[(2) - (2)].codeb);
++ (yyval.variable).access_code = (yyvsp[0].codeb);
+ }
+ else
+ {
+@@ -7833,15 +7856,16 @@ yyreduce:
+ (yyval.variable).get_code = NULL;
+ (yyval.variable).set_code = NULL;
+ }
++#line 7860 "../parser.c"
+ break;
+
+- case 550:
+-#line 4360 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 551: /* variable_body_directive: TK_GETCODE codeblock */
++#line 4386 "parser.y"
++ {
+ if (notSkipping())
+ {
+ (yyval.variable).token = TK_GETCODE;
+- (yyval.variable).get_code = (yyvsp[(2) - (2)].codeb);
++ (yyval.variable).get_code = (yyvsp[0].codeb);
+ }
+ else
+ {
+@@ -7852,15 +7876,16 @@ yyreduce:
+ (yyval.variable).access_code = NULL;
+ (yyval.variable).set_code = NULL;
+ }
++#line 7880 "../parser.c"
+ break;
+
+- case 551:
+-#line 4375 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 552: /* variable_body_directive: TK_SETCODE codeblock */
++#line 4401 "parser.y"
++ {
+ if (notSkipping())
+ {
+ (yyval.variable).token = TK_SETCODE;
+- (yyval.variable).set_code = (yyvsp[(2) - (2)].codeb);
++ (yyval.variable).set_code = (yyvsp[0].codeb);
+ }
+ else
+ {
+@@ -7871,36 +7896,39 @@ yyreduce:
+ (yyval.variable).access_code = NULL;
+ (yyval.variable).get_code = NULL;
+ }
++#line 7900 "../parser.c"
+ break;
+
+- case 552:
+-#line 4392 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.memArg) = (yyvsp[(2) - (4)].memArg);
+- add_derefs(&(yyval.memArg), &(yyvsp[(3) - (4)].memArg));
+- (yyval.memArg).argflags |= ARG_IS_CONST | (yyvsp[(4) - (4)].number);
++ case 553: /* cpptype: TK_CONST basetype deref optref */
++#line 4418 "parser.y"
++ {
++ (yyval.memArg) = (yyvsp[-2].memArg);
++ add_derefs(&(yyval.memArg), &(yyvsp[-1].memArg));
++ (yyval.memArg).argflags |= ARG_IS_CONST | (yyvsp[0].number);
+ }
++#line 7910 "../parser.c"
+ break;
+
+- case 553:
+-#line 4397 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- (yyval.memArg) = (yyvsp[(1) - (3)].memArg);
+- add_derefs(&(yyval.memArg), &(yyvsp[(2) - (3)].memArg));
+- (yyval.memArg).argflags |= (yyvsp[(3) - (3)].number);
++ case 554: /* cpptype: basetype deref optref */
++#line 4423 "parser.y"
++ {
++ (yyval.memArg) = (yyvsp[-2].memArg);
++ add_derefs(&(yyval.memArg), &(yyvsp[-1].memArg));
++ (yyval.memArg).argflags |= (yyvsp[0].number);
+
+ /* PyObject * is a synonym for SIP_PYOBJECT. */
+- if ((yyvsp[(1) - (3)].memArg).atype == defined_type && strcmp((yyvsp[(1) - (3)].memArg).u.snd->name, "PyObject") == 0 && (yyvsp[(1) - (3)].memArg).u.snd->next == NULL && (yyvsp[(2) - (3)].memArg).nrderefs == 1 && (yyvsp[(3) - (3)].number) == 0)
++ if ((yyvsp[-2].memArg).atype == defined_type && strcmp((yyvsp[-2].memArg).u.snd->name, "PyObject") == 0 && (yyvsp[-2].memArg).u.snd->next == NULL && (yyvsp[-1].memArg).nrderefs == 1 && (yyvsp[0].number) == 0)
+ {
+ (yyval.memArg).atype = pyobject_type;
+ (yyval.memArg).nrderefs = 0;
+ }
+ }
++#line 7927 "../parser.c"
+ break;
+
+- case 554:
+-#line 4411 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 555: /* argtype: cpptype optname optflags */
++#line 4437 "parser.y"
++ {
+ const char *annos[] = {
+ "AllowNone",
+ "Array",
+@@ -7930,54 +7958,54 @@ yyreduce:
+
+ optFlag *of;
+
+- checkAnnos(&(yyvsp[(3) - (3)].optflags), annos);
++ checkAnnos(&(yyvsp[0].optflags), annos);
+
+- (yyval.memArg) = (yyvsp[(1) - (3)].memArg);
+- (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) - (3)].text));
++ (yyval.memArg) = (yyvsp[-2].memArg);
++ (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-1].text));
+
+- handleKeepReference(&(yyvsp[(3) - (3)].optflags), &(yyval.memArg), currentModule);
++ handleKeepReference(&(yyvsp[0].optflags), &(yyval.memArg), currentModule);
+
+- if ((of = getOptFlag(&(yyvsp[(3) - (3)].optflags), "ScopesStripped", opt_integer_flag)) != NULL)
++ if ((of = getOptFlag(&(yyvsp[0].optflags), "ScopesStripped", opt_integer_flag)) != NULL)
+ if (((yyval.memArg).scopes_stripped = of->fvalue.ival) <= 0)
+ yyerror("/ScopesStripped/ must be greater than 0");
+
+- if (getAllowNone(&(yyvsp[(3) - (3)].optflags)))
++ if (getAllowNone(&(yyvsp[0].optflags)))
+ (yyval.memArg).argflags |= ARG_ALLOW_NONE;
+
+- if (getDisallowNone(&(yyvsp[(3) - (3)].optflags)))
++ if (getDisallowNone(&(yyvsp[0].optflags)))
+ (yyval.memArg).argflags |= ARG_DISALLOW_NONE;
+
+- if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"GetWrapper",bool_flag) != NULL)
++ if (getOptFlag(&(yyvsp[0].optflags),"GetWrapper",bool_flag) != NULL)
+ (yyval.memArg).argflags |= ARG_GET_WRAPPER;
+
+- if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"Array",bool_flag) != NULL)
++ if (getOptFlag(&(yyvsp[0].optflags),"Array",bool_flag) != NULL)
+ (yyval.memArg).argflags |= ARG_ARRAY;
+
+- if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"ArraySize",bool_flag) != NULL)
++ if (getOptFlag(&(yyvsp[0].optflags),"ArraySize",bool_flag) != NULL)
+ (yyval.memArg).argflags |= ARG_ARRAY_SIZE;
+
+- if (getTransfer(&(yyvsp[(3) - (3)].optflags)))
++ if (getTransfer(&(yyvsp[0].optflags)))
+ (yyval.memArg).argflags |= ARG_XFERRED;
+
+- if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"TransferThis",bool_flag) != NULL)
++ if (getOptFlag(&(yyvsp[0].optflags),"TransferThis",bool_flag) != NULL)
+ (yyval.memArg).argflags |= ARG_THIS_XFERRED;
+
+- if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"TransferBack",bool_flag) != NULL)
++ if (getOptFlag(&(yyvsp[0].optflags),"TransferBack",bool_flag) != NULL)
+ (yyval.memArg).argflags |= ARG_XFERRED_BACK;
+
+- if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"In",bool_flag) != NULL)
++ if (getOptFlag(&(yyvsp[0].optflags),"In",bool_flag) != NULL)
+ (yyval.memArg).argflags |= ARG_IN;
+
+- if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"Out",bool_flag) != NULL)
++ if (getOptFlag(&(yyvsp[0].optflags),"Out",bool_flag) != NULL)
+ (yyval.memArg).argflags |= ARG_OUT;
+
+- if (getOptFlag(&(yyvsp[(3) - (3)].optflags), "ResultSize", bool_flag) != NULL)
++ if (getOptFlag(&(yyvsp[0].optflags), "ResultSize", bool_flag) != NULL)
+ (yyval.memArg).argflags |= ARG_RESULT_SIZE;
+
+- if (getOptFlag(&(yyvsp[(3) - (3)].optflags), "NoCopy", bool_flag) != NULL)
++ if (getOptFlag(&(yyvsp[0].optflags), "NoCopy", bool_flag) != NULL)
+ (yyval.memArg).argflags |= ARG_NO_COPY;
+
+- if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"Constrained",bool_flag) != NULL)
++ if (getOptFlag(&(yyvsp[0].optflags),"Constrained",bool_flag) != NULL)
+ {
+ (yyval.memArg).argflags |= ARG_CONSTRAINED;
+
+@@ -8005,499 +8033,518 @@ yyreduce:
+ }
+ }
+
+- applyTypeFlags(currentModule, &(yyval.memArg), &(yyvsp[(3) - (3)].optflags));
+- (yyval.memArg).typehint_value = getTypeHintValue(&(yyvsp[(3) - (3)].optflags));
++ applyTypeFlags(currentModule, &(yyval.memArg), &(yyvsp[0].optflags));
++ (yyval.memArg).typehint_value = getTypeHintValue(&(yyvsp[0].optflags));
+ }
++#line 8040 "../parser.c"
+ break;
+
+- case 555:
+-#line 4521 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 556: /* optref: %empty */
++#line 4547 "parser.y"
++ {
+ (yyval.number) = 0;
+ }
++#line 8048 "../parser.c"
+ break;
+
+- case 556:
+-#line 4524 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 557: /* optref: '&' */
++#line 4550 "parser.y"
++ {
+ if (currentSpec -> genc)
+ yyerror("References not allowed in a C module");
+
+ (yyval.number) = ARG_IS_REF;
+ }
++#line 8059 "../parser.c"
+ break;
+
+- case 557:
+-#line 4532 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 558: /* deref: %empty */
++#line 4558 "parser.y"
++ {
+ (yyval.memArg).nrderefs = 0;
+ }
++#line 8067 "../parser.c"
+ break;
+
+- case 558:
+-#line 4535 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- add_new_deref(&(yyval.memArg), &(yyvsp[(1) - (3)].memArg), TRUE);
++ case 559: /* deref: deref '*' TK_CONST */
++#line 4561 "parser.y"
++ {
++ add_new_deref(&(yyval.memArg), &(yyvsp[-2].memArg), TRUE);
+ }
++#line 8075 "../parser.c"
+ break;
+
+- case 559:
+-#line 4538 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
+- add_new_deref(&(yyval.memArg), &(yyvsp[(1) - (2)].memArg), FALSE);
++ case 560: /* deref: deref '*' */
++#line 4564 "parser.y"
++ {
++ add_new_deref(&(yyval.memArg), &(yyvsp[-1].memArg), FALSE);
+ }
++#line 8083 "../parser.c"
+ break;
+
+- case 560:
+-#line 4543 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 561: /* basetype: scopedname */
++#line 4569 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = defined_type;
+- (yyval.memArg).u.snd = (yyvsp[(1) - (1)].scpvalp);
++ (yyval.memArg).u.snd = (yyvsp[0].scpvalp);
+
+ /* Try and resolve typedefs as early as possible. */
+ resolveAnyTypedef(currentSpec, &(yyval.memArg));
+ }
++#line 8096 "../parser.c"
+ break;
+
+- case 561:
+-#line 4551 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 562: /* basetype: scopedname '<' cpptypelist '>' */
++#line 4577 "parser.y"
++ {
+ templateDef *td;
+
+ td = sipMalloc(sizeof(templateDef));
+- td->fqname = (yyvsp[(1) - (4)].scpvalp);
+- td->types = (yyvsp[(3) - (4)].signature);
++ td->fqname = (yyvsp[-3].scpvalp);
++ td->types = (yyvsp[-1].signature);
+
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = template_type;
+ (yyval.memArg).u.td = td;
+ }
++#line 8112 "../parser.c"
+ break;
+
+- case 562:
+-#line 4562 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 563: /* basetype: TK_STRUCT scopedname */
++#line 4588 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+
+ /* In a C module all structures must be defined. */
+ if (currentSpec -> genc)
+ {
+ (yyval.memArg).atype = defined_type;
+- (yyval.memArg).u.snd = (yyvsp[(2) - (2)].scpvalp);
++ (yyval.memArg).u.snd = (yyvsp[0].scpvalp);
+ }
+ else
+ {
+ (yyval.memArg).atype = struct_type;
+- (yyval.memArg).u.sname = (yyvsp[(2) - (2)].scpvalp);
++ (yyval.memArg).u.sname = (yyvsp[0].scpvalp);
+ }
+ }
++#line 8132 "../parser.c"
+ break;
+
+- case 563:
+-#line 4577 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 564: /* basetype: TK_UNSIGNED TK_SHORT */
++#line 4603 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = ushort_type;
+ }
++#line 8141 "../parser.c"
+ break;
+
+- case 564:
+-#line 4581 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 565: /* basetype: TK_SHORT */
++#line 4607 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = short_type;
+ }
++#line 8150 "../parser.c"
+ break;
+
+- case 565:
+-#line 4585 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 566: /* basetype: TK_UNSIGNED */
++#line 4611 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = uint_type;
+ }
++#line 8159 "../parser.c"
+ break;
+
+- case 566:
+-#line 4589 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 567: /* basetype: TK_UNSIGNED TK_INT */
++#line 4615 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = uint_type;
+ }
++#line 8168 "../parser.c"
+ break;
+
+- case 567:
+-#line 4593 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 568: /* basetype: TK_INT */
++#line 4619 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = int_type;
+ }
++#line 8177 "../parser.c"
+ break;
+
+- case 568:
+-#line 4597 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 569: /* basetype: TK_LONG */
++#line 4623 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = long_type;
+ }
++#line 8186 "../parser.c"
+ break;
+
+- case 569:
+-#line 4601 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 570: /* basetype: TK_UNSIGNED TK_LONG */
++#line 4627 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = ulong_type;
+ }
++#line 8195 "../parser.c"
+ break;
+
+- case 570:
+-#line 4605 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 571: /* basetype: TK_LONG TK_LONG */
++#line 4631 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = longlong_type;
+ }
++#line 8204 "../parser.c"
+ break;
+
+- case 571:
+-#line 4609 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 572: /* basetype: TK_UNSIGNED TK_LONG TK_LONG */
++#line 4635 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = ulonglong_type;
+ }
++#line 8213 "../parser.c"
+ break;
+
+- case 572:
+-#line 4613 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 573: /* basetype: TK_FLOAT */
++#line 4639 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = float_type;
+ }
++#line 8222 "../parser.c"
+ break;
+
+- case 573:
+-#line 4617 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 574: /* basetype: TK_DOUBLE */
++#line 4643 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = double_type;
+ }
++#line 8231 "../parser.c"
+ break;
+
+- case 574:
+-#line 4621 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 575: /* basetype: TK_BOOL */
++#line 4647 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = bool_type;
+ }
++#line 8240 "../parser.c"
+ break;
+
+- case 575:
+-#line 4625 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 576: /* basetype: TK_SIGNED TK_CHAR */
++#line 4651 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = sstring_type;
+ }
++#line 8249 "../parser.c"
+ break;
+
+- case 576:
+-#line 4629 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 577: /* basetype: TK_UNSIGNED TK_CHAR */
++#line 4655 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = ustring_type;
+ }
++#line 8258 "../parser.c"
+ break;
+
+- case 577:
+-#line 4633 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 578: /* basetype: TK_CHAR */
++#line 4659 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = string_type;
+ }
++#line 8267 "../parser.c"
+ break;
+
+- case 578:
+-#line 4637 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 579: /* basetype: TK_WCHAR_T */
++#line 4663 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = wstring_type;
+ }
++#line 8276 "../parser.c"
+ break;
+
+- case 579:
+-#line 4641 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 580: /* basetype: TK_VOID */
++#line 4667 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = void_type;
+ }
++#line 8285 "../parser.c"
+ break;
+
+- case 580:
+-#line 4645 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 581: /* basetype: TK_PYOBJECT */
++#line 4671 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = pyobject_type;
+ }
++#line 8294 "../parser.c"
+ break;
+
+- case 581:
+-#line 4649 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 582: /* basetype: TK_PYTUPLE */
++#line 4675 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = pytuple_type;
+ }
++#line 8303 "../parser.c"
+ break;
+
+- case 582:
+-#line 4653 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 583: /* basetype: TK_PYLIST */
++#line 4679 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = pylist_type;
+ }
++#line 8312 "../parser.c"
+ break;
+
+- case 583:
+-#line 4657 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 584: /* basetype: TK_PYDICT */
++#line 4683 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = pydict_type;
+ }
++#line 8321 "../parser.c"
+ break;
+
+- case 584:
+-#line 4661 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 585: /* basetype: TK_PYCALLABLE */
++#line 4687 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = pycallable_type;
+ }
++#line 8330 "../parser.c"
+ break;
+
+- case 585:
+-#line 4665 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 586: /* basetype: TK_PYSLICE */
++#line 4691 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = pyslice_type;
+ }
++#line 8339 "../parser.c"
+ break;
+
+- case 586:
+-#line 4669 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 587: /* basetype: TK_PYTYPE */
++#line 4695 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = pytype_type;
+ }
++#line 8348 "../parser.c"
+ break;
+
+- case 587:
+-#line 4673 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 588: /* basetype: TK_PYBUFFER */
++#line 4699 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = pybuffer_type;
+ }
++#line 8357 "../parser.c"
+ break;
+
+- case 588:
+-#line 4677 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 589: /* basetype: TK_SIPSSIZET */
++#line 4703 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = ssize_type;
+ }
++#line 8366 "../parser.c"
+ break;
+
+- case 589:
+-#line 4681 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 590: /* basetype: TK_SIZET */
++#line 4707 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = size_type;
+ }
++#line 8375 "../parser.c"
+ break;
+
+- case 590:
+-#line 4685 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 591: /* basetype: TK_ELLIPSIS */
++#line 4711 "parser.y"
++ {
+ memset(&(yyval.memArg), 0, sizeof (argDef));
+ (yyval.memArg).atype = ellipsis_type;
+ }
++#line 8384 "../parser.c"
+ break;
+
+- case 591:
+-#line 4691 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 592: /* cpptypelist: cpptype */
++#line 4717 "parser.y"
++ {
+ /* The single or first type. */
+
+- (yyval.signature).args[0] = (yyvsp[(1) - (1)].memArg);
++ (yyval.signature).args[0] = (yyvsp[0].memArg);
+ (yyval.signature).nrArgs = 1;
+ }
++#line 8395 "../parser.c"
+ break;
+
+- case 592:
+-#line 4697 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 593: /* cpptypelist: cpptypelist ',' cpptype */
++#line 4723 "parser.y"
++ {
+ /* Check there is nothing after an ellipsis. */
+- if ((yyvsp[(1) - (3)].signature).args[(yyvsp[(1) - (3)].signature).nrArgs - 1].atype == ellipsis_type)
++ if ((yyvsp[-2].signature).args[(yyvsp[-2].signature).nrArgs - 1].atype == ellipsis_type)
+ yyerror("An ellipsis must be at the end of the argument list");
+
+ /* Check there is room. */
+- if ((yyvsp[(1) - (3)].signature).nrArgs == MAX_NR_ARGS)
++ if ((yyvsp[-2].signature).nrArgs == MAX_NR_ARGS)
+ yyerror("Internal error - increase the value of MAX_NR_ARGS");
+
+- (yyval.signature) = (yyvsp[(1) - (3)].signature);
++ (yyval.signature) = (yyvsp[-2].signature);
+
+- (yyval.signature).args[(yyval.signature).nrArgs] = (yyvsp[(3) - (3)].memArg);
++ (yyval.signature).args[(yyval.signature).nrArgs] = (yyvsp[0].memArg);
+ (yyval.signature).nrArgs++;
+ }
++#line 8414 "../parser.c"
+ break;
+
+- case 593:
+-#line 4713 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 594: /* optexceptions: %empty */
++#line 4739 "parser.y"
++ {
+ (yyval.throwlist) = NULL;
+ }
++#line 8422 "../parser.c"
+ break;
+
+- case 594:
+-#line 4716 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 595: /* optexceptions: TK_THROW '(' exceptionlist ')' */
++#line 4742 "parser.y"
++ {
+ if (currentSpec->genc)
+ yyerror("Exceptions not allowed in a C module");
+
+- (yyval.throwlist) = (yyvsp[(3) - (4)].throwlist);
++ (yyval.throwlist) = (yyvsp[-1].throwlist);
+ }
++#line 8433 "../parser.c"
+ break;
+
+- case 595:
+-#line 4724 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 596: /* exceptionlist: %empty */
++#line 4750 "parser.y"
++ {
+ /* Empty list so use a blank. */
+
+ (yyval.throwlist) = sipMalloc(sizeof (throwArgs));
+ (yyval.throwlist) -> nrArgs = 0;
+ }
++#line 8444 "../parser.c"
+ break;
+
+- case 596:
+-#line 4730 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 597: /* exceptionlist: scopedname */
++#line 4756 "parser.y"
++ {
+ /* The only or first exception. */
+
+ (yyval.throwlist) = sipMalloc(sizeof (throwArgs));
+ (yyval.throwlist) -> nrArgs = 1;
+- (yyval.throwlist) -> args[0] = findException(currentSpec, (yyvsp[(1) - (1)].scpvalp), FALSE);
++ (yyval.throwlist) -> args[0] = findException(currentSpec, (yyvsp[0].scpvalp), FALSE);
+ }
++#line 8456 "../parser.c"
+ break;
+
+- case 597:
+-#line 4737 "sip-4.19.23/sipgen/metasrc/parser.y"
+- {
++ case 598: /* exceptionlist: exceptionlist ',' scopedname */
++#line 4763 "parser.y"
++ {
+ /* Check that it wasn't ...(,arg...). */
+
+- if ((yyvsp[(1) - (3)].throwlist) -> nrArgs == 0)
++ if ((yyvsp[-2].throwlist) -> nrArgs == 0)
+ yyerror("First exception of throw specifier is missing");
+
+ /* Check there is room. */
+
+- if ((yyvsp[(1) - (3)].throwlist) -> nrArgs == MAX_NR_ARGS)
++ if ((yyvsp[-2].throwlist) -> nrArgs == MAX_NR_ARGS)
+ yyerror("Internal error - increase the value of MAX_NR_ARGS");
+
+- (yyval.throwlist) = (yyvsp[(1) - (3)].throwlist);
+- (yyval.throwlist) -> args[(yyval.throwlist) -> nrArgs++] = findException(currentSpec, (yyvsp[(3) - (3)].scpvalp), FALSE);
++ (yyval.throwlist) = (yyvsp[-2].throwlist);
++ (yyval.throwlist) -> args[(yyval.throwlist) -> nrArgs++] = findException(currentSpec, (yyvsp[0].scpvalp), FALSE);
+ }
++#line 8475 "../parser.c"
+ break;
+
+
+-/* Line 1267 of yacc.c. */
+-#line 8408 "sip-4.19.23/sipgen/parser.c"
++#line 8479 "../parser.c"
++
+ default: break;
+ }
+- YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
++ /* User semantic actions sometimes alter yychar, and that requires
++ that yytoken be updated with the new translation. We take the
++ approach of translating immediately before every use of yytoken.
++ One alternative is translating here after every semantic action,
++ but that translation would be missed if the semantic action invokes
++ YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
++ if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
++ incorrect destructor might then be invoked immediately. In the
++ case of YYERROR or YYBACKUP, subsequent parser actions might lead
++ to an incorrect destructor call or verbose syntax error message
++ before the lookahead is translated. */
++ YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
+
+ YYPOPSTACK (yylen);
+ yylen = 0;
+- YY_STACK_PRINT (yyss, yyssp);
+
+ *++yyvsp = yyval;
+
+-
+- /* Now `shift' the result of the reduction. Determine what state
++ /* Now 'shift' the result of the reduction. Determine what state
+ that goes to, based on the state we popped back to and the rule
+ number reduced by. */
+-
+- yyn = yyr1[yyn];
+-
+- yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+- if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+- yystate = yytable[yystate];
+- else
+- yystate = yydefgoto[yyn - YYNTOKENS];
++ {
++ const int yylhs = yyr1[yyn] - YYNTOKENS;
++ const int yyi = yypgoto[yylhs] + *yyssp;
++ yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
++ ? yytable[yyi]
++ : yydefgoto[yylhs]);
++ }
+
+ goto yynewstate;
+
+
+-/*------------------------------------.
+-| yyerrlab -- here on detecting error |
+-`------------------------------------*/
++/*--------------------------------------.
++| yyerrlab -- here on detecting error. |
++`--------------------------------------*/
+ yyerrlab:
++ /* Make sure we have latest lookahead translation. See comments at
++ user semantic actions for why this is necessary. */
++ yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
+ /* If not already recovering from an error, report this error. */
+ if (!yyerrstatus)
+ {
+ ++yynerrs;
+-#if ! YYERROR_VERBOSE
+ yyerror (YY_("syntax error"));
+-#else
+- {
+- YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
+- if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
+- {
+- YYSIZE_T yyalloc = 2 * yysize;
+- if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
+- yyalloc = YYSTACK_ALLOC_MAXIMUM;
+- if (yymsg != yymsgbuf)
+- YYSTACK_FREE (yymsg);
+- yymsg = (char *) YYSTACK_ALLOC (yyalloc);
+- if (yymsg)
+- yymsg_alloc = yyalloc;
+- else
+- {
+- yymsg = yymsgbuf;
+- yymsg_alloc = sizeof yymsgbuf;
+- }
+- }
+-
+- if (0 < yysize && yysize <= yymsg_alloc)
+- {
+- (void) yysyntax_error (yymsg, yystate, yychar);
+- yyerror (yymsg);
+- }
+- else
+- {
+- yyerror (YY_("syntax error"));
+- if (yysize != 0)
+- goto yyexhaustedlab;
+- }
+- }
+-#endif
+ }
+
+-
+-
+ if (yyerrstatus == 3)
+ {
+- /* If just tried and failed to reuse look-ahead token after an
+- error, discard it. */
++ /* If just tried and failed to reuse lookahead token after an
++ error, discard it. */
+
+ if (yychar <= YYEOF)
+- {
+- /* Return failure if at end of input. */
+- if (yychar == YYEOF)
+- YYABORT;
+- }
++ {
++ /* Return failure if at end of input. */
++ if (yychar == YYEOF)
++ YYABORT;
++ }
+ else
+- {
+- yydestruct ("Error: discarding",
+- yytoken, &yylval);
+- yychar = YYEMPTY;
+- }
++ {
++ yydestruct ("Error: discarding",
++ yytoken, &yylval);
++ yychar = YYEMPTY;
++ }
+ }
+
+- /* Else will try to reuse look-ahead token after shifting the error
++ /* Else will try to reuse lookahead token after shifting the error
+ token. */
+ goto yyerrlab1;
+
+@@ -8506,14 +8553,13 @@ yyerrlab:
+ | yyerrorlab -- error raised explicitly by YYERROR. |
+ `---------------------------------------------------*/
+ yyerrorlab:
++ /* Pacify compilers when the user code never invokes YYERROR and the
++ label yyerrorlab therefore never appears in user code. */
++ if (0)
++ YYERROR;
++ ++yynerrs;
+
+- /* Pacify compilers like GCC when the user code never invokes
+- YYERROR and the label yyerrorlab therefore never appears in user
+- code. */
+- if (/*CONSTCOND*/ 0)
+- goto yyerrorlab;
+-
+- /* Do not reclaim the symbols of the rule which action triggered
++ /* Do not reclaim the symbols of the rule whose action triggered
+ this YYERROR. */
+ YYPOPSTACK (yylen);
+ yylen = 0;
+@@ -8526,42 +8572,42 @@ yyerrorlab:
+ | yyerrlab1 -- common code for both syntax error and YYERROR. |
+ `-------------------------------------------------------------*/
+ yyerrlab1:
+- yyerrstatus = 3; /* Each real token shifted decrements this. */
++ yyerrstatus = 3; /* Each real token shifted decrements this. */
+
++ /* Pop stack until we find a state that shifts the error token. */
+ for (;;)
+ {
+ yyn = yypact[yystate];
+- if (yyn != YYPACT_NINF)
+- {
+- yyn += YYTERROR;
+- if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+- {
+- yyn = yytable[yyn];
+- if (0 < yyn)
+- break;
+- }
+- }
++ if (!yypact_value_is_default (yyn))
++ {
++ yyn += YYSYMBOL_YYerror;
++ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
++ {
++ yyn = yytable[yyn];
++ if (0 < yyn)
++ break;
++ }
++ }
+
+ /* Pop the current state because it cannot handle the error token. */
+ if (yyssp == yyss)
+- YYABORT;
++ YYABORT;
+
+
+ yydestruct ("Error: popping",
+- yystos[yystate], yyvsp);
++ YY_ACCESSING_SYMBOL (yystate), yyvsp);
+ YYPOPSTACK (1);
+ yystate = *yyssp;
+ YY_STACK_PRINT (yyss, yyssp);
+ }
+
+- if (yyn == YYFINAL)
+- YYACCEPT;
+-
++ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+ *++yyvsp = yylval;
++ YY_IGNORE_MAYBE_UNINITIALIZED_END
+
+
+ /* Shift the error token. */
+- YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
++ YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
+
+ yystate = yyn;
+ goto yynewstate;
+@@ -8572,53 +8618,57 @@ yyerrlab1:
+ `-------------------------------------*/
+ yyacceptlab:
+ yyresult = 0;
+- goto yyreturn;
++ goto yyreturnlab;
++
+
+ /*-----------------------------------.
+ | yyabortlab -- YYABORT comes here. |
+ `-----------------------------------*/
+ yyabortlab:
+ yyresult = 1;
+- goto yyreturn;
++ goto yyreturnlab;
+
+-#ifndef yyoverflow
+-/*-------------------------------------------------.
+-| yyexhaustedlab -- memory exhaustion comes here. |
+-`-------------------------------------------------*/
++
++/*-----------------------------------------------------------.
++| yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here. |
++`-----------------------------------------------------------*/
+ yyexhaustedlab:
+ yyerror (YY_("memory exhausted"));
+ yyresult = 2;
+- /* Fall through. */
+-#endif
++ goto yyreturnlab;
++
+
+-yyreturn:
+- if (yychar != YYEOF && yychar != YYEMPTY)
+- yydestruct ("Cleanup: discarding lookahead",
+- yytoken, &yylval);
+- /* Do not reclaim the symbols of the rule which action triggered
++/*----------------------------------------------------------.
++| yyreturnlab -- parsing is finished, clean up and return. |
++`----------------------------------------------------------*/
++yyreturnlab:
++ if (yychar != YYEMPTY)
++ {
++ /* Make sure we have latest lookahead translation. See comments at
++ user semantic actions for why this is necessary. */
++ yytoken = YYTRANSLATE (yychar);
++ yydestruct ("Cleanup: discarding lookahead",
++ yytoken, &yylval);
++ }
++ /* Do not reclaim the symbols of the rule whose action triggered
+ this YYABORT or YYACCEPT. */
+ YYPOPSTACK (yylen);
+ YY_STACK_PRINT (yyss, yyssp);
+ while (yyssp != yyss)
+ {
+ yydestruct ("Cleanup: popping",
+- yystos[*yyssp], yyvsp);
++ YY_ACCESSING_SYMBOL (+*yyssp), yyvsp);
+ YYPOPSTACK (1);
+ }
+ #ifndef yyoverflow
+ if (yyss != yyssa)
+ YYSTACK_FREE (yyss);
+ #endif
+-#if YYERROR_VERBOSE
+- if (yymsg != yymsgbuf)
+- YYSTACK_FREE (yymsg);
+-#endif
+- /* Make sure YYID is used. */
+- return YYID (yyresult);
+-}
+
++ return yyresult;
++}
+
+-#line 4753 "sip-4.19.23/sipgen/metasrc/parser.y"
++#line 4779 "parser.y"
+
+
+
+@@ -13382,9 +13432,9 @@ static void addProperty(sipSpec *pt, mod
+ */
+ static moduleDef *configureModule(sipSpec *pt, moduleDef *module,
+ const char *filename, const char *name, int c_module, KwArgs kwargs,
+- int use_arg_names, int use_limited_api, int call_super_init,
+- int all_raise_py_exc, const char *def_error_handler,
+- docstringDef *docstring)
++ int use_arg_names, int py_ssize_t_clean, int use_limited_api,
++ int call_super_init, int all_raise_py_exc,
++ const char *def_error_handler, docstringDef *docstring)
+ {
+ moduleDef *mod;
+
+@@ -13418,6 +13468,9 @@ static moduleDef *configureModule(sipSpe
+ if (use_arg_names)
+ setUseArgNames(module);
+
++ if (py_ssize_t_clean)
++ setPY_SSIZE_T_CLEAN(module);
++
+ if (use_limited_api)
+ setUseLimitedAPI(module);
+
+@@ -13597,4 +13650,3 @@ static void checkEllipsis(signatureDef *
+ if (sd->args[a].atype == ellipsis_type && a < sd->nrArgs - 1)
+ yyerror("An ellipsis must be at the end of the argument list if /NoArgParser/ is not specified");
+ }
+-
+Index: sip-4.19.23/sipgen/parser.h
+===================================================================
+--- sip-4.19.23.orig/sipgen/parser.h
++++ sip-4.19.23/sipgen/parser.h
+@@ -1,14 +1,14 @@
+-/* A Bison parser, made by GNU Bison 2.3. */
++/* A Bison parser, made by GNU Bison 3.8.2. */
+
+-/* Skeleton interface for Bison's Yacc-like parsers in C
++/* Bison interface for Yacc-like parsers in C
+
+- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+- Free Software Foundation, Inc.
++ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
++ Inc.
+
+- This program is free software; you can redistribute it and/or modify
++ 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
+- the Free Software Foundation; either version 2, or (at your option)
+- any later version.
++ the Free Software Foundation, either version 3 of the License, or
++ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+@@ -16,9 +16,7 @@
+ GNU General Public License for more details.
+
+ 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., 51 Franklin Street, Fifth Floor,
+- Boston, MA 02110-1301, USA. */
++ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+ /* As a special exception, you may create a larger work that contains
+ part or all of the Bison parser skeleton and distribute that work
+@@ -33,164 +31,187 @@
+ This special exception was added by the Free Software Foundation in
+ version 2.2 of Bison. */
+
+-/* Tokens. */
++/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
++ especially those whose name start with YY_ or yy_. They are
++ private implementation details that can be changed or removed. */
++
++#ifndef YY_YY_PARSER_H_INCLUDED
++# define YY_YY_PARSER_H_INCLUDED
++/* Debug traces. */
++#ifndef YYDEBUG
++# define YYDEBUG 0
++#endif
++#if YYDEBUG
++extern int yydebug;
++#endif
++
++/* Token kinds. */
+ #ifndef YYTOKENTYPE
+ # define YYTOKENTYPE
+- /* Put the tokens into the symbol table, so that GDB and other debuggers
+- know about them. */
+- enum yytokentype {
+- TK_API = 258,
+- TK_AUTOPYNAME = 259,
+- TK_DEFDOCSTRFMT = 260,
+- TK_DEFDOCSTRSIG = 261,
+- TK_DEFENCODING = 262,
+- TK_PLUGIN = 263,
+- TK_VIRTERRORHANDLER = 264,
+- TK_EXPTYPEHINTCODE = 265,
+- TK_TYPEHINTCODE = 266,
+- TK_DOCSTRING = 267,
+- TK_DOC = 268,
+- TK_EXPORTEDDOC = 269,
+- TK_EXTRACT = 270,
+- TK_MAKEFILE = 271,
+- TK_ACCESSCODE = 272,
+- TK_GETCODE = 273,
+- TK_SETCODE = 274,
+- TK_PREINITCODE = 275,
+- TK_INITCODE = 276,
+- TK_POSTINITCODE = 277,
+- TK_FINALCODE = 278,
+- TK_UNITCODE = 279,
+- TK_UNITPOSTINCLUDECODE = 280,
+- TK_MODCODE = 281,
+- TK_TYPECODE = 282,
+- TK_PREPYCODE = 283,
+- TK_COPYING = 284,
+- TK_MAPPEDTYPE = 285,
+- TK_CODELINE = 286,
+- TK_IF = 287,
+- TK_END = 288,
+- TK_NAME_VALUE = 289,
+- TK_PATH_VALUE = 290,
+- TK_STRING_VALUE = 291,
+- TK_VIRTUALCATCHERCODE = 292,
+- TK_TRAVERSECODE = 293,
+- TK_CLEARCODE = 294,
+- TK_GETBUFFERCODE = 295,
+- TK_RELEASEBUFFERCODE = 296,
+- TK_READBUFFERCODE = 297,
+- TK_WRITEBUFFERCODE = 298,
+- TK_SEGCOUNTCODE = 299,
+- TK_CHARBUFFERCODE = 300,
+- TK_PICKLECODE = 301,
+- TK_VIRTUALCALLCODE = 302,
+- TK_METHODCODE = 303,
+- TK_PREMETHODCODE = 304,
+- TK_INSTANCECODE = 305,
+- TK_FROMTYPE = 306,
+- TK_TOTYPE = 307,
+- TK_TOSUBCLASS = 308,
+- TK_INCLUDE = 309,
+- TK_OPTINCLUDE = 310,
+- TK_IMPORT = 311,
+- TK_EXPHEADERCODE = 312,
+- TK_MODHEADERCODE = 313,
+- TK_TYPEHEADERCODE = 314,
+- TK_MODULE = 315,
+- TK_CMODULE = 316,
+- TK_CONSMODULE = 317,
+- TK_COMPOMODULE = 318,
+- TK_CLASS = 319,
+- TK_STRUCT = 320,
+- TK_PUBLIC = 321,
+- TK_PROTECTED = 322,
+- TK_PRIVATE = 323,
+- TK_SIGNALS = 324,
+- TK_SIGNAL_METHOD = 325,
+- TK_SLOTS = 326,
+- TK_SLOT_METHOD = 327,
+- TK_BOOL = 328,
+- TK_SHORT = 329,
+- TK_INT = 330,
+- TK_LONG = 331,
+- TK_FLOAT = 332,
+- TK_DOUBLE = 333,
+- TK_CHAR = 334,
+- TK_WCHAR_T = 335,
+- TK_VOID = 336,
+- TK_PYOBJECT = 337,
+- TK_PYTUPLE = 338,
+- TK_PYLIST = 339,
+- TK_PYDICT = 340,
+- TK_PYCALLABLE = 341,
+- TK_PYSLICE = 342,
+- TK_PYTYPE = 343,
+- TK_PYBUFFER = 344,
+- TK_VIRTUAL = 345,
+- TK_ENUM = 346,
+- TK_SIGNED = 347,
+- TK_UNSIGNED = 348,
+- TK_SCOPE = 349,
+- TK_LOGICAL_OR = 350,
+- TK_CONST = 351,
+- TK_STATIC = 352,
+- TK_SIPSIGNAL = 353,
+- TK_SIPSLOT = 354,
+- TK_SIPANYSLOT = 355,
+- TK_SIPRXCON = 356,
+- TK_SIPRXDIS = 357,
+- TK_SIPSLOTCON = 358,
+- TK_SIPSLOTDIS = 359,
+- TK_SIPSSIZET = 360,
+- TK_SIZET = 361,
+- TK_NUMBER_VALUE = 362,
+- TK_REAL_VALUE = 363,
+- TK_TYPEDEF = 364,
+- TK_NAMESPACE = 365,
+- TK_TIMELINE = 366,
+- TK_PLATFORMS = 367,
+- TK_FEATURE = 368,
+- TK_LICENSE = 369,
+- TK_QCHAR_VALUE = 370,
+- TK_TRUE_VALUE = 371,
+- TK_FALSE_VALUE = 372,
+- TK_NULL_VALUE = 373,
+- TK_OPERATOR = 374,
+- TK_THROW = 375,
+- TK_QOBJECT = 376,
+- TK_EXCEPTION = 377,
+- TK_RAISECODE = 378,
+- TK_EXPLICIT = 379,
+- TK_TEMPLATE = 380,
+- TK_FINAL = 381,
+- TK_ELLIPSIS = 382,
+- TK_DEFMETATYPE = 383,
+- TK_DEFSUPERTYPE = 384,
+- TK_PROPERTY = 385,
+- TK_HIDE_NS = 386,
+- TK_FORMAT = 387,
+- TK_GET = 388,
+- TK_ID = 389,
+- TK_KWARGS = 390,
+- TK_LANGUAGE = 391,
+- TK_LICENSEE = 392,
+- TK_NAME = 393,
+- TK_OPTIONAL = 394,
+- TK_ORDER = 395,
+- TK_REMOVELEADING = 396,
+- TK_SET = 397,
+- TK_SIGNATURE = 398,
+- TK_TIMESTAMP = 399,
+- TK_TYPE = 400,
+- TK_USEARGNAMES = 401,
+- TK_USELIMITEDAPI = 402,
+- TK_ALLRAISEPYEXC = 403,
+- TK_CALLSUPERINIT = 404,
+- TK_DEFERRORHANDLER = 405,
+- TK_VERSION = 406
+- };
++ enum yytokentype
++ {
++ YYEMPTY = -2,
++ YYEOF = 0, /* "end of file" */
++ YYerror = 256, /* error */
++ YYUNDEF = 257, /* "invalid token" */
++ TK_API = 258, /* TK_API */
++ TK_AUTOPYNAME = 259, /* TK_AUTOPYNAME */
++ TK_DEFDOCSTRFMT = 260, /* TK_DEFDOCSTRFMT */
++ TK_DEFDOCSTRSIG = 261, /* TK_DEFDOCSTRSIG */
++ TK_DEFENCODING = 262, /* TK_DEFENCODING */
++ TK_PLUGIN = 263, /* TK_PLUGIN */
++ TK_VIRTERRORHANDLER = 264, /* TK_VIRTERRORHANDLER */
++ TK_EXPTYPEHINTCODE = 265, /* TK_EXPTYPEHINTCODE */
++ TK_TYPEHINTCODE = 266, /* TK_TYPEHINTCODE */
++ TK_DOCSTRING = 267, /* TK_DOCSTRING */
++ TK_DOC = 268, /* TK_DOC */
++ TK_EXPORTEDDOC = 269, /* TK_EXPORTEDDOC */
++ TK_EXTRACT = 270, /* TK_EXTRACT */
++ TK_MAKEFILE = 271, /* TK_MAKEFILE */
++ TK_ACCESSCODE = 272, /* TK_ACCESSCODE */
++ TK_GETCODE = 273, /* TK_GETCODE */
++ TK_SETCODE = 274, /* TK_SETCODE */
++ TK_PREINITCODE = 275, /* TK_PREINITCODE */
++ TK_INITCODE = 276, /* TK_INITCODE */
++ TK_POSTINITCODE = 277, /* TK_POSTINITCODE */
++ TK_FINALCODE = 278, /* TK_FINALCODE */
++ TK_UNITCODE = 279, /* TK_UNITCODE */
++ TK_UNITPOSTINCLUDECODE = 280, /* TK_UNITPOSTINCLUDECODE */
++ TK_MODCODE = 281, /* TK_MODCODE */
++ TK_TYPECODE = 282, /* TK_TYPECODE */
++ TK_PREPYCODE = 283, /* TK_PREPYCODE */
++ TK_COPYING = 284, /* TK_COPYING */
++ TK_MAPPEDTYPE = 285, /* TK_MAPPEDTYPE */
++ TK_CODELINE = 286, /* TK_CODELINE */
++ TK_IF = 287, /* TK_IF */
++ TK_END = 288, /* TK_END */
++ TK_NAME_VALUE = 289, /* TK_NAME_VALUE */
++ TK_PATH_VALUE = 290, /* TK_PATH_VALUE */
++ TK_STRING_VALUE = 291, /* TK_STRING_VALUE */
++ TK_VIRTUALCATCHERCODE = 292, /* TK_VIRTUALCATCHERCODE */
++ TK_TRAVERSECODE = 293, /* TK_TRAVERSECODE */
++ TK_CLEARCODE = 294, /* TK_CLEARCODE */
++ TK_GETBUFFERCODE = 295, /* TK_GETBUFFERCODE */
++ TK_RELEASEBUFFERCODE = 296, /* TK_RELEASEBUFFERCODE */
++ TK_READBUFFERCODE = 297, /* TK_READBUFFERCODE */
++ TK_WRITEBUFFERCODE = 298, /* TK_WRITEBUFFERCODE */
++ TK_SEGCOUNTCODE = 299, /* TK_SEGCOUNTCODE */
++ TK_CHARBUFFERCODE = 300, /* TK_CHARBUFFERCODE */
++ TK_PICKLECODE = 301, /* TK_PICKLECODE */
++ TK_VIRTUALCALLCODE = 302, /* TK_VIRTUALCALLCODE */
++ TK_METHODCODE = 303, /* TK_METHODCODE */
++ TK_PREMETHODCODE = 304, /* TK_PREMETHODCODE */
++ TK_INSTANCECODE = 305, /* TK_INSTANCECODE */
++ TK_FROMTYPE = 306, /* TK_FROMTYPE */
++ TK_TOTYPE = 307, /* TK_TOTYPE */
++ TK_TOSUBCLASS = 308, /* TK_TOSUBCLASS */
++ TK_INCLUDE = 309, /* TK_INCLUDE */
++ TK_OPTINCLUDE = 310, /* TK_OPTINCLUDE */
++ TK_IMPORT = 311, /* TK_IMPORT */
++ TK_EXPHEADERCODE = 312, /* TK_EXPHEADERCODE */
++ TK_MODHEADERCODE = 313, /* TK_MODHEADERCODE */
++ TK_TYPEHEADERCODE = 314, /* TK_TYPEHEADERCODE */
++ TK_MODULE = 315, /* TK_MODULE */
++ TK_CMODULE = 316, /* TK_CMODULE */
++ TK_CONSMODULE = 317, /* TK_CONSMODULE */
++ TK_COMPOMODULE = 318, /* TK_COMPOMODULE */
++ TK_CLASS = 319, /* TK_CLASS */
++ TK_STRUCT = 320, /* TK_STRUCT */
++ TK_PUBLIC = 321, /* TK_PUBLIC */
++ TK_PROTECTED = 322, /* TK_PROTECTED */
++ TK_PRIVATE = 323, /* TK_PRIVATE */
++ TK_SIGNALS = 324, /* TK_SIGNALS */
++ TK_SIGNAL_METHOD = 325, /* TK_SIGNAL_METHOD */
++ TK_SLOTS = 326, /* TK_SLOTS */
++ TK_SLOT_METHOD = 327, /* TK_SLOT_METHOD */
++ TK_BOOL = 328, /* TK_BOOL */
++ TK_SHORT = 329, /* TK_SHORT */
++ TK_INT = 330, /* TK_INT */
++ TK_LONG = 331, /* TK_LONG */
++ TK_FLOAT = 332, /* TK_FLOAT */
++ TK_DOUBLE = 333, /* TK_DOUBLE */
++ TK_CHAR = 334, /* TK_CHAR */
++ TK_WCHAR_T = 335, /* TK_WCHAR_T */
++ TK_VOID = 336, /* TK_VOID */
++ TK_PYOBJECT = 337, /* TK_PYOBJECT */
++ TK_PYTUPLE = 338, /* TK_PYTUPLE */
++ TK_PYLIST = 339, /* TK_PYLIST */
++ TK_PYDICT = 340, /* TK_PYDICT */
++ TK_PYCALLABLE = 341, /* TK_PYCALLABLE */
++ TK_PYSLICE = 342, /* TK_PYSLICE */
++ TK_PYTYPE = 343, /* TK_PYTYPE */
++ TK_PYBUFFER = 344, /* TK_PYBUFFER */
++ TK_VIRTUAL = 345, /* TK_VIRTUAL */
++ TK_ENUM = 346, /* TK_ENUM */
++ TK_SIGNED = 347, /* TK_SIGNED */
++ TK_UNSIGNED = 348, /* TK_UNSIGNED */
++ TK_SCOPE = 349, /* TK_SCOPE */
++ TK_LOGICAL_OR = 350, /* TK_LOGICAL_OR */
++ TK_CONST = 351, /* TK_CONST */
++ TK_STATIC = 352, /* TK_STATIC */
++ TK_SIPSIGNAL = 353, /* TK_SIPSIGNAL */
++ TK_SIPSLOT = 354, /* TK_SIPSLOT */
++ TK_SIPANYSLOT = 355, /* TK_SIPANYSLOT */
++ TK_SIPRXCON = 356, /* TK_SIPRXCON */
++ TK_SIPRXDIS = 357, /* TK_SIPRXDIS */
++ TK_SIPSLOTCON = 358, /* TK_SIPSLOTCON */
++ TK_SIPSLOTDIS = 359, /* TK_SIPSLOTDIS */
++ TK_SIPSSIZET = 360, /* TK_SIPSSIZET */
++ TK_SIZET = 361, /* TK_SIZET */
++ TK_NUMBER_VALUE = 362, /* TK_NUMBER_VALUE */
++ TK_REAL_VALUE = 363, /* TK_REAL_VALUE */
++ TK_TYPEDEF = 364, /* TK_TYPEDEF */
++ TK_NAMESPACE = 365, /* TK_NAMESPACE */
++ TK_TIMELINE = 366, /* TK_TIMELINE */
++ TK_PLATFORMS = 367, /* TK_PLATFORMS */
++ TK_FEATURE = 368, /* TK_FEATURE */
++ TK_LICENSE = 369, /* TK_LICENSE */
++ TK_QCHAR_VALUE = 370, /* TK_QCHAR_VALUE */
++ TK_TRUE_VALUE = 371, /* TK_TRUE_VALUE */
++ TK_FALSE_VALUE = 372, /* TK_FALSE_VALUE */
++ TK_NULL_VALUE = 373, /* TK_NULL_VALUE */
++ TK_OPERATOR = 374, /* TK_OPERATOR */
++ TK_THROW = 375, /* TK_THROW */
++ TK_QOBJECT = 376, /* TK_QOBJECT */
++ TK_EXCEPTION = 377, /* TK_EXCEPTION */
++ TK_RAISECODE = 378, /* TK_RAISECODE */
++ TK_EXPLICIT = 379, /* TK_EXPLICIT */
++ TK_TEMPLATE = 380, /* TK_TEMPLATE */
++ TK_FINAL = 381, /* TK_FINAL */
++ TK_ELLIPSIS = 382, /* TK_ELLIPSIS */
++ TK_DEFMETATYPE = 383, /* TK_DEFMETATYPE */
++ TK_DEFSUPERTYPE = 384, /* TK_DEFSUPERTYPE */
++ TK_PROPERTY = 385, /* TK_PROPERTY */
++ TK_HIDE_NS = 386, /* TK_HIDE_NS */
++ TK_FORMAT = 387, /* TK_FORMAT */
++ TK_GET = 388, /* TK_GET */
++ TK_ID = 389, /* TK_ID */
++ TK_KWARGS = 390, /* TK_KWARGS */
++ TK_LANGUAGE = 391, /* TK_LANGUAGE */
++ TK_LICENSEE = 392, /* TK_LICENSEE */
++ TK_NAME = 393, /* TK_NAME */
++ TK_OPTIONAL = 394, /* TK_OPTIONAL */
++ TK_ORDER = 395, /* TK_ORDER */
++ TK_REMOVELEADING = 396, /* TK_REMOVELEADING */
++ TK_SET = 397, /* TK_SET */
++ TK_SIGNATURE = 398, /* TK_SIGNATURE */
++ TK_TIMESTAMP = 399, /* TK_TIMESTAMP */
++ TK_TYPE = 400, /* TK_TYPE */
++ TK_USEARGNAMES = 401, /* TK_USEARGNAMES */
++ TK_PYSSIZETCLEAN = 402, /* TK_PYSSIZETCLEAN */
++ TK_USELIMITEDAPI = 403, /* TK_USELIMITEDAPI */
++ TK_ALLRAISEPYEXC = 404, /* TK_ALLRAISEPYEXC */
++ TK_CALLSUPERINIT = 405, /* TK_CALLSUPERINIT */
++ TK_DEFERRORHANDLER = 406, /* TK_DEFERRORHANDLER */
++ TK_VERSION = 407 /* TK_VERSION */
++ };
++ typedef enum yytokentype yytoken_kind_t;
+ #endif
+-/* Tokens. */
++/* Token kinds. */
++#define YYEMPTY -2
++#define YYEOF 0
++#define YYerror 256
++#define YYUNDEF 257
+ #define TK_API 258
+ #define TK_AUTOPYNAME 259
+ #define TK_DEFDOCSTRFMT 260
+@@ -335,19 +356,19 @@
+ #define TK_TIMESTAMP 399
+ #define TK_TYPE 400
+ #define TK_USEARGNAMES 401
+-#define TK_USELIMITEDAPI 402
+-#define TK_ALLRAISEPYEXC 403
+-#define TK_CALLSUPERINIT 404
+-#define TK_DEFERRORHANDLER 405
+-#define TK_VERSION 406
+-
+-
+-
++#define TK_PYSSIZETCLEAN 402
++#define TK_USELIMITEDAPI 403
++#define TK_ALLRAISEPYEXC 404
++#define TK_CALLSUPERINIT 405
++#define TK_DEFERRORHANDLER 406
++#define TK_VERSION 407
+
++/* Value type. */
+ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+-typedef union YYSTYPE
+-#line 202 "sip-4.19.23/sipgen/metasrc/parser.y"
++union YYSTYPE
+ {
++#line 202 "parser.y"
++
+ char qchar;
+ char *text;
+ long number;
+@@ -390,14 +411,20 @@ typedef union YYSTYPE
+ variableCfg variable;
+ vehCfg veh;
+ int token;
+-}
+-/* Line 1529 of yacc.c. */
+-#line 396 "sip-4.19.23/sipgen/parser.h"
+- YYSTYPE;
+-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+-# define YYSTYPE_IS_DECLARED 1
++
++#line 416 "../parser.h"
++
++};
++typedef union YYSTYPE YYSTYPE;
+ # define YYSTYPE_IS_TRIVIAL 1
++# define YYSTYPE_IS_DECLARED 1
+ #endif
+
++
+ extern YYSTYPE yylval;
+
++
++int yyparse (void);
++
++
++#endif /* !YY_YY_PARSER_H_INCLUDED */
diff --git a/meta-oe/recipes-devtools/sip/sip3_4.19.23.bb b/meta-oe/recipes-devtools/sip/sip3_4.19.23.bb
index 064ab0a0c..dc3db1fcd 100644
--- a/meta-oe/recipes-devtools/sip/sip3_4.19.23.bb
+++ b/meta-oe/recipes-devtools/sip/sip3_4.19.23.bb
@@ -5,7 +5,9 @@ LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://LICENSE-GPL2;md5=e91355d8a6f8bd8f7c699d62863c7303"
SRC_URI = "https://www.riverbankcomputing.com/static/Downloads/sip/${PV}/sip-${PV}.tar.gz \
+ file://added-the-py_ssize_t_clean-argument-to-the-module-directive.patch \
"
+
SRC_URI[md5sum] = "70adc0c9734e2d9dcd241d3f931dfc74"
SRC_URI[sha256sum] = "22ca9bcec5388114e40d4aafd7ccd0c4fe072297b628d0c5cdfa2f010c0bc7e7"
--
2.39.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [oe] [kirkstone][PATCH 0/2] Add sipconfig.py support to sip3
2023-12-02 3:09 [kirkstone][PATCH 0/2] Add sipconfig.py support to sip3 Rob Woolley
2023-12-02 3:09 ` [kirkstone][PATCH 1/2] sip3: Add sipconfig.py Rob Woolley
2023-12-02 3:09 ` [kirkstone][PATCH 2/2] sip3: Add py_ssize_t_clean argument Rob Woolley
@ 2023-12-06 12:28 ` akuster808
2023-12-06 16:57 ` Woolley, Rob
2 siblings, 1 reply; 7+ messages in thread
From: akuster808 @ 2023-12-06 12:28 UTC (permalink / raw)
To: rob.woolley, openembedded-devel; +Cc: raj.khem, alex.kanavin
On 12/1/23 10:09 PM, Rob Woolley via lists.openembedded.org wrote:
> Some packages in meta-ros, like qt-gui-cpp, need sipconfig.py to be
> present in python3-sip3. Changes are required to ensure that the
> sip tools execute successfully and that paths from the host machine
> don't get included in the SIP configuration file.
Do similar changes need to go into Master?
>
> Rob Woolley (2):
> sip3: Add sipconfig.py
> sip3: Add py_ssize_t_clean argument
>
> ...ean-argument-to-the-module-directive.patch | 17679 ++++++++++++++++
> meta-oe/recipes-devtools/sip/sip3_4.19.23.bb | 21 +-
> 2 files changed, 17699 insertions(+), 1 deletion(-)
> create mode 100644 meta-oe/recipes-devtools/sip/sip3/added-the-py_ssize_t_clean-argument-to-the-module-directive.patch
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#107194): https://lists.openembedded.org/g/openembedded-devel/message/107194
> Mute This Topic: https://lists.openembedded.org/mt/102930497/3616698
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [akuster808@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [oe] [kirkstone][PATCH 2/2] sip3: Add py_ssize_t_clean argument
2023-12-02 3:09 ` [kirkstone][PATCH 2/2] sip3: Add py_ssize_t_clean argument Rob Woolley
@ 2023-12-06 12:29 ` akuster808
0 siblings, 0 replies; 7+ messages in thread
From: akuster808 @ 2023-12-06 12:29 UTC (permalink / raw)
To: rob.woolley, openembedded-devel; +Cc: raj.khem, alex.kanavin
On 12/1/23 10:09 PM, Rob Woolley via lists.openembedded.org wrote:
> An unintentional breakage was made upstream in sip4 which results
> in builds reporting: QtCoremod.sip:23: syntax error
Does Master need a similar fix?
>
> This was reported in Debian, but not resolved:
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=998605
>
> A backport of a fix from the upstream project fixes the parser to
> prevent it from complaining about the syntax error.
>
> Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
> ---
> ...ean-argument-to-the-module-directive.patch | 17679 ++++++++++++++++
> meta-oe/recipes-devtools/sip/sip3_4.19.23.bb | 2 +
> 2 files changed, 17681 insertions(+)
> create mode 100644 meta-oe/recipes-devtools/sip/sip3/added-the-py_ssize_t_clean-argument-to-the-module-directive.patch
>
> diff --git a/meta-oe/recipes-devtools/sip/sip3/added-the-py_ssize_t_clean-argument-to-the-module-directive.patch b/meta-oe/recipes-devtools/sip/sip3/added-the-py_ssize_t_clean-argument-to-the-module-directive.patch
> new file mode 100644
> index 000000000..d7ed0770b
> --- /dev/null
> +++ b/meta-oe/recipes-devtools/sip/sip3/added-the-py_ssize_t_clean-argument-to-the-module-directive.patch
> @@ -0,0 +1,17679 @@
> +Added the 'py_ssize_t_clean' argument to '%Module' directive
> +
> +This is based on an upstream changeset to SIP. It was backported to
> +sip-4.19.23 and the parser was regenerated with the following
> +commands:
> +
> + cd sipgen/metasrc
> + flex -o../lexer.c lexer.l
> + bison -y -d -o ../parser.c parser.y
> +
> +Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
> +
> +# HG changeset patch
> +# User Phil Thompson <phil@riverbankcomputing.com>
> +# Date 1635086052 -3600
> +# Node ID 5d67349bb5a9954590a896ab35da93b2237b99c2
> +# Parent d837f2a3147fc5eb364f1c54798b668da1a83333
> +Added the 'py_ssize_t_clean' argument to the '%Module' directive.
> +
> +Index: sip-4.19.23/sipgen/gencode.c
> +===================================================================
> +--- sip-4.19.23.orig/sipgen/gencode.c
> ++++ sip-4.19.23/sipgen/gencode.c
> +@@ -1138,6 +1138,12 @@ static void generateCompositeCpp(sipSpec
> +
> + declareLimitedAPI(py_debug, NULL, fp);
> +
> ++ if (isPY_SSIZE_T_CLEAN(mod))
> ++ prcode(fp,
> ++"\n"
> ++"#define PY_SSIZE_T_CLEAN\n"
> ++ );
> ++
> + prcode(fp,
> + "\n"
> + "#include <Python.h>\n"
> +Index: sip-4.19.23/sipgen/metasrc/lexer.l
> +===================================================================
> +--- sip-4.19.23.orig/sipgen/metasrc/lexer.l
> ++++ sip-4.19.23/sipgen/metasrc/lexer.l
> +@@ -155,6 +155,7 @@ SIP_RXOBJ_DIS {return TK_S
> + SIP_SLOT_CON {return TK_SIPSLOTCON;}
> + SIP_SLOT_DIS {return TK_SIPSLOTDIS;}
> + SIP_SSIZE_T {return TK_SIPSSIZET;}
> ++Py_ssize_t {return TK_SIPSSIZET;}
> + SIP_QOBJECT {return TK_QOBJECT;}
> + \.\.\. {return TK_ELLIPSIS;}
> +
> +@@ -173,6 +174,7 @@ SIP_QOBJECT {return TK_Q
> + <directive>timestamp {return TK_TIMESTAMP;}
> + <directive>type {return TK_TYPE;}
> + <directive>use_argument_names {return TK_USEARGNAMES;}
> ++<directive>py_ssize_t_clean {return TK_PYSSIZETCLEAN;}
> + <directive>use_limited_api {return TK_USELIMITEDAPI;}
> + <directive>all_raise_py_exception {return TK_ALLRAISEPYEXC;}
> + <directive>call_super_init {return TK_CALLSUPERINIT;}
> +Index: sip-4.19.23/sipgen/metasrc/parser.y
> +===================================================================
> +--- sip-4.19.23.orig/sipgen/metasrc/parser.y
> ++++ sip-4.19.23/sipgen/metasrc/parser.y
> +@@ -182,9 +182,9 @@ static void addProperty(sipSpec *pt, mod
> + docstringDef *docstring);
> + static moduleDef *configureModule(sipSpec *pt, moduleDef *module,
> + const char *filename, const char *name, int c_module, KwArgs kwargs,
> +- int use_arg_names, int use_limited_api, int call_super_init,
> +- int all_raise_py_exc, const char *def_error_handler,
> +- docstringDef *docstring);
> ++ int use_arg_names, int py_ssize_t_clean, int use_limited_api,
> ++ int call_super_init, int all_raise_py_exc,
> ++ const char *def_error_handler, docstringDef *docstring);
> + static void addAutoPyName(moduleDef *mod, const char *remove_leading);
> + static KwArgs convertKwArgs(const char *kwargs);
> + static void checkAnnos(optFlags *annos, const char *valid[]);
> +@@ -389,6 +389,7 @@ static scopedNameDef *fullyQualifiedName
> + %token TK_TIMESTAMP
> + %token TK_TYPE
> + %token TK_USEARGNAMES
> ++%token TK_PYSSIZETCLEAN
> + %token TK_USELIMITEDAPI
> + %token TK_ALLRAISEPYEXC
> + %token TK_CALLSUPERINIT
> +@@ -1908,9 +1909,10 @@ module: TK_MODULE module_args module_bod
> + if (notSkipping())
> + currentModule = configureModule(currentSpec, currentModule,
> + currentContext.filename, $2.name, $2.c_module,
> +- $2.kwargs, $2.use_arg_names, $2.use_limited_api,
> +- $2.call_super_init, $2.all_raise_py_exc,
> +- $2.def_error_handler, $3.docstring);
> ++ $2.kwargs, $2.use_arg_names, $2.py_ssize_t_clean,
> ++ $2.use_limited_api, $2.call_super_init,
> ++ $2.all_raise_py_exc, $2.def_error_handler,
> ++ $3.docstring);
> + }
> + | TK_CMODULE dottedname optnumber {
> + deprecated("%CModule is deprecated, use %Module and the 'language' argument instead");
> +@@ -1918,7 +1920,7 @@ module: TK_MODULE module_args module_bod
> + if (notSkipping())
> + currentModule = configureModule(currentSpec, currentModule,
> + currentContext.filename, $2, TRUE, defaultKwArgs,
> +- FALSE, FALSE, -1, FALSE, NULL, NULL);
> ++ FALSE, FALSE, FALSE, -1, FALSE, NULL, NULL);
> + }
> + ;
> +
> +@@ -1930,6 +1932,7 @@ module_args: dottedname {resetLexerSt
> + $$.kwargs = defaultKwArgs;
> + $$.name = $1;
> + $$.use_arg_names = FALSE;
> ++ $$.py_ssize_t_clean = FALSE;
> + $$.use_limited_api = FALSE;
> + $$.all_raise_py_exc = FALSE;
> + $$.call_super_init = -1;
> +@@ -1950,6 +1953,7 @@ module_arg_list: module_arg
> + case TK_LANGUAGE: $$.c_module = $3.c_module; break;
> + case TK_NAME: $$.name = $3.name; break;
> + case TK_USEARGNAMES: $$.use_arg_names = $3.use_arg_names; break;
> ++ case TK_PYSSIZETCLEAN: $$.py_ssize_t_clean = $3.py_ssize_t_clean; break;
> + case TK_USELIMITEDAPI: $$.use_limited_api = $3.use_limited_api; break;
> + case TK_ALLRAISEPYEXC: $$.all_raise_py_exc = $3.all_raise_py_exc; break;
> + case TK_CALLSUPERINIT: $$.call_super_init = $3.call_super_init; break;
> +@@ -1965,6 +1969,7 @@ module_arg: TK_KWARGS '=' TK_STRING_VALU
> + $$.kwargs = convertKwArgs($3);
> + $$.name = NULL;
> + $$.use_arg_names = FALSE;
> ++ $$.py_ssize_t_clean = FALSE;
> + $$.use_limited_api = FALSE;
> + $$.all_raise_py_exc = FALSE;
> + $$.call_super_init = -1;
> +@@ -1983,6 +1988,7 @@ module_arg: TK_KWARGS '=' TK_STRING_VALU
> + $$.kwargs = defaultKwArgs;
> + $$.name = NULL;
> + $$.use_arg_names = FALSE;
> ++ $$.py_ssize_t_clean = FALSE;
> + $$.use_limited_api = FALSE;
> + $$.all_raise_py_exc = FALSE;
> + $$.call_super_init = -1;
> +@@ -1995,6 +2001,7 @@ module_arg: TK_KWARGS '=' TK_STRING_VALU
> + $$.kwargs = defaultKwArgs;
> + $$.name = $3;
> + $$.use_arg_names = FALSE;
> ++ $$.py_ssize_t_clean = FALSE;
> + $$.use_limited_api = FALSE;
> + $$.all_raise_py_exc = FALSE;
> + $$.call_super_init = -1;
> +@@ -2007,6 +2014,20 @@ module_arg: TK_KWARGS '=' TK_STRING_VALU
> + $$.kwargs = defaultKwArgs;
> + $$.name = NULL;
> + $$.use_arg_names = $3;
> ++ $$.py_ssize_t_clean = FALSE;
> ++ $$.use_limited_api = FALSE;
> ++ $$.all_raise_py_exc = FALSE;
> ++ $$.call_super_init = -1;
> ++ $$.def_error_handler = NULL;
> ++ }
> ++ | TK_PYSSIZETCLEAN '=' bool_value {
> ++ $$.token = TK_PYSSIZETCLEAN;
> ++
> ++ $$.c_module = FALSE;
> ++ $$.kwargs = defaultKwArgs;
> ++ $$.name = NULL;
> ++ $$.use_arg_names = FALSE;
> ++ $$.py_ssize_t_clean = $3;
> + $$.use_limited_api = FALSE;
> + $$.all_raise_py_exc = FALSE;
> + $$.call_super_init = -1;
> +@@ -2019,6 +2040,7 @@ module_arg: TK_KWARGS '=' TK_STRING_VALU
> + $$.kwargs = defaultKwArgs;
> + $$.name = NULL;
> + $$.use_arg_names = FALSE;
> ++ $$.py_ssize_t_clean = FALSE;
> + $$.use_limited_api = $3;
> + $$.all_raise_py_exc = FALSE;
> + $$.call_super_init = -1;
> +@@ -2031,6 +2053,7 @@ module_arg: TK_KWARGS '=' TK_STRING_VALU
> + $$.kwargs = defaultKwArgs;
> + $$.name = NULL;
> + $$.use_arg_names = FALSE;
> ++ $$.py_ssize_t_clean = FALSE;
> + $$.use_limited_api = FALSE;
> + $$.all_raise_py_exc = $3;
> + $$.call_super_init = -1;
> +@@ -2043,6 +2066,7 @@ module_arg: TK_KWARGS '=' TK_STRING_VALU
> + $$.kwargs = defaultKwArgs;
> + $$.name = NULL;
> + $$.use_arg_names = FALSE;
> ++ $$.py_ssize_t_clean = FALSE;
> + $$.use_limited_api = FALSE;
> + $$.all_raise_py_exc = FALSE;
> + $$.call_super_init = $3;
> +@@ -2055,6 +2079,7 @@ module_arg: TK_KWARGS '=' TK_STRING_VALU
> + $$.kwargs = defaultKwArgs;
> + $$.name = NULL;
> + $$.use_arg_names = FALSE;
> ++ $$.py_ssize_t_clean = FALSE;
> + $$.use_limited_api = FALSE;
> + $$.all_raise_py_exc = FALSE;
> + $$.call_super_init = -1;
> +@@ -2072,6 +2097,7 @@ module_arg: TK_KWARGS '=' TK_STRING_VALU
> + $$.kwargs = defaultKwArgs;
> + $$.name = NULL;
> + $$.use_arg_names = FALSE;
> ++ $$.py_ssize_t_clean = FALSE;
> + $$.use_limited_api = FALSE;
> + $$.all_raise_py_exc = FALSE;
> + $$.call_super_init = -1;
> +@@ -9513,9 +9539,9 @@ static void addProperty(sipSpec *pt, mod
> + */
> + static moduleDef *configureModule(sipSpec *pt, moduleDef *module,
> + const char *filename, const char *name, int c_module, KwArgs kwargs,
> +- int use_arg_names, int use_limited_api, int call_super_init,
> +- int all_raise_py_exc, const char *def_error_handler,
> +- docstringDef *docstring)
> ++ int use_arg_names, int py_ssize_t_clean, int use_limited_api,
> ++ int call_super_init, int all_raise_py_exc,
> ++ const char *def_error_handler, docstringDef *docstring)
> + {
> + moduleDef *mod;
> +
> +@@ -9549,6 +9575,9 @@ static moduleDef *configureModule(sipSpe
> + if (use_arg_names)
> + setUseArgNames(module);
> +
> ++ if (py_ssize_t_clean)
> ++ setPY_SSIZE_T_CLEAN(module);
> ++
> + if (use_limited_api)
> + setUseLimitedAPI(module);
> +
> +Index: sip-4.19.23/sipgen/sip.h
> +===================================================================
> +--- sip-4.19.23.orig/sipgen/sip.h
> ++++ sip-4.19.23/sipgen/sip.h
> +@@ -93,6 +93,7 @@
> + #define MOD_SUPER_INIT_UNDEF 0x0000 /* Calling super().__init__() is undefined. */
> + #define MOD_SUPER_INIT_MASK 0x0180 /* The mask for the above flags. */
> + #define MOD_SETTING_IMPORTS 0x0200 /* Imports are being set. */
> ++#define MOD_PY_SSIZE_T_CLEAN 0x0400 /* #define PY_SSIZE_T_CLEAN. */
> +
> + #define hasDelayedDtors(m) ((m)->modflags & MOD_HAS_DELAYED_DTORS)
> + #define setHasDelayedDtors(m) ((m)->modflags |= MOD_HAS_DELAYED_DTORS)
> +@@ -116,6 +117,8 @@
> + #define settingImports(m) ((m)->modflags & MOD_SETTING_IMPORTS)
> + #define setSettingImports(m) ((m)->modflags |= MOD_SETTING_IMPORTS)
> + #define resetSettingImports(m) ((m)->modflags &= ~MOD_SETTING_IMPORTS)
> ++#define setPY_SSIZE_T_CLEAN(m) ((m)->modflags |= MOD_PY_SSIZE_T_CLEAN)
> ++#define isPY_SSIZE_T_CLEAN(m) ((m)->modflags & MOD_PY_SSIZE_T_CLEAN)
> +
> +
> + /* Handle section flags. */
> +@@ -1630,6 +1633,7 @@ typedef struct _moduleCfg {
> + KwArgs kwargs;
> + const char *name;
> + int use_arg_names;
> ++ int py_ssize_t_clean;
> + int use_limited_api;
> + int all_raise_py_exc;
> + int call_super_init;
> +Index: sip-4.19.23/sphinx/directives.rst
> +===================================================================
> +--- sip-4.19.23.orig/sphinx/directives.rst
> ++++ sip-4.19.23/sphinx/directives.rst
> +@@ -1966,6 +1966,7 @@ then the pattern should instead be::
> + [, default_VirtualErrorHandler = *name*]
> + [, keyword_arguments = ["None" | "All" | "Optional"]]
> + [, language = *string*]
> ++ [, py_ssize_t_clean = [True | False]]
> + [, use_argument_names = [True | False]]
> + [, use_limited_api = [True | False]]
> + [, version = *integer*])
> +@@ -2004,6 +2005,9 @@ implied by the (deprecated) :option:`-k
> + ``language`` specifies the implementation language of the library being
> + wrapped. Its value is either ``"C++"`` (the default) or ``"C"``.
> +
> ++``py_ssize_t_clean`` specifies that the generated code should include ``#define
> ++PY_SSIZE_T_CLEAN`` before any ``#include <Python.h>``.
> ++
> + When providing handwritten code as part of either the :directive:`%MethodCode`
> + or :directive:`%VirtualCatcherCode` directives the names of the arguments of
> + the function or method are based on the number of the argument, i.e. the first
> +Index: sip-4.19.23/sipgen/lexer.c
> +===================================================================
> +--- sip-4.19.23.orig/sipgen/lexer.c
> ++++ sip-4.19.23/sipgen/lexer.c
> +@@ -1,6 +1,6 @@
> +-#line 2 "sip-4.19.23/sipgen/lexer.c"
> ++#line 2 "../lexer.c"
> +
> +-#line 4 "sip-4.19.23/sipgen/lexer.c"
> ++#line 4 "../lexer.c"
> +
> + #define YY_INT_ALIGNED short int
> +
> +@@ -8,8 +8,8 @@
> +
> + #define FLEX_SCANNER
> + #define YY_FLEX_MAJOR_VERSION 2
> +-#define YY_FLEX_MINOR_VERSION 5
> +-#define YY_FLEX_SUBMINOR_VERSION 35
> ++#define YY_FLEX_MINOR_VERSION 6
> ++#define YY_FLEX_SUBMINOR_VERSION 4
> + #if YY_FLEX_SUBMINOR_VERSION > 0
> + #define FLEX_BETA
> + #endif
> +@@ -47,7 +47,6 @@ typedef int16_t flex_int16_t;
> + typedef uint16_t flex_uint16_t;
> + typedef int32_t flex_int32_t;
> + typedef uint32_t flex_uint32_t;
> +-typedef uint64_t flex_uint64_t;
> + #else
> + typedef signed char flex_int8_t;
> + typedef short int flex_int16_t;
> +@@ -55,7 +54,6 @@ typedef int flex_int32_t;
> + typedef unsigned char flex_uint8_t;
> + typedef unsigned short int flex_uint16_t;
> + typedef unsigned int flex_uint32_t;
> +-#endif /* ! C99 */
> +
> + /* Limits of integral types. */
> + #ifndef INT8_MIN
> +@@ -86,63 +84,61 @@ typedef unsigned int flex_uint32_t;
> + #define UINT32_MAX (4294967295U)
> + #endif
> +
> +-#endif /* ! FLEXINT_H */
> +-
> +-#ifdef __cplusplus
> +-
> +-/* The "const" storage-class-modifier is valid. */
> +-#define YY_USE_CONST
> +-
> +-#else /* ! __cplusplus */
> ++#ifndef SIZE_MAX
> ++#define SIZE_MAX (~(size_t)0)
> ++#endif
> +
> +-/* C99 requires __STDC__ to be defined as 1. */
> +-#if defined (__STDC__)
> ++#endif /* ! C99 */
> +
> +-#define YY_USE_CONST
> ++#endif /* ! FLEXINT_H */
> +
> +-#endif /* defined (__STDC__) */
> +-#endif /* ! __cplusplus */
> ++/* begin standard C++ headers. */
> +
> +-#ifdef YY_USE_CONST
> ++/* TODO: this is always defined, so inline it */
> + #define yyconst const
> ++
> ++#if defined(__GNUC__) && __GNUC__ >= 3
> ++#define yynoreturn __attribute__((__noreturn__))
> + #else
> +-#define yyconst
> ++#define yynoreturn
> + #endif
> +
> + /* Returned upon end-of-file. */
> + #define YY_NULL 0
> +
> +-/* Promotes a possibly negative, possibly signed char to an unsigned
> +- * integer for use as an array index. If the signed char is negative,
> +- * we want to instead treat it as an 8-bit unsigned char, hence the
> +- * double cast.
> ++/* Promotes a possibly negative, possibly signed char to an
> ++ * integer in range [0..255] for use as an array index.
> + */
> +-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
> ++#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
> +
> + /* Enter a start condition. This macro really ought to take a parameter,
> + * but we do it the disgusting crufty way forced on us by the ()-less
> + * definition of BEGIN.
> + */
> + #define BEGIN (yy_start) = 1 + 2 *
> +-
> + /* Translate the current start state into a value that can be later handed
> + * to BEGIN to return to the state. The YYSTATE alias is for lex
> + * compatibility.
> + */
> + #define YY_START (((yy_start) - 1) / 2)
> + #define YYSTATE YY_START
> +-
> + /* Action number for EOF rule of a given start state. */
> + #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
> +-
> + /* Special action meaning "start processing a new file". */
> +-#define YY_NEW_FILE yyrestart(yyin )
> +-
> ++#define YY_NEW_FILE yyrestart( yyin )
> + #define YY_END_OF_BUFFER_CHAR 0
> +
> + /* Size of default input buffer. */
> + #ifndef YY_BUF_SIZE
> ++#ifdef __ia64__
> ++/* On IA-64, the buffer size is 16k, not 8k.
> ++ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
> ++ * Ditto for the __ia64__ case accordingly.
> ++ */
> ++#define YY_BUF_SIZE 32768
> ++#else
> + #define YY_BUF_SIZE 16384
> ++#endif /* __ia64__ */
> + #endif
> +
> + /* The state buf must be large enough to hold one state per character in the main buffer.
> +@@ -159,15 +155,16 @@ typedef struct yy_buffer_state *YY_BUFFE
> + typedef size_t yy_size_t;
> + #endif
> +
> +-extern yy_size_t yyleng;
> ++extern int yyleng;
> +
> + extern FILE *yyin, *yyout;
> +
> + #define EOB_ACT_CONTINUE_SCAN 0
> + #define EOB_ACT_END_OF_FILE 1
> + #define EOB_ACT_LAST_MATCH 2
> +-
> ++
> + #define YY_LESS_LINENO(n)
> ++ #define YY_LINENO_REWIND_TO(ptr)
> +
> + /* Return all but the first "n" matched characters back to the input stream. */
> + #define yyless(n) \
> +@@ -182,7 +179,6 @@ extern FILE *yyin, *yyout;
> + YY_DO_BEFORE_ACTION; /* set up yytext again */ \
> + } \
> + while ( 0 )
> +-
> + #define unput(c) yyunput( c, (yytext_ptr) )
> +
> + #ifndef YY_STRUCT_YY_BUFFER_STATE
> +@@ -197,12 +193,12 @@ struct yy_buffer_state
> + /* Size of input buffer in bytes, not including room for EOB
> + * characters.
> + */
> +- yy_size_t yy_buf_size;
> ++ int yy_buf_size;
> +
> + /* Number of characters read into yy_ch_buf, not including EOB
> + * characters.
> + */
> +- yy_size_t yy_n_chars;
> ++ int yy_n_chars;
> +
> + /* Whether we "own" the buffer - i.e., we know we created it,
> + * and can realloc() it to grow it, and should free() it to
> +@@ -225,7 +221,7 @@ struct yy_buffer_state
> +
> + int yy_bs_lineno; /**< The line count. */
> + int yy_bs_column; /**< The column count. */
> +-
> ++
> + /* Whether to try to fill the input buffer when we reach the
> + * end of it.
> + */
> +@@ -253,7 +249,7 @@ struct yy_buffer_state
> + /* Stack of input buffers. */
> + static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
> + static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
> +-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
> ++static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
> +
> + /* We provide macros for accessing buffer states in case in the
> + * future we want to put the buffer states in a more general
> +@@ -264,7 +260,6 @@ static YY_BUFFER_STATE * yy_buffer_stack
> + #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
> + ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
> + : NULL)
> +-
> + /* Same as previous macro, but useful when we know that the buffer stack is not
> + * NULL or when we need an lvalue. For internal use only.
> + */
> +@@ -272,11 +267,11 @@ static YY_BUFFER_STATE * yy_buffer_stack
> +
> + /* yy_hold_char holds the character lost when yytext is formed. */
> + static char yy_hold_char;
> +-static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
> +-yy_size_t yyleng;
> ++static int yy_n_chars; /* number of characters read into yy_ch_buf */
> ++int yyleng;
> +
> + /* Points to current character in buffer. */
> +-static char *yy_c_buf_p = (char *) 0;
> ++static char *yy_c_buf_p = NULL;
> + static int yy_init = 0; /* whether we need to initialize */
> + static int yy_start = 0; /* start state number */
> +
> +@@ -285,84 +280,80 @@ static int yy_start = 0; /* start state
> + */
> + static int yy_did_buffer_switch_on_eof;
> +
> +-void yyrestart (FILE *input_file );
> +-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
> +-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
> +-void yy_delete_buffer (YY_BUFFER_STATE b );
> +-void yy_flush_buffer (YY_BUFFER_STATE b );
> +-void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
> +-void yypop_buffer_state (void );
> +-
> +-static void yyensure_buffer_stack (void );
> +-static void yy_load_buffer_state (void );
> +-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
> +-
> +-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
> +-
> +-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
> +-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
> +-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len );
> +-
> +-void *yyalloc (yy_size_t );
> +-void *yyrealloc (void *,yy_size_t );
> +-void yyfree (void * );
> ++void yyrestart ( FILE *input_file );
> ++void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
> ++YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
> ++void yy_delete_buffer ( YY_BUFFER_STATE b );
> ++void yy_flush_buffer ( YY_BUFFER_STATE b );
> ++void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
> ++void yypop_buffer_state ( void );
> ++
> ++static void yyensure_buffer_stack ( void );
> ++static void yy_load_buffer_state ( void );
> ++static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
> ++#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
> ++
> ++YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
> ++YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
> ++YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
> ++
> ++void *yyalloc ( yy_size_t );
> ++void *yyrealloc ( void *, yy_size_t );
> ++void yyfree ( void * );
> +
> + #define yy_new_buffer yy_create_buffer
> +-
> + #define yy_set_interactive(is_interactive) \
> + { \
> + if ( ! YY_CURRENT_BUFFER ){ \
> + yyensure_buffer_stack (); \
> + YY_CURRENT_BUFFER_LVALUE = \
> +- yy_create_buffer(yyin,YY_BUF_SIZE ); \
> ++ yy_create_buffer( yyin, YY_BUF_SIZE ); \
> + } \
> + YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
> + }
> +-
> + #define yy_set_bol(at_bol) \
> + { \
> + if ( ! YY_CURRENT_BUFFER ){\
> + yyensure_buffer_stack (); \
> + YY_CURRENT_BUFFER_LVALUE = \
> +- yy_create_buffer(yyin,YY_BUF_SIZE ); \
> ++ yy_create_buffer( yyin, YY_BUF_SIZE ); \
> + } \
> + YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
> + }
> +-
> + #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
> +
> + /* Begin user sect3 */
> ++typedef flex_uint8_t YY_CHAR;
> +
> +-typedef unsigned char YY_CHAR;
> +-
> +-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
> ++FILE *yyin = NULL, *yyout = NULL;
> +
> + typedef int yy_state_type;
> +
> + extern int yylineno;
> +-
> + int yylineno = 1;
> +
> + extern char *yytext;
> ++#ifdef yytext_ptr
> ++#undef yytext_ptr
> ++#endif
> + #define yytext_ptr yytext
> +
> +-static yy_state_type yy_get_previous_state (void );
> +-static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
> +-static int yy_get_next_buffer (void );
> +-static void yy_fatal_error (yyconst char msg[] );
> ++static yy_state_type yy_get_previous_state ( void );
> ++static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
> ++static int yy_get_next_buffer ( void );
> ++static void yynoreturn yy_fatal_error ( const char* msg );
> +
> + /* Done after the current pattern has been matched and before the
> + * corresponding action - sets up yytext.
> + */
> + #define YY_DO_BEFORE_ACTION \
> + (yytext_ptr) = yy_bp; \
> +- yyleng = (yy_size_t) (yy_cp - yy_bp); \
> ++ yyleng = (int) (yy_cp - yy_bp); \
> + (yy_hold_char) = *yy_cp; \
> + *yy_cp = '\0'; \
> + (yy_c_buf_p) = yy_cp;
> +-
> +-#define YY_NUM_RULES 168
> +-#define YY_END_OF_BUFFER 169
> ++#define YY_NUM_RULES 170
> ++#define YY_END_OF_BUFFER 171
> + /* This struct is not used in this scanner,
> + but its presence is necessary. */
> + struct yy_trans_info
> +@@ -370,147 +361,149 @@ struct yy_trans_info
> + flex_int32_t yy_verify;
> + flex_int32_t yy_nxt;
> + };
> +-static yyconst flex_int16_t yy_accept[1235] =
> ++static const flex_int16_t yy_accept[1261] =
> + { 0,
> + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 169, 167, 106, 109, 167, 167, 167, 167, 167, 111,
> +- 111, 167, 114, 114, 114, 114, 114, 114, 114, 114,
> +- 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
> +- 114, 167, 106, 167, 166, 165, 166, 166, 121, 119,
> +- 121, 108, 114, 114, 114, 114, 114, 114, 114, 114,
> +- 114, 114, 114, 114, 114, 114, 114, 114, 114, 106,
> +- 167, 107, 106, 167, 0, 116, 0, 0, 117, 0,
> +- 111, 0, 115, 112, 115, 118, 110, 112, 0, 112,
> +- 111, 0, 64, 114, 114, 114, 114, 114, 114, 114,
> +-
> +- 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
> +- 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
> +- 114, 114, 114, 114, 114, 65, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 120,
> +- 114, 114, 114, 114, 114, 114, 114, 86, 114, 114,
> +- 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
> +- 114, 0, 0, 0, 0, 0, 0, 112, 83, 115,
> +- 112, 110, 112, 0, 112, 113, 114, 114, 114, 114,
> +- 114, 114, 114, 114, 114, 114, 114, 114, 114, 42,
> +-
> +- 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
> +- 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 16, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 114, 114, 114, 114, 114, 114,
> +- 85, 114, 114, 114, 114, 114, 114, 114, 94, 114,
> +- 114, 114, 114, 114, 0, 0, 112, 55, 114, 114,
> +- 114, 40, 38, 114, 114, 114, 48, 114, 114, 114,
> +- 114, 43, 114, 114, 114, 114, 114, 114, 114, 114,
> +-
> +- 114, 114, 114, 114, 114, 53, 114, 114, 114, 46,
> +- 114, 1, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 157, 11, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 164, 114, 104, 114, 114, 114,
> +- 114, 114, 114, 114, 90, 114, 114, 114, 114, 114,
> +- 97, 114, 114, 12, 114, 114, 114, 114, 114, 114,
> +- 114, 27, 51, 114, 114, 54, 62, 44, 114, 114,
> +- 114, 114, 114, 41, 114, 114, 114, 35, 114, 114,
> +-
> +- 114, 59, 114, 114, 114, 114, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 105, 114, 114, 114, 114, 114, 114, 114, 114, 92,
> +- 114, 114, 114, 114, 114, 114, 114, 37, 114, 114,
> +- 114, 114, 114, 114, 114, 45, 114, 114, 114, 114,
> +- 114, 29, 114, 49, 63, 52, 28, 114, 114, 114,
> +- 114, 114, 0, 0, 0, 0, 0, 0, 0, 0,
> +-
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 114, 114,
> +- 114, 84, 114, 114, 114, 114, 114, 114, 114, 114,
> +- 114, 114, 114, 36, 114, 114, 114, 114, 114, 114,
> +- 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
> +- 31, 114, 32, 114, 56, 114, 47, 39, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +-
> +- 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
> +- 21, 0, 0, 0, 24, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 114,
> +- 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
> +- 114, 103, 34, 114, 114, 114, 114, 114, 114, 114,
> +- 114, 114, 114, 114, 114, 75, 114, 60, 114, 58,
> +- 114, 61, 50, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 3, 0, 0, 0, 122, 0, 0, 0, 0,
> +- 127, 14, 0, 0, 0, 161, 0, 18, 0, 0,
> +- 19, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +-
> +- 0, 0, 0, 0, 0, 162, 0, 0, 0, 0,
> +- 0, 0, 0, 114, 114, 114, 114, 88, 89, 91,
> +- 114, 114, 114, 114, 114, 33, 114, 114, 114, 114,
> +- 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
> +- 57, 30, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 159, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 25,
> +- 0, 26, 137, 0, 0, 134, 0, 0, 0, 114,
> +- 114, 114, 114, 114, 95, 96, 114, 114, 114, 114,
> +-
> +- 114, 69, 68, 114, 114, 114, 72, 114, 114, 74,
> +- 114, 114, 114, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 156,
> +- 13, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 23, 0, 0, 0,
> +- 0, 153, 0, 0, 0, 0, 0, 114, 114, 114,
> +- 114, 114, 114, 114, 76, 114, 114, 114, 71, 67,
> +- 82, 114, 114, 114, 114, 81, 160, 2, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +-
> +- 0, 0, 20, 138, 136, 0, 0, 151, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 114, 114,
> +- 114, 114, 114, 114, 114, 73, 114, 66, 114, 114,
> +- 79, 80, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 158, 0, 0,
> +- 0, 143, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 114, 114,
> +- 114, 114, 114, 114, 114, 114, 77, 78, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 150,
> +-
> +- 0, 0, 0, 0, 0, 0, 0, 155, 0, 0,
> +- 0, 0, 114, 114, 114, 114, 114, 114, 114, 70,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 15,
> +- 0, 0, 0, 0, 0, 139, 152, 0, 0, 0,
> +- 0, 0, 114, 114, 114, 114, 93, 114, 114, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 142, 0, 0,
> +- 0, 0, 0, 129, 0, 0, 0, 0, 114, 101,
> +- 114, 114, 114, 99, 144, 0, 0, 0, 0, 0,
> +-
> +- 4, 0, 0, 0, 0, 0, 8, 9, 0, 0,
> +- 0, 0, 0, 0, 22, 0, 0, 0, 140, 0,
> +- 0, 114, 114, 114, 114, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 10, 0, 0, 133, 0,
> +- 128, 0, 0, 0, 0, 0, 114, 114, 87, 114,
> +- 0, 0, 148, 0, 0, 0, 0, 0, 124, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 114,
> +- 114, 98, 0, 0, 0, 0, 5, 0, 0, 0,
> +- 0, 126, 0, 131, 0, 0, 0, 141, 0, 114,
> +- 114, 149, 146, 0, 145, 123, 0, 0, 0, 0,
> +-
> +- 0, 0, 135, 163, 114, 114, 147, 0, 0, 0,
> +- 154, 0, 0, 114, 114, 125, 0, 0, 0, 130,
> +- 100, 114, 6, 0, 132, 114, 0, 114, 0, 114,
> +- 7, 114, 102, 0
> ++ 171, 169, 108, 111, 169, 169, 169, 169, 169, 113,
> ++ 113, 169, 116, 116, 116, 116, 116, 116, 116, 116,
> ++ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
> ++ 116, 116, 169, 108, 169, 168, 167, 168, 168, 123,
> ++ 121, 123, 110, 116, 116, 116, 116, 116, 116, 116,
> ++ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
> ++ 116, 108, 169, 109, 108, 169, 0, 118, 0, 0,
> ++ 119, 0, 113, 0, 117, 114, 117, 120, 112, 114,
> ++ 0, 114, 113, 0, 64, 116, 116, 116, 116, 116,
> ++
> ++ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
> ++ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
> ++ 116, 116, 116, 116, 116, 116, 116, 116, 65, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 122, 116, 116, 116, 116, 116, 116, 116,
> ++ 87, 116, 116, 116, 116, 116, 116, 116, 116, 116,
> ++ 116, 116, 116, 116, 116, 0, 0, 0, 0, 0,
> ++ 0, 114, 84, 117, 114, 112, 114, 0, 114, 115,
> ++ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
> ++
> ++ 116, 116, 116, 116, 42, 116, 116, 116, 116, 116,
> ++ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
> ++ 116, 116, 116, 116, 116, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 116,
> ++ 116, 116, 116, 116, 116, 86, 116, 116, 116, 116,
> ++ 116, 116, 116, 116, 95, 116, 116, 116, 116, 116,
> ++ 0, 0, 114, 55, 116, 116, 116, 116, 40, 38,
> ++ 116, 116, 116, 48, 116, 116, 116, 116, 43, 116,
> ++
> ++ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
> ++ 116, 116, 53, 116, 116, 116, 46, 116, 1, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 159, 11,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 166, 116, 106, 116, 116, 116, 116, 116, 116,
> ++ 116, 91, 116, 116, 116, 116, 116, 116, 98, 116,
> ++ 116, 12, 116, 116, 116, 116, 116, 116, 116, 116,
> ++ 27, 51, 116, 116, 54, 62, 44, 116, 116, 116,
> ++
> ++ 116, 116, 41, 116, 116, 116, 35, 116, 116, 116,
> ++ 59, 116, 116, 116, 116, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 107,
> ++ 116, 116, 116, 116, 116, 116, 116, 116, 93, 116,
> ++ 116, 116, 116, 116, 116, 116, 116, 116, 37, 116,
> ++ 116, 116, 116, 116, 116, 116, 45, 116, 116, 116,
> ++ 116, 116, 29, 116, 49, 63, 52, 28, 116, 116,
> ++
> ++ 116, 116, 116, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 116,
> ++ 116, 116, 85, 116, 116, 116, 116, 116, 116, 116,
> ++ 116, 116, 116, 116, 116, 116, 36, 116, 116, 116,
> ++ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
> ++ 116, 116, 116, 31, 116, 32, 116, 56, 116, 47,
> ++ 39, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 17, 0, 0, 0, 0,
> ++ 0, 0, 0, 21, 0, 0, 0, 24, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 116, 116, 116, 116, 116, 116, 116, 116,
> ++ 116, 116, 116, 116, 116, 105, 116, 34, 116, 116,
> ++ 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
> ++ 75, 116, 60, 116, 58, 116, 61, 50, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
> ++ 124, 0, 0, 0, 0, 129, 14, 0, 0, 0,
> ++
> ++ 163, 0, 18, 0, 0, 19, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 164, 0, 0, 0, 0, 0, 0, 0, 116, 116,
> ++ 116, 116, 89, 90, 92, 116, 116, 116, 116, 116,
> ++ 116, 116, 33, 116, 116, 116, 116, 116, 116, 116,
> ++ 116, 116, 116, 116, 116, 116, 116, 57, 30, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 161, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 25, 0, 26, 139,
> ++
> ++ 0, 0, 136, 0, 0, 0, 116, 116, 116, 116,
> ++ 116, 116, 96, 97, 116, 116, 82, 116, 116, 116,
> ++ 69, 68, 116, 116, 116, 72, 116, 116, 74, 116,
> ++ 116, 116, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 158, 13,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 23, 0, 0, 0, 0,
> ++ 155, 0, 0, 0, 0, 0, 116, 116, 116, 116,
> ++ 116, 116, 116, 116, 76, 116, 116, 116, 71, 67,
> ++ 83, 116, 116, 116, 116, 81, 162, 2, 0, 0,
> ++
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 20, 140, 138, 0, 0, 153, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 116, 116,
> ++ 116, 116, 116, 116, 116, 116, 73, 116, 66, 116,
> ++ 116, 79, 80, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 160, 0,
> ++ 0, 0, 145, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 116,
> ++ 116, 116, 116, 116, 116, 116, 116, 116, 77, 78,
> ++
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 152, 0, 0, 0, 0, 0, 0, 0, 157,
> ++ 0, 0, 0, 0, 116, 116, 116, 116, 116, 116,
> ++ 116, 116, 70, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 15, 0, 0, 0, 0, 0, 141, 154,
> ++ 0, 0, 0, 0, 0, 116, 116, 116, 116, 116,
> ++ 94, 116, 116, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++
> ++ 0, 144, 0, 0, 0, 0, 0, 131, 0, 0,
> ++ 0, 0, 116, 103, 116, 116, 116, 116, 101, 146,
> ++ 0, 0, 0, 0, 0, 4, 0, 0, 0, 0,
> ++ 0, 8, 9, 0, 0, 0, 0, 0, 0, 22,
> ++ 0, 0, 0, 142, 0, 0, 116, 116, 116, 100,
> ++ 116, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 10, 0, 0, 135, 0, 130, 0, 0, 0,
> ++ 0, 0, 116, 116, 88, 116, 0, 0, 150, 0,
> ++ 0, 0, 0, 0, 126, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 116, 116, 99, 0, 0,
> ++
> ++ 0, 0, 5, 0, 0, 0, 0, 128, 0, 133,
> ++ 0, 0, 0, 143, 0, 116, 116, 151, 148, 0,
> ++ 147, 125, 0, 0, 0, 0, 0, 0, 137, 165,
> ++ 116, 116, 149, 0, 0, 0, 156, 0, 0, 116,
> ++ 116, 127, 0, 0, 0, 132, 102, 116, 6, 0,
> ++ 134, 116, 0, 116, 0, 116, 7, 116, 104, 0
> + } ;
> +
> +-static yyconst flex_int32_t yy_ec[256] =
> ++static const YY_CHAR yy_ec[256] =
> + { 0,
> + 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
> + 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
> +@@ -542,7 +535,7 @@ static yyconst flex_int32_t yy_ec[256] =
> + 1, 1, 1, 1, 1
> + } ;
> +
> +-static yyconst flex_int32_t yy_meta[71] =
> ++static const YY_CHAR yy_meta[71] =
> + { 0,
> + 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
> + 1, 3, 3, 3, 4, 4, 1, 4, 4, 4,
> +@@ -553,614 +546,629 @@ static yyconst flex_int32_t yy_meta[71]
> + 3, 3, 3, 3, 3, 3, 3, 3, 3, 1
> + } ;
> +
> +-static yyconst flex_int16_t yy_base[1243] =
> ++static const flex_int16_t yy_base[1269] =
> + { 0,
> +- 0, 69, 2841, 70, 71, 74, 76, 76, 2835, 81,
> +- 2842, 2845, 2845, 2845, 74, 83, 78, 88, 78, 129,
> +- 2774, 2823, 83, 95, 98, 103, 107, 135, 141, 147,
> +- 156, 150, 159, 163, 169, 185, 203, 208, 212, 218,
> +- 223, 2769, 144, 260, 2845, 2845, 172, 2816, 2845, 2845,
> +- 2823, 2845, 227, 230, 238, 288, 292, 299, 296, 303,
> +- 306, 311, 241, 314, 317, 323, 350, 326, 369, 184,
> +- 2814, 2845, 201, 2813, 121, 2845, 2831, 216, 2845, 90,
> +- 2766, 175, 250, 375, 192, 2845, 0, 379, 394, 2845,
> +- 2845, 0, 2845, 336, 402, 408, 420, 423, 426, 429,
> +-
> +- 433, 436, 442, 445, 448, 451, 454, 457, 464, 467,
> +- 471, 474, 480, 483, 489, 498, 502, 505, 517, 522,
> +- 525, 531, 537, 540, 547, 2845, 232, 0, 321, 2806,
> +- 154, 64, 134, 253, 225, 2777, 489, 2776, 518, 2769,
> +- 511, 2782, 2777, 179, 2768, 2771, 366, 2802, 2765, 2845,
> +- 561, 567, 570, 576, 583, 589, 592, 595, 598, 601,
> +- 606, 610, 615, 623, 626, 629, 632, 639, 635, 644,
> +- 648, 390, 2800, 2754, 406, 2798, 207, 648, 366, 665,
> +- 511, 0, 688, 141, 670, 0, 661, 693, 675, 700,
> +- 703, 711, 714, 718, 721, 728, 731, 734, 737, 740,
> +-
> +- 745, 748, 754, 757, 773, 776, 782, 787, 790, 793,
> +- 796, 799, 804, 807, 811, 815, 821, 825, 834, 838,
> +- 2793, 2770, 2754, 297, 2757, 717, 2764, 2766, 2764, 794,
> +- 2766, 2753, 191, 2747, 2760, 2845, 2748, 345, 2759, 311,
> +- 2743, 2756, 2741, 2755, 34, 2740, 439, 2747, 2737, 2742,
> +- 2738, 2743, 2735, 2746, 855, 858, 864, 867, 873, 877,
> +- 880, 883, 886, 889, 892, 898, 901, 908, 912, 915,
> +- 918, 931, 934, 923, 2745, 941, 946, 951, 958, 962,
> +- 974, 977, 986, 989, 992, 1000, 1003, 1006, 1009, 1012,
> +- 1015, 1018, 1021, 1024, 1027, 1030, 1033, 1036, 1040, 1049,
> +-
> +- 1052, 1062, 1079, 1083, 1088, 1091, 1094, 1097, 1105, 1108,
> +- 1111, 2845, 2743, 2733, 2741, 2740, 2740, 2728, 362, 2719,
> +- 2740, 2723, 2845, 2734, 2724, 2721, 2718, 2734, 2723, 2717,
> +- 2757, 2726, 2716, 2718, 2710, 2709, 2721, 2720, 2709, 2715,
> +- 2703, 2712, 2710, 2701, 2711, 2699, 1051, 2701, 2698, 2739,
> +- 2708, 2707, 2693, 2692, 2845, 1116, 1119, 1122, 1128, 1132,
> +- 1138, 1143, 1146, 1149, 1162, 1166, 1173, 1176, 1180, 1185,
> +- 1191, 1199, 1202, 2845, 1205, 1209, 1219, 1215, 1230, 1225,
> +- 1239, 1246, 1257, 1260, 1264, 1267, 1270, 1273, 1276, 1279,
> +- 1282, 1285, 1289, 1292, 1295, 1301, 1304, 1307, 1310, 1313,
> +-
> +- 1316, 1326, 1334, 1340, 1343, 1347, 2692, 2720, 2689, 2695,
> +- 2686, 2690, 2689, 2697, 2692, 2681, 2681, 2683, 2681, 2695,
> +- 2676, 2683, 2688, 2691, 2677, 2704, 2673, 2669, 2678, 2685,
> +- 2672, 2678, 2678, 2668, 2670, 2666, 2668, 2672, 2668, 2695,
> +- 2662, 2669, 2650, 2667, 2666, 2656, 2658, 546, 536, 2649,
> +- 1351, 1356, 1359, 1366, 1369, 1373, 1381, 1387, 1392, 1395,
> +- 1398, 1401, 1404, 1411, 1416, 1423, 1426, 1429, 1433, 1442,
> +- 1439, 1471, 1474, 1477, 1480, 1483, 1487, 1498, 1501, 1504,
> +- 1507, 1510, 1513, 1516, 1519, 1522, 1525, 1533, 1536, 1539,
> +- 1543, 1549, 2650, 2643, 1545, 2660, 2653, 2646, 2651, 2645,
> +-
> +- 2647, 2648, 2642, 2639, 2638, 2652, 2638, 2644, 2651, 2631,
> +- 2646, 2648, 2630, 2643, 2645, 2632, 2627, 2634, 2638, 2637,
> +- 2635, 2626, 2633, 2623, 2623, 2622, 2625, 2615, 2614, 2615,
> +- 2655, 2625, 2619, 2613, 363, 2612, 2611, 2623, 1554, 1559,
> +- 1564, 1570, 1579, 1588, 1591, 1597, 1601, 1604, 1607, 1612,
> +- 1617, 1620, 1623, 1635, 1643, 1646, 1649, 1657, 1663, 1668,
> +- 1678, 1681, 1684, 1687, 1690, 1696, 1700, 1703, 1712, 1715,
> +- 1718, 1722, 1725, 1728, 1732, 1735, 1738, 1741, 2648, 2636,
> +- 2602, 2612, 2614, 2613, 2601, 2615, 2610, 2605, 2604, 2594,
> +- 2604, 2592, 2600, 2599, 2602, 2588, 2600, 2587, 2587, 2597,
> +-
> +- 2596, 2588, 2845, 2594, 2587, 2594, 2591, 2584, 2602, 2618,
> +- 567, 2591, 2616, 2574, 2845, 2580, 2570, 2579, 2578, 2567,
> +- 2570, 2578, 2569, 2577, 2579, 2566, 2574, 2560, 2565, 1744,
> +- 1749, 1755, 1767, 1761, 1773, 1776, 1779, 1782, 1785, 1789,
> +- 1801, 1804, 1808, 1812, 1815, 1833, 1836, 1845, 1851, 1854,
> +- 1857, 1860, 1863, 1870, 1874, 1882, 1886, 1889, 1892, 1897,
> +- 1900, 1903, 1906, 2561, 2573, 2565, 2547, 2546, 2539, 2536,
> +- 2527, 2845, 2525, 2538, 593, 2845, 1313, 2528, 2526, 2535,
> +- 2845, 2845, 2537, 2562, 2520, 2845, 2530, 2845, 2525, 2528,
> +- 2845, 2527, 2506, 2514, 2513, 2521, 2514, 2510, 2511, 2503,
> +-
> +- 2511, 2505, 2504, 2493, 2511, 2845, 2509, 2508, 2508, 2493,
> +- 2505, 2491, 680, 1909, 1912, 1916, 1919, 1922, 1925, 1931,
> +- 1934, 1938, 1944, 1954, 1957, 1960, 1963, 1966, 1969, 1973,
> +- 1978, 1987, 1993, 2004, 2009, 2012, 2015, 2022, 2025, 2028,
> +- 2035, 2040, 2504, 2494, 2492, 2480, 2487, 2515, 2465, 2466,
> +- 2465, 2458, 2438, 2439, 2388, 2388, 2393, 2377, 2387, 2379,
> +- 837, 2373, 2373, 2368, 2367, 2362, 2399, 2845, 2334, 2340,
> +- 2338, 2340, 2336, 2311, 2297, 2291, 2297, 2293, 2268, 2845,
> +- 2268, 2845, 2845, 2259, 2286, 2845, 2277, 2255, 2239, 2043,
> +- 2049, 2052, 2055, 2058, 2062, 2065, 2068, 2071, 2077, 2080,
> +-
> +- 2083, 2086, 2095, 2099, 2110, 2113, 2116, 2124, 2127, 2130,
> +- 2137, 2140, 2143, 2245, 2243, 2242, 2241, 2233, 2188, 2196,
> +- 2225, 2213, 2163, 2166, 231, 2175, 2174, 2157, 2145, 2845,
> +- 2845, 2145, 2152, 2123, 2136, 2127, 2118, 2107, 2119, 2087,
> +- 2095, 2084, 2083, 2082, 2062, 2067, 2845, 2069, 2049, 2083,
> +- 2067, 2845, 2025, 2000, 2000, 673, 1989, 2146, 2150, 2158,
> +- 2161, 2165, 2169, 2172, 2175, 2180, 2184, 2187, 2195, 2198,
> +- 2204, 2216, 2219, 2222, 2225, 2228, 2845, 2845, 1983, 1979,
> +- 1966, 1955, 1995, 1948, 1949, 1953, 1945, 1933, 1928, 1932,
> +- 1934, 1918, 1913, 1913, 1914, 1894, 1894, 1891, 1920, 1861,
> +-
> +- 1828, 1840, 2845, 2845, 2845, 1829, 1813, 2845, 1804, 1800,
> +- 1793, 1792, 1820, 1790, 1789, 1780, 1786, 1774, 2237, 2242,
> +- 2245, 2250, 2253, 2256, 2259, 2262, 2265, 2268, 2271, 2274,
> +- 2277, 2285, 1811, 1779, 1768, 1752, 1744, 1756, 1756, 1755,
> +- 1746, 1735, 1717, 1708, 1721, 1702, 1703, 2845, 1710, 1672,
> +- 1662, 2845, 1659, 1657, 1634, 1636, 1624, 1617, 1618, 1604,
> +- 1616, 1605, 1592, 1600, 1589, 1624, 1589, 1578, 2299, 2303,
> +- 2308, 2311, 2315, 2318, 2321, 2324, 2327, 2335, 1579, 1571,
> +- 1556, 1543, 1547, 1546, 1531, 1564, 1522, 1568, 1536, 1518,
> +- 1520, 1501, 1496, 1508, 1518, 1522, 1491, 1458, 1448, 2845,
> +-
> +- 1485, 1440, 1440, 1435, 1430, 1427, 1427, 2845, 1409, 1410,
> +- 1418, 1441, 2338, 2341, 2344, 2352, 2357, 2362, 2365, 2368,
> +- 1411, 1409, 1383, 1411, 1375, 1370, 1363, 1344, 1337, 1340,
> +- 1371, 1336, 1330, 1317, 1307, 1313, 1312, 1285, 1291, 2845,
> +- 1274, 1272, 1262, 1254, 1204, 2845, 2845, 1214, 1214, 1212,
> +- 1193, 1203, 2371, 2379, 2384, 2387, 2391, 2398, 2394, 1198,
> +- 1174, 1159, 1150, 1158, 1145, 1151, 1151, 1145, 1145, 1123,
> +- 1123, 1125, 1121, 1110, 1148, 1109, 1116, 2845, 1144, 1104,
> +- 1098, 1084, 1084, 2845, 1087, 1076, 1095, 78, 2401, 2404,
> +- 2409, 2414, 2421, 2438, 2845, 175, 207, 199, 199, 268,
> +-
> +- 2845, 250, 302, 271, 294, 307, 2845, 2845, 310, 392,
> +- 389, 423, 415, 440, 2845, 445, 448, 488, 2845, 467,
> +- 483, 2441, 2444, 2447, 2450, 496, 517, 541, 579, 562,
> +- 569, 574, 606, 619, 756, 2845, 633, 671, 2845, 648,
> +- 2845, 649, 660, 678, 706, 707, 2453, 2456, 2459, 2462,
> +- 723, 732, 2845, 723, 742, 764, 777, 810, 2845, 772,
> +- 787, 794, 790, 803, 797, 840, 824, 832, 857, 2467,
> +- 2470, 2473, 866, 868, 884, 890, 2845, 891, 891, 893,
> +- 907, 2845, 917, 2845, 957, 919, 930, 2845, 922, 2480,
> +- 2476, 2845, 2845, 934, 2845, 2845, 944, 938, 938, 961,
> +-
> +- 998, 1009, 2845, 2845, 2483, 2489, 2845, 1017, 1023, 1025,
> +- 2845, 1023, 1029, 2494, 2498, 2845, 1019, 1022, 1038, 2845,
> +- 2506, 2509, 2845, 1025, 2845, 2513, 1037, 2519, 1062, 2526,
> +- 2845, 2533, 2536, 2845, 2594, 2598, 2602, 2606, 2608, 2610,
> +- 2614, 1109
> ++ 0, 69, 2946, 70, 71, 74, 76, 76, 2940, 81,
> ++ 2947, 2950, 2950, 2950, 74, 83, 78, 88, 78, 129,
> ++ 2879, 2928, 83, 95, 98, 102, 136, 141, 151, 147,
> ++ 156, 159, 162, 169, 175, 178, 185, 189, 204, 212,
> ++ 217, 220, 2874, 115, 259, 2950, 2950, 117, 2921, 2950,
> ++ 2950, 2928, 2950, 223, 246, 249, 287, 261, 296, 301,
> ++ 290, 304, 310, 313, 316, 322, 348, 353, 358, 366,
> ++ 375, 206, 2919, 2950, 238, 2918, 151, 2950, 2936, 244,
> ++ 2950, 90, 2871, 172, 361, 421, 197, 2950, 0, 398,
> ++ 380, 2950, 2950, 0, 2950, 387, 418, 428, 438, 442,
> ++
> ++ 445, 448, 451, 454, 464, 467, 470, 473, 476, 479,
> ++ 486, 489, 493, 496, 501, 504, 507, 510, 513, 523,
> ++ 528, 531, 540, 545, 551, 561, 564, 568, 2950, 284,
> ++ 0, 273, 2911, 189, 70, 183, 291, 299, 2882, 388,
> ++ 2881, 335, 2874, 532, 2887, 2882, 89, 2873, 2876, 351,
> ++ 2907, 2870, 2950, 582, 585, 588, 594, 597, 602, 611,
> ++ 614, 617, 620, 623, 627, 633, 639, 642, 645, 648,
> ++ 652, 655, 663, 667, 677, 391, 2905, 2859, 416, 2903,
> ++ 197, 677, 370, 694, 390, 0, 703, 162, 699, 0,
> ++ 717, 720, 723, 727, 730, 743, 746, 749, 752, 755,
> ++
> ++ 761, 764, 767, 775, 771, 778, 781, 784, 788, 793,
> ++ 802, 806, 810, 815, 820, 823, 826, 829, 834, 837,
> ++ 847, 850, 857, 860, 864, 2898, 2875, 2859, 232, 2862,
> ++ 510, 2869, 2871, 2869, 284, 2871, 2858, 202, 2852, 2865,
> ++ 2950, 2853, 834, 2864, 303, 2848, 2861, 2846, 2860, 34,
> ++ 2845, 489, 2852, 2842, 2847, 2843, 2848, 2840, 2851, 867,
> ++ 886, 889, 893, 899, 902, 905, 909, 912, 918, 926,
> ++ 929, 934, 938, 942, 948, 953, 957, 960, 967, 973,
> ++ 2850, 976, 981, 1001, 1004, 1007, 1010, 1015, 1024, 1027,
> ++ 1031, 1040, 1043, 1046, 1050, 1055, 1058, 1061, 1064, 1067,
> ++
> ++ 1070, 1073, 1076, 1082, 1088, 1094, 1097, 1108, 1118, 1121,
> ++ 1125, 1133, 1136, 1140, 1143, 1146, 1149, 1152, 2950, 2848,
> ++ 2838, 2846, 2845, 2845, 2833, 525, 2824, 2845, 2828, 2950,
> ++ 2839, 2829, 2826, 2823, 2839, 2828, 2822, 2862, 2831, 2821,
> ++ 2823, 2815, 2814, 2826, 2825, 2814, 2820, 2808, 2817, 2815,
> ++ 2806, 2816, 2804, 668, 2806, 2803, 2844, 2813, 2812, 2798,
> ++ 2797, 2950, 1161, 1164, 1170, 1173, 1178, 1184, 1188, 1191,
> ++ 1194, 1202, 1207, 1210, 1213, 1220, 1223, 1226, 1231, 1236,
> ++ 1244, 2950, 1247, 1264, 1277, 1290, 1293, 1296, 1299, 1303,
> ++ 1306, 1310, 1313, 1324, 1329, 1332, 1335, 1338, 1341, 1344,
> ++
> ++ 1347, 1352, 1355, 1361, 1364, 1367, 1370, 1373, 1376, 1379,
> ++ 1389, 1396, 1402, 1406, 1410, 2797, 2825, 2794, 2800, 2791,
> ++ 2795, 2794, 2802, 2797, 2786, 2786, 2788, 2786, 2800, 2781,
> ++ 2788, 2793, 2796, 2782, 2809, 2778, 2774, 2783, 2790, 2777,
> ++ 2783, 2783, 2773, 2775, 2771, 2773, 2777, 2773, 2800, 2767,
> ++ 2774, 2755, 2772, 2771, 2761, 2763, 385, 233, 2754, 1414,
> ++ 1419, 1422, 1429, 1435, 1444, 1449, 1454, 1457, 1460, 1463,
> ++ 1468, 1474, 1477, 1480, 1488, 1494, 1497, 1507, 1500, 1510,
> ++ 1514, 1535, 1543, 1546, 1549, 1559, 1555, 1564, 1570, 1574,
> ++ 1577, 1580, 1583, 1586, 1589, 1592, 1595, 1598, 1601, 1607,
> ++
> ++ 1610, 1616, 1622, 2755, 2748, 1606, 2765, 2758, 2751, 2756,
> ++ 2750, 2752, 2753, 2747, 2744, 2743, 2757, 2743, 2749, 2756,
> ++ 2736, 2751, 2753, 2735, 2748, 2750, 2737, 2732, 2739, 2743,
> ++ 2742, 2740, 2731, 2738, 2728, 2728, 2727, 2730, 2720, 2719,
> ++ 2720, 2760, 2730, 2724, 2718, 373, 2717, 2716, 2728, 1625,
> ++ 1637, 1640, 1643, 1649, 1653, 1656, 1661, 1664, 1668, 1674,
> ++ 1677, 1680, 1683, 1696, 1702, 1705, 1708, 1712, 1715, 1723,
> ++ 1730, 1733, 1748, 1737, 1751, 1756, 1759, 1763, 1767, 1772,
> ++ 1778, 1783, 1786, 1789, 1793, 1796, 1799, 1804, 1807, 1810,
> ++ 1813, 2753, 2741, 2707, 2717, 2719, 2718, 2706, 2720, 2715,
> ++
> ++ 2710, 2709, 2699, 2709, 2697, 2705, 2704, 2707, 2693, 2705,
> ++ 2692, 2692, 2702, 2701, 2693, 2950, 2699, 2692, 2699, 2696,
> ++ 2689, 2707, 2723, 536, 2696, 2721, 2679, 2950, 2685, 2675,
> ++ 2682, 2659, 2648, 2651, 2659, 2650, 2658, 2660, 2647, 2655,
> ++ 2641, 2646, 1816, 1820, 1823, 1826, 1832, 1838, 1841, 1845,
> ++ 1848, 1851, 1860, 1863, 1871, 1877, 1886, 1880, 1889, 1896,
> ++ 1893, 1901, 1916, 1920, 1923, 1926, 1929, 1932, 1943, 1951,
> ++ 1954, 1959, 1962, 1965, 1970, 1973, 1976, 1979, 2641, 2652,
> ++ 2646, 2650, 2649, 2642, 2639, 2630, 2950, 2627, 2640, 566,
> ++ 2950, 1158, 2630, 2628, 2637, 2950, 2950, 2638, 2663, 2621,
> ++
> ++ 2950, 2630, 2950, 2625, 2628, 2950, 2627, 2608, 2616, 2612,
> ++ 2620, 2598, 2594, 2594, 2559, 2567, 2557, 2555, 2532, 2550,
> ++ 2950, 2547, 2546, 2545, 2529, 2541, 2507, 395, 1982, 1988,
> ++ 1991, 1994, 1997, 2000, 2004, 2007, 2011, 2014, 2021, 2029,
> ++ 2032, 2035, 2041, 2044, 2054, 2058, 2066, 2070, 2077, 2080,
> ++ 2092, 2096, 2099, 2102, 2110, 2113, 2116, 2061, 2123, 2520,
> ++ 2476, 2477, 2463, 2470, 2491, 2437, 2449, 2447, 2446, 2429,
> ++ 2430, 2416, 2416, 2422, 2404, 2415, 2390, 957, 2384, 2386,
> ++ 2357, 2349, 2347, 2387, 2950, 2334, 2344, 2342, 2338, 2335,
> ++ 2304, 2282, 2277, 2283, 2268, 2250, 2950, 2246, 2950, 2950,
> ++
> ++ 2244, 2273, 2950, 2253, 2222, 2206, 2128, 2131, 2136, 2139,
> ++ 2142, 2145, 2150, 2153, 2156, 2162, 2165, 2170, 2173, 2184,
> ++ 2196, 2201, 2204, 2207, 2213, 2218, 2224, 2227, 2230, 2237,
> ++ 2240, 2243, 2215, 2196, 2195, 2215, 2214, 2169, 2173, 2203,
> ++ 2181, 2141, 2144, 433, 2153, 2151, 2131, 2133, 2950, 2950,
> ++ 2130, 2138, 2113, 2126, 2123, 2121, 2100, 2100, 2079, 2082,
> ++ 2081, 2070, 2068, 2044, 2051, 2950, 2051, 2040, 2068, 2065,
> ++ 2950, 2008, 2006, 2005, 275, 2001, 2246, 2250, 2258, 2261,
> ++ 2264, 2269, 2272, 2275, 2278, 2285, 2288, 2291, 2298, 2302,
> ++ 2309, 2313, 2320, 2323, 2326, 2329, 2950, 2950, 1999, 1995,
> ++
> ++ 1987, 1986, 2020, 1973, 1977, 1981, 1972, 1934, 1929, 1918,
> ++ 1902, 1914, 1908, 1905, 1905, 1890, 1889, 1876, 1904, 1877,
> ++ 1857, 1862, 2950, 2950, 2950, 1846, 1839, 2950, 1830, 1827,
> ++ 1820, 1811, 1849, 1818, 1818, 1792, 1794, 1755, 2335, 2338,
> ++ 2343, 2346, 2351, 2354, 2357, 2360, 2363, 2366, 2369, 2373,
> ++ 2376, 2384, 2388, 1768, 1736, 1731, 1716, 1694, 1706, 1706,
> ++ 1690, 1694, 1683, 1652, 1648, 1655, 1639, 1639, 2950, 1650,
> ++ 1634, 1625, 2950, 1612, 1611, 1593, 1595, 1583, 1584, 1578,
> ++ 1569, 1568, 1531, 1520, 1524, 1509, 1544, 1492, 1483, 2401,
> ++ 2404, 2409, 2412, 2415, 2418, 2421, 2424, 2427, 2430, 2438,
> ++
> ++ 1480, 1487, 1481, 1468, 1478, 1453, 1439, 1469, 1429, 1476,
> ++ 1433, 1418, 1424, 1396, 1396, 1404, 1428, 1431, 1401, 1395,
> ++ 1385, 2950, 1420, 1374, 1375, 1383, 1362, 1361, 1357, 2950,
> ++ 1341, 1340, 1347, 1371, 2441, 2444, 2447, 2451, 2465, 2468,
> ++ 2471, 2474, 2482, 1345, 1321, 1320, 1342, 1283, 1283, 1275,
> ++ 1271, 1240, 1243, 1277, 1242, 1236, 1233, 1219, 1225, 1230,
> ++ 1224, 1231, 2950, 1221, 1215, 1223, 1224, 1205, 2950, 2950,
> ++ 1217, 1216, 1214, 1201, 1208, 2490, 2493, 2496, 2500, 2504,
> ++ 2509, 2513, 2518, 1203, 1190, 1185, 1182, 1179, 1167, 1167,
> ++ 1163, 1159, 1147, 1112, 1110, 1115, 1093, 1081, 1108, 1069,
> ++
> ++ 1076, 2950, 1103, 1069, 1067, 1052, 1059, 2950, 1062, 1048,
> ++ 1077, 68, 2523, 2526, 2529, 2532, 2535, 2541, 2548, 2950,
> ++ 126, 174, 178, 226, 273, 2950, 248, 348, 376, 404,
> ++ 443, 2950, 2950, 446, 452, 469, 483, 512, 533, 2950,
> ++ 558, 558, 599, 2950, 561, 593, 2551, 2554, 2561, 2564,
> ++ 2567, 584, 611, 622, 653, 623, 630, 636, 635, 653,
> ++ 684, 2950, 664, 696, 2950, 675, 2950, 686, 689, 689,
> ++ 702, 714, 2570, 2573, 2576, 2590, 722, 754, 2950, 750,
> ++ 761, 775, 795, 832, 2950, 795, 801, 807, 807, 825,
> ++ 826, 865, 842, 842, 844, 2593, 2596, 2599, 845, 858,
> ++
> ++ 878, 878, 2950, 883, 876, 876, 892, 2950, 904, 2950,
> ++ 937, 899, 913, 2950, 916, 2606, 2612, 2950, 2950, 939,
> ++ 2950, 2950, 949, 942, 944, 953, 946, 957, 2950, 2950,
> ++ 2615, 2619, 2950, 958, 963, 979, 2950, 977, 980, 2623,
> ++ 2626, 2950, 971, 983, 997, 2950, 2629, 2633, 2950, 997,
> ++ 2950, 2636, 1004, 2645, 1041, 2649, 2950, 2652, 2655, 2950,
> ++ 2713, 2717, 2721, 2725, 2727, 2729, 2733, 1088
> + } ;
> +
> +-static yyconst flex_int16_t yy_def[1243] =
> ++static const flex_int16_t yy_def[1269] =
> + { 0,
> +- 1234, 1, 1235, 1235, 1236, 1236, 1, 7, 1, 1,
> +- 1234, 1234, 1234, 1234, 1237, 1238, 1234, 1239, 1234, 1234,
> +- 20, 1234, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1234,
> +- 44, 1234, 1234, 44, 1237, 1234, 1237, 1238, 1234, 1234,
> +- 20, 1239, 1239, 1239, 1239, 1234, 1241, 1234, 1234, 1234,
> +- 1234, 1242, 1234, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +-
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1234, 1234, 44, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1234, 44, 1234, 1234, 44, 1234, 1234, 1239, 1239,
> +- 1239, 1241, 1234, 1234, 1234, 1242, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +-
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1234, 1239, 1239, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +-
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1234, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +-
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +-
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +-
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +-
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +-
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +-
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +-
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1240,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1240, 1240, 1240, 1240, 1240, 1240, 1240, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240,
> +- 1240, 1240, 1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234,
> +-
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1240, 1240, 1240, 1240, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1240, 1240, 1240, 1240,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240,
> +- 1240, 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1240,
> +- 1240, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +-
> +- 1234, 1234, 1234, 1234, 1240, 1240, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1240, 1240, 1234, 1234, 1234, 1234, 1234,
> +- 1240, 1240, 1234, 1234, 1234, 1240, 1234, 1240, 1234, 1240,
> +- 1234, 1240, 1240, 0, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234
> ++ 1260, 1, 1261, 1261, 1262, 1262, 1, 7, 1, 1,
> ++ 1260, 1260, 1260, 1260, 1263, 1264, 1260, 1265, 1260, 1260,
> ++ 20, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1260, 45, 1260, 1260, 45, 1263, 1260, 1263, 1264,
> ++ 1260, 1260, 20, 1265, 1265, 1265, 1265, 1260, 1267, 1260,
> ++ 1260, 1260, 1260, 1268, 1260, 1266, 1266, 1266, 1266, 1266,
> ++
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1260, 1260,
> ++ 45, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1260, 45, 1260, 1260, 45,
> ++ 1260, 1260, 1265, 1265, 1265, 1267, 1260, 1260, 1260, 1268,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1260, 1265, 1265, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++
> ++ 1266, 1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1260, 1260, 1260, 1260,
> ++
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266,
> ++ 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
> ++
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1266, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1266, 1266, 1266, 1266, 1266,
> ++ 1266, 1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1266, 1266, 1266, 1266,
> ++ 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1266, 1266, 1266, 1266, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1266, 1266, 1266, 1260, 1260,
> ++
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1266, 1266, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1266, 1266, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1266,
> ++ 1266, 1260, 1260, 1260, 1260, 1260, 1266, 1266, 1260, 1260,
> ++ 1260, 1266, 1260, 1266, 1260, 1266, 1260, 1266, 1266, 0,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260
> + } ;
> +
> +-static yyconst flex_int16_t yy_nxt[2916] =
> ++static const flex_int16_t yy_nxt[3021] =
> + { 0,
> + 12, 13, 14, 13, 15, 12, 16, 12, 12, 12,
> + 12, 17, 18, 19, 20, 21, 22, 23, 23, 23,
> + 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
> +- 24, 23, 23, 25, 23, 26, 23, 23, 23, 23,
> +- 23, 23, 23, 12, 23, 23, 27, 28, 29, 30,
> +- 31, 23, 23, 32, 23, 33, 23, 34, 35, 36,
> +- 23, 37, 38, 39, 40, 41, 23, 23, 23, 42,
> +- 43, 47, 46, 50, 44, 48, 50, 70, 76, 344,
> +- 51, 71, 73, 51, 52, 79, 74, 86, 72, 79,
> +- 80, 87, 81, 81, 82, 85, 82, 345, 53, 82,
> +-
> +- 83, 82, 84, 84, 178, 178, 82, 85, 82, 82,
> +- 85, 82, 54, 227, 82, 85, 82, 77, 82, 85,
> +- 82, 55, 228, 56, 57, 76, 58, 59, 97, 60,
> +- 61, 62, 95, 63, 64, 1121, 65, 66, 67, 68,
> +- 69, 88, 96, 81, 81, 127, 82, 85, 82, 128,
> +- 89, 90, 82, 85, 82, 185, 185, 91, 82, 85,
> +- 82, 82, 85, 82, 77, 98, 91, 82, 85, 82,
> +- 82, 85, 82, 147, 82, 85, 82, 148, 89, 90,
> +- 82, 85, 82, 225, 91, 172, 82, 99, 82, 173,
> +- 100, 229, 91, 101, 1126, 92, 82, 85, 82, 102,
> +-
> +- 230, 105, 175, 82, 103, 82, 176, 108, 110, 106,
> +- 329, 107, 226, 104, 82, 85, 82, 109, 79, 82,
> +- 85, 82, 79, 82, 85, 82, 1127, 330, 111, 82,
> +- 85, 82, 250, 127, 82, 85, 82, 128, 82, 85,
> +- 82, 82, 85, 82, 233, 112, 251, 1128, 113, 82,
> +- 85, 82, 82, 85, 82, 114, 115, 118, 116, 1129,
> +- 119, 82, 179, 82, 275, 117, 888, 889, 120, 122,
> +- 125, 123, 151, 230, 234, 121, 124, 129, 130, 131,
> +- 132, 133, 134, 135, 136, 137, 162, 1130, 138, 139,
> +- 152, 140, 141, 153, 142, 143, 144, 145, 146, 82,
> +-
> +- 85, 82, 231, 82, 85, 82, 232, 82, 85, 82,
> +- 82, 85, 82, 1131, 82, 85, 82, 82, 85, 82,
> +- 315, 1132, 82, 85, 82, 82, 85, 82, 82, 85,
> +- 82, 316, 1133, 154, 82, 85, 82, 82, 85, 82,
> +- 99, 155, 1134, 100, 105, 157, 101, 82, 85, 82,
> +- 102, 158, 106, 221, 107, 159, 160, 156, 1135, 1136,
> +- 108, 82, 85, 82, 161, 338, 165, 147, 222, 109,
> +- 339, 148, 166, 163, 164, 114, 167, 82, 116, 82,
> +- 82, 85, 82, 122, 223, 117, 82, 170, 82, 84,
> +- 84, 172, 334, 183, 183, 173, 180, 181, 335, 118,
> +-
> +- 89, 90, 119, 168, 184, 184, 336, 175, 185, 185,
> +- 120, 176, 625, 82, 85, 82, 626, 169, 171, 82,
> +- 85, 82, 123, 413, 180, 181, 414, 124, 89, 90,
> +- 187, 82, 85, 82, 82, 85, 82, 82, 85, 82,
> +- 82, 85, 82, 188, 82, 85, 82, 82, 85, 82,
> +- 1137, 1138, 189, 82, 85, 82, 82, 85, 82, 82,
> +- 85, 82, 82, 85, 82, 82, 85, 82, 82, 85,
> +- 82, 191, 1139, 1140, 192, 82, 85, 82, 82, 85,
> +- 82, 190, 82, 85, 82, 82, 85, 82, 347, 1141,
> +- 193, 82, 85, 82, 82, 85, 82, 348, 1142, 194,
> +-
> +- 82, 85, 82, 197, 196, 195, 1143, 1144, 198, 82,
> +- 85, 82, 199, 82, 85, 82, 82, 85, 82, 200,
> +- 203, 201, 82, 202, 82, 1145, 206, 204, 82, 85,
> +- 82, 1146, 205, 82, 85, 82, 82, 85, 82, 236,
> +- 208, 207, 82, 85, 82, 237, 238, 211, 82, 85,
> +- 82, 82, 85, 82, 1151, 536, 210, 209, 82, 85,
> +- 82, 213, 212, 240, 244, 534, 245, 241, 537, 246,
> +- 535, 247, 82, 85, 82, 1152, 242, 214, 82, 85,
> +- 82, 82, 85, 82, 216, 215, 695, 82, 85, 82,
> +- 1153, 696, 217, 219, 82, 85, 82, 218, 1154, 220,
> +-
> +- 82, 85, 82, 82, 85, 82, 82, 85, 82, 82,
> +- 85, 82, 82, 85, 82, 753, 255, 82, 85, 82,
> +- 1155, 82, 85, 82, 1156, 257, 82, 85, 82, 754,
> +- 256, 258, 1157, 259, 82, 85, 82, 82, 85, 82,
> +- 82, 85, 82, 82, 85, 82, 82, 85, 82, 260,
> +- 82, 85, 82, 264, 261, 82, 85, 82, 263, 82,
> +- 85, 82, 178, 178, 203, 262, 265, 1158, 1159, 89,
> +- 90, 267, 82, 85, 82, 184, 276, 266, 82, 277,
> +- 277, 1162, 268, 270, 185, 185, 82, 85, 82, 278,
> +- 1163, 269, 90, 273, 272, 271, 1164, 89, 90, 788,
> +-
> +- 209, 789, 183, 183, 82, 85, 82, 1165, 274, 89,
> +- 90, 82, 85, 82, 82, 85, 82, 1166, 279, 281,
> +- 90, 280, 82, 85, 82, 82, 85, 82, 916, 82,
> +- 85, 82, 82, 85, 82, 917, 1167, 89, 90, 82,
> +- 85, 82, 82, 85, 82, 82, 85, 82, 82, 85,
> +- 82, 82, 85, 82, 1168, 282, 82, 85, 82, 82,
> +- 85, 82, 1169, 283, 286, 82, 85, 82, 82, 85,
> +- 82, 1173, 284, 318, 319, 285, 320, 287, 1160, 290,
> +- 1174, 1175, 291, 288, 82, 85, 82, 82, 85, 82,
> +- 1176, 1161, 289, 82, 85, 82, 292, 293, 82, 85,
> +-
> +- 82, 82, 85, 82, 82, 85, 82, 82, 85, 82,
> +- 82, 85, 82, 1177, 294, 82, 85, 82, 82, 85,
> +- 82, 295, 82, 85, 82, 1178, 82, 85, 82, 1179,
> +- 1180, 297, 82, 85, 82, 296, 82, 85, 82, 300,
> +- 1181, 324, 298, 1182, 299, 82, 85, 82, 1183, 82,
> +- 85, 82, 1184, 325, 1185, 301, 326, 832, 302, 1186,
> +- 306, 833, 303, 304, 307, 305, 82, 85, 82, 82,
> +- 85, 82, 1187, 834, 308, 82, 85, 82, 82, 85,
> +- 82, 1188, 310, 311, 82, 85, 82, 309, 82, 85,
> +- 82, 82, 85, 82, 82, 85, 82, 82, 85, 82,
> +-
> +- 82, 85, 82, 82, 85, 82, 1189, 357, 358, 82,
> +- 85, 82, 82, 85, 82, 1192, 356, 1193, 360, 82,
> +- 85, 82, 359, 82, 85, 82, 82, 85, 82, 82,
> +- 85, 82, 1194, 361, 82, 85, 82, 363, 364, 1195,
> +- 1196, 365, 82, 85, 82, 82, 85, 82, 362, 1197,
> +- 367, 366, 82, 1198, 82, 277, 277, 82, 1199, 82,
> +- 277, 277, 82, 85, 82, 1200, 368, 370, 181, 82,
> +- 85, 82, 369, 82, 85, 82, 1201, 1202, 372, 1203,
> +- 371, 375, 1204, 1207, 373, 82, 85, 82, 82, 85,
> +- 82, 377, 1208, 376, 1209, 1210, 181, 82, 85, 82,
> +-
> +- 82, 85, 82, 82, 85, 82, 378, 379, 380, 381,
> +- 1211, 82, 85, 82, 82, 85, 82, 82, 85, 82,
> +- 82, 85, 82, 82, 85, 82, 82, 85, 82, 82,
> +- 85, 82, 82, 85, 82, 82, 85, 82, 82, 85,
> +- 82, 82, 85, 82, 82, 85, 82, 82, 85, 82,
> +- 382, 82, 85, 82, 383, 384, 1212, 1213, 386, 385,
> +- 82, 85, 82, 82, 85, 82, 1216, 387, 1217, 390,
> +- 1218, 1219, 391, 82, 85, 82, 441, 388, 1220, 392,
> +- 442, 1223, 389, 443, 1224, 395, 393, 1225, 1227, 396,
> +- 82, 85, 82, 397, 82, 85, 82, 1229, 394, 82,
> +-
> +- 85, 82, 82, 85, 82, 82, 85, 82, 82, 85,
> +- 82, 1231, 186, 398, 1120, 399, 82, 85, 82, 82,
> +- 85, 82, 82, 85, 82, 1119, 400, 82, 85, 82,
> +- 82, 85, 82, 82, 85, 82, 1118, 1117, 401, 82,
> +- 85, 82, 403, 82, 85, 82, 1116, 1115, 404, 82,
> +- 85, 82, 1114, 402, 82, 85, 82, 82, 85, 82,
> +- 82, 85, 82, 1113, 1112, 451, 1111, 1110, 405, 1109,
> +- 1108, 406, 453, 82, 85, 82, 1107, 82, 85, 82,
> +- 1106, 1105, 452, 455, 82, 85, 82, 82, 85, 82,
> +- 1104, 82, 85, 82, 1103, 454, 82, 85, 82, 1102,
> +-
> +- 1101, 456, 82, 85, 82, 1100, 458, 1099, 1098, 457,
> +- 82, 85, 82, 82, 85, 82, 82, 85, 82, 1097,
> +- 82, 85, 82, 389, 459, 462, 82, 85, 82, 396,
> +- 82, 85, 82, 460, 1096, 467, 82, 85, 82, 403,
> +- 461, 82, 85, 82, 464, 468, 463, 1095, 1088, 469,
> +- 82, 85, 82, 1087, 465, 466, 470, 82, 85, 82,
> +- 1086, 471, 1085, 1084, 473, 472, 1083, 474, 82, 85,
> +- 82, 82, 85, 82, 475, 82, 85, 82, 82, 85,
> +- 82, 82, 85, 82, 82, 85, 82, 82, 85, 82,
> +- 82, 85, 82, 82, 85, 82, 82, 85, 82, 1082,
> +-
> +- 82, 85, 82, 82, 85, 82, 82, 85, 82, 476,
> +- 1081, 477, 82, 85, 82, 82, 85, 82, 82, 85,
> +- 82, 82, 85, 82, 82, 85, 82, 82, 85, 82,
> +- 1080, 1079, 481, 755, 756, 478, 482, 82, 85, 82,
> +- 1078, 479, 757, 1077, 480, 82, 85, 82, 758, 484,
> +- 483, 82, 85, 82, 82, 85, 82, 486, 82, 85,
> +- 82, 488, 82, 85, 82, 1076, 485, 82, 85, 82,
> +- 82, 85, 82, 1075, 1074, 487, 1073, 82, 85, 82,
> +- 82, 85, 82, 489, 82, 85, 82, 1072, 491, 1071,
> +- 1070, 492, 82, 85, 82, 1069, 1068, 490, 82, 85,
> +-
> +- 82, 539, 1067, 82, 85, 82, 82, 85, 82, 82,
> +- 85, 82, 82, 85, 82, 82, 85, 82, 1066, 1065,
> +- 540, 541, 82, 85, 82, 1064, 544, 82, 85, 82,
> +- 1063, 542, 1062, 543, 82, 85, 82, 82, 85, 82,
> +- 82, 85, 82, 553, 82, 85, 82, 547, 545, 546,
> +- 82, 85, 82, 82, 85, 82, 483, 563, 1061, 1060,
> +- 556, 557, 558, 548, 554, 1052, 549, 1051, 1050, 551,
> +- 559, 550, 1049, 560, 555, 1048, 1047, 561, 562, 1046,
> +- 1045, 552, 82, 85, 82, 82, 85, 82, 82, 85,
> +- 82, 82, 85, 82, 82, 85, 82, 565, 82, 85,
> +-
> +- 82, 1044, 564, 1043, 1042, 567, 1041, 1040, 566, 82,
> +- 85, 82, 82, 85, 82, 82, 85, 82, 82, 85,
> +- 82, 82, 85, 82, 82, 85, 82, 82, 85, 82,
> +- 82, 85, 82, 82, 85, 82, 82, 85, 82, 1039,
> +- 568, 1038, 1037, 569, 82, 85, 82, 82, 85, 82,
> +- 82, 85, 82, 571, 82, 85, 82, 1036, 1035, 570,
> +- 82, 85, 82, 581, 582, 82, 85, 82, 1034, 572,
> +- 82, 85, 82, 1033, 573, 82, 85, 82, 1032, 583,
> +- 584, 82, 85, 82, 585, 1031, 575, 1030, 576, 1029,
> +- 82, 85, 82, 1028, 1027, 574, 1026, 1025, 577, 82,
> +-
> +- 85, 82, 82, 85, 82, 1024, 1023, 630, 82, 85,
> +- 82, 578, 82, 85, 82, 82, 85, 82, 82, 85,
> +- 82, 1022, 631, 82, 85, 82, 632, 633, 82, 85,
> +- 82, 82, 85, 82, 82, 85, 82, 1021, 1012, 634,
> +- 635, 1011, 636, 1010, 1009, 637, 82, 85, 82, 1008,
> +- 1007, 643, 639, 1006, 82, 85, 82, 82, 85, 82,
> +- 82, 85, 82, 640, 1005, 1004, 646, 638, 82, 85,
> +- 82, 1003, 1002, 641, 82, 85, 82, 642, 644, 82,
> +- 85, 82, 647, 645, 1001, 1000, 649, 999, 648, 82,
> +- 85, 82, 82, 85, 82, 82, 85, 82, 82, 85,
> +-
> +- 82, 82, 85, 82, 998, 654, 650, 82, 85, 82,
> +- 653, 82, 85, 82, 82, 85, 82, 997, 651, 996,
> +- 655, 995, 652, 82, 85, 82, 82, 85, 82, 82,
> +- 85, 82, 656, 82, 85, 82, 82, 85, 82, 82,
> +- 85, 82, 657, 82, 85, 82, 82, 85, 82, 82,
> +- 85, 82, 82, 85, 82, 82, 85, 82, 994, 659,
> +- 82, 85, 82, 993, 992, 658, 82, 85, 82, 991,
> +- 990, 661, 82, 85, 82, 660, 989, 662, 82, 85,
> +- 82, 988, 987, 663, 82, 85, 82, 82, 85, 82,
> +- 82, 85, 82, 82, 85, 82, 82, 85, 82, 716,
> +-
> +- 82, 85, 82, 986, 985, 714, 984, 983, 715, 982,
> +- 718, 717, 82, 85, 82, 82, 85, 82, 981, 82,
> +- 85, 82, 719, 82, 85, 82, 82, 85, 82, 980,
> +- 979, 720, 968, 967, 721, 966, 965, 728, 964, 963,
> +- 727, 723, 722, 726, 82, 85, 82, 82, 85, 82,
> +- 962, 961, 724, 960, 725, 730, 82, 85, 82, 959,
> +- 958, 729, 82, 85, 82, 82, 85, 82, 82, 85,
> +- 82, 82, 85, 82, 82, 85, 82, 732, 957, 733,
> +- 731, 82, 85, 82, 736, 82, 85, 82, 956, 734,
> +- 955, 738, 735, 82, 85, 82, 737, 82, 85, 82,
> +-
> +- 82, 85, 82, 82, 85, 82, 954, 740, 82, 85,
> +- 82, 82, 85, 82, 82, 85, 82, 82, 85, 82,
> +- 82, 85, 82, 82, 85, 82, 739, 82, 85, 82,
> +- 82, 85, 82, 82, 85, 82, 82, 85, 82, 953,
> +- 952, 741, 82, 85, 82, 82, 85, 82, 742, 82,
> +- 85, 82, 951, 950, 792, 82, 85, 82, 790, 949,
> +- 948, 791, 947, 946, 793, 82, 85, 82, 82, 85,
> +- 82, 82, 85, 82, 82, 85, 82, 82, 85, 82,
> +- 82, 85, 82, 794, 82, 85, 82, 795, 800, 82,
> +- 85, 82, 945, 944, 799, 943, 942, 801, 82, 85,
> +-
> +- 82, 941, 940, 796, 82, 85, 82, 939, 804, 802,
> +- 797, 938, 805, 937, 803, 82, 85, 82, 936, 798,
> +- 82, 85, 82, 82, 85, 82, 82, 85, 82, 935,
> +- 807, 808, 806, 82, 85, 82, 82, 85, 82, 82,
> +- 85, 82, 934, 933, 811, 812, 82, 85, 82, 918,
> +- 810, 82, 85, 82, 82, 85, 82, 915, 914, 809,
> +- 82, 85, 82, 82, 85, 82, 82, 85, 82, 82,
> +- 85, 82, 813, 82, 85, 82, 82, 85, 82, 82,
> +- 85, 82, 82, 85, 82, 913, 912, 858, 82, 85,
> +- 82, 82, 85, 82, 82, 85, 82, 82, 85, 82,
> +-
> +- 867, 866, 911, 862, 910, 860, 82, 85, 82, 859,
> +- 82, 85, 82, 865, 909, 861, 908, 863, 868, 907,
> +- 864, 82, 85, 82, 82, 85, 82, 82, 85, 82,
> +- 906, 869, 905, 904, 870, 82, 85, 82, 82, 85,
> +- 82, 82, 85, 82, 903, 902, 872, 873, 82, 85,
> +- 82, 82, 85, 82, 82, 85, 82, 82, 85, 82,
> +- 871, 82, 85, 82, 901, 875, 900, 899, 874, 82,
> +- 85, 82, 82, 85, 82, 898, 82, 85, 82, 876,
> +- 82, 85, 82, 82, 85, 82, 82, 85, 82, 897,
> +- 896, 82, 85, 82, 920, 82, 85, 82, 82, 85,
> +-
> +- 82, 895, 927, 894, 893, 919, 82, 85, 82, 82,
> +- 85, 82, 922, 923, 926, 82, 85, 82, 921, 892,
> +- 925, 891, 890, 928, 887, 886, 924, 82, 85, 82,
> +- 82, 85, 82, 82, 85, 82, 82, 85, 82, 82,
> +- 85, 82, 885, 884, 930, 883, 882, 929, 82, 85,
> +- 82, 881, 931, 82, 85, 82, 82, 85, 82, 880,
> +- 932, 82, 85, 82, 82, 85, 82, 82, 85, 82,
> +- 82, 85, 82, 82, 85, 82, 82, 85, 82, 82,
> +- 85, 82, 82, 85, 82, 82, 85, 82, 82, 85,
> +- 82, 879, 878, 976, 877, 970, 82, 85, 82, 857,
> +-
> +- 856, 977, 855, 975, 969, 854, 973, 971, 853, 978,
> +- 82, 85, 82, 972, 82, 85, 82, 852, 974, 82,
> +- 85, 82, 82, 85, 82, 851, 82, 85, 82, 82,
> +- 85, 82, 82, 85, 82, 82, 85, 82, 82, 85,
> +- 82, 850, 849, 1013, 848, 1020, 82, 85, 82, 82,
> +- 85, 82, 82, 85, 82, 82, 85, 82, 847, 846,
> +- 1014, 845, 1018, 82, 85, 82, 1019, 1016, 82, 85,
> +- 82, 1015, 1017, 82, 85, 82, 82, 85, 82, 82,
> +- 85, 82, 82, 85, 82, 844, 843, 1053, 842, 1055,
> +- 82, 85, 82, 841, 1054, 82, 85, 82, 82, 85,
> +-
> +- 82, 1056, 82, 85, 82, 82, 85, 82, 1057, 82,
> +- 85, 82, 82, 85, 82, 82, 85, 82, 840, 1058,
> +- 82, 85, 82, 839, 1059, 82, 85, 82, 838, 837,
> +- 1123, 836, 82, 85, 82, 835, 831, 1089, 830, 1091,
> +- 829, 1090, 828, 1093, 1092, 827, 826, 1094, 1122, 82,
> +- 85, 82, 82, 85, 82, 82, 85, 82, 82, 85,
> +- 82, 82, 85, 82, 82, 85, 82, 82, 85, 82,
> +- 82, 85, 82, 82, 85, 82, 1124, 1125, 82, 85,
> +- 82, 82, 85, 82, 82, 85, 82, 82, 85, 82,
> +- 1147, 82, 85, 82, 82, 85, 82, 825, 824, 1150,
> +-
> +- 82, 85, 82, 823, 1148, 82, 85, 82, 1149, 82,
> +- 85, 82, 1170, 1215, 822, 821, 1171, 82, 85, 82,
> +- 82, 85, 82, 1172, 82, 85, 82, 820, 1191, 1190,
> +- 82, 85, 82, 1205, 819, 818, 1206, 82, 85, 82,
> +- 817, 1214, 816, 1222, 82, 85, 82, 82, 85, 82,
> +- 815, 1221, 814, 787, 786, 785, 784, 783, 782, 781,
> +- 780, 1228, 779, 778, 777, 776, 1226, 775, 774, 773,
> +- 772, 771, 770, 769, 1230, 1232, 768, 767, 766, 765,
> +- 764, 763, 762, 761, 760, 759, 752, 751, 750, 749,
> +- 748, 747, 746, 1233, 45, 45, 45, 45, 49, 49,
> +-
> +- 49, 49, 75, 75, 75, 75, 78, 78, 78, 78,
> +- 85, 85, 94, 94, 182, 745, 182, 182, 744, 743,
> +- 713, 712, 711, 710, 709, 708, 707, 706, 705, 704,
> +- 703, 702, 701, 700, 699, 698, 697, 694, 693, 692,
> ++ 24, 23, 25, 26, 23, 27, 23, 23, 23, 23,
> ++ 23, 23, 23, 12, 23, 23, 28, 29, 30, 31,
> ++ 32, 23, 23, 33, 23, 34, 23, 35, 36, 37,
> ++ 23, 38, 39, 40, 41, 42, 23, 23, 23, 43,
> ++ 44, 48, 47, 51, 45, 49, 51, 72, 78, 351,
> ++ 52, 73, 75, 52, 53, 81, 76, 88, 74, 81,
> ++ 82, 89, 83, 83, 84, 87, 84, 352, 54, 84,
> ++
> ++ 85, 84, 86, 86, 182, 182, 84, 87, 84, 84,
> ++ 87, 84, 55, 84, 87, 84, 130, 79, 150, 232,
> ++ 131, 56, 151, 57, 58, 1146, 59, 60, 233, 61,
> ++ 62, 63, 97, 64, 65, 66, 67, 68, 69, 70,
> ++ 71, 90, 255, 83, 83, 1152, 99, 84, 87, 84,
> ++ 91, 92, 84, 87, 84, 78, 256, 93, 84, 87,
> ++ 84, 100, 84, 87, 84, 98, 93, 84, 87, 84,
> ++ 84, 87, 84, 84, 87, 84, 189, 189, 91, 92,
> ++ 84, 87, 84, 84, 93, 84, 84, 87, 84, 84,
> ++ 87, 84, 93, 1153, 79, 94, 84, 87, 84, 101,
> ++
> ++ 84, 87, 84, 102, 108, 105, 103, 176, 84, 104,
> ++ 84, 177, 109, 106, 110, 84, 87, 84, 230, 111,
> ++ 113, 336, 107, 84, 87, 84, 1154, 112, 84, 87,
> ++ 84, 84, 87, 84, 84, 87, 84, 114, 337, 179,
> ++ 234, 117, 118, 180, 119, 115, 81, 231, 116, 235,
> ++ 81, 120, 547, 121, 281, 322, 122, 84, 87, 84,
> ++ 84, 87, 84, 235, 123, 548, 323, 128, 154, 125,
> ++ 126, 124, 84, 87, 84, 127, 132, 133, 134, 135,
> ++ 136, 137, 138, 139, 140, 130, 1155, 141, 142, 131,
> ++ 143, 144, 1156, 145, 146, 147, 148, 149, 84, 87,
> ++
> ++ 84, 84, 87, 84, 156, 226, 155, 84, 87, 84,
> ++ 158, 1157, 84, 87, 84, 84, 87, 84, 238, 105,
> ++ 227, 84, 87, 84, 84, 87, 84, 84, 87, 84,
> ++ 936, 331, 157, 84, 87, 84, 228, 937, 161, 102,
> ++ 236, 108, 103, 332, 237, 104, 333, 111, 239, 109,
> ++ 160, 110, 150, 162, 159, 163, 151, 345, 165, 84,
> ++ 87, 84, 346, 164, 84, 87, 84, 1158, 112, 84,
> ++ 87, 84, 84, 183, 84, 166, 167, 84, 87, 84,
> ++ 245, 84, 115, 84, 246, 116, 84, 87, 84, 168,
> ++ 188, 188, 176, 247, 189, 189, 177, 169, 84, 87,
> ++
> ++ 84, 84, 170, 84, 545, 117, 171, 121, 119, 546,
> ++ 122, 172, 187, 187, 805, 120, 806, 179, 123, 91,
> ++ 92, 180, 638, 125, 175, 173, 639, 174, 126, 84,
> ++ 87, 84, 84, 127, 84, 86, 86, 1159, 241, 84,
> ++ 87, 84, 184, 185, 242, 243, 191, 91, 92, 84,
> ++ 87, 84, 1160, 84, 87, 84, 84, 87, 84, 84,
> ++ 87, 84, 84, 87, 84, 84, 87, 84, 908, 909,
> ++ 184, 185, 192, 193, 194, 84, 87, 84, 84, 87,
> ++ 84, 84, 87, 84, 84, 87, 84, 84, 87, 84,
> ++ 84, 87, 84, 196, 1161, 1162, 197, 84, 87, 84,
> ++
> ++ 84, 87, 84, 195, 84, 87, 84, 84, 87, 84,
> ++ 1163, 198, 84, 87, 84, 84, 87, 84, 84, 87,
> ++ 84, 84, 87, 84, 84, 87, 84, 199, 202, 201,
> ++ 200, 1164, 1165, 203, 84, 87, 84, 204, 354, 84,
> ++ 87, 84, 84, 87, 84, 208, 206, 355, 205, 207,
> ++ 211, 84, 87, 84, 209, 710, 84, 87, 84, 210,
> ++ 711, 213, 84, 87, 84, 212, 325, 326, 216, 327,
> ++ 1166, 215, 84, 87, 84, 84, 87, 84, 214, 84,
> ++ 87, 84, 1167, 217, 218, 249, 422, 250, 770, 423,
> ++ 251, 219, 252, 84, 87, 84, 84, 87, 84, 84,
> ++
> ++ 87, 84, 771, 220, 221, 84, 87, 84, 84, 87,
> ++ 84, 1168, 222, 84, 87, 84, 1169, 224, 1170, 1171,
> ++ 225, 223, 84, 87, 84, 84, 87, 84, 84, 87,
> ++ 84, 84, 87, 84, 84, 87, 84, 260, 84, 87,
> ++ 84, 1172, 1177, 262, 84, 87, 84, 264, 261, 263,
> ++ 84, 87, 84, 84, 87, 84, 84, 87, 84, 84,
> ++ 87, 84, 265, 84, 87, 84, 84, 87, 84, 1178,
> ++ 269, 1179, 1180, 266, 84, 87, 84, 268, 84, 87,
> ++ 84, 1181, 208, 270, 267, 1182, 273, 272, 84, 87,
> ++ 84, 182, 182, 450, 1183, 271, 1184, 451, 91, 92,
> ++
> ++ 452, 274, 1185, 276, 188, 282, 1186, 84, 283, 283,
> ++ 275, 277, 1188, 189, 189, 1189, 279, 187, 187, 1187,
> ++ 214, 92, 278, 1190, 91, 92, 91, 92, 84, 87,
> ++ 84, 84, 87, 84, 84, 87, 84, 280, 84, 87,
> ++ 84, 84, 87, 84, 1191, 284, 1192, 1193, 286, 92,
> ++ 1194, 287, 91, 92, 84, 87, 84, 84, 87, 84,
> ++ 84, 87, 84, 84, 87, 84, 84, 87, 84, 1195,
> ++ 1199, 288, 84, 87, 84, 84, 87, 84, 84, 87,
> ++ 84, 285, 84, 87, 84, 289, 84, 87, 84, 84,
> ++ 87, 84, 84, 87, 84, 84, 87, 84, 293, 84,
> ++
> ++ 87, 84, 1200, 290, 84, 87, 84, 291, 1201, 1202,
> ++ 292, 294, 297, 84, 87, 84, 295, 84, 87, 84,
> ++ 298, 84, 87, 84, 1203, 296, 84, 87, 84, 299,
> ++ 300, 84, 87, 84, 84, 87, 84, 84, 87, 84,
> ++ 84, 87, 84, 1204, 301, 84, 87, 84, 84, 87,
> ++ 84, 1205, 302, 1206, 1207, 303, 1208, 304, 84, 87,
> ++ 84, 84, 87, 84, 307, 1209, 305, 306, 84, 87,
> ++ 84, 84, 87, 84, 1210, 84, 87, 84, 84, 87,
> ++ 84, 341, 308, 1211, 1212, 309, 313, 342, 311, 310,
> ++ 1213, 1214, 312, 1215, 1218, 343, 314, 84, 87, 84,
> ++
> ++ 84, 87, 84, 315, 84, 87, 84, 1219, 317, 318,
> ++ 84, 87, 84, 84, 87, 84, 84, 87, 84, 316,
> ++ 84, 87, 84, 84, 87, 84, 1220, 1221, 363, 84,
> ++ 87, 84, 1222, 365, 1223, 364, 1224, 84, 87, 84,
> ++ 84, 87, 84, 1225, 367, 84, 87, 84, 366, 84,
> ++ 87, 84, 1226, 84, 87, 84, 1227, 1228, 368, 84,
> ++ 87, 84, 1229, 370, 84, 87, 84, 371, 84, 87,
> ++ 84, 84, 87, 84, 369, 372, 1230, 851, 84, 87,
> ++ 84, 852, 373, 374, 84, 87, 84, 84, 1233, 84,
> ++ 283, 283, 84, 853, 84, 283, 283, 1234, 1235, 375,
> ++
> ++ 376, 1236, 1237, 185, 1238, 1239, 378, 1242, 1243, 379,
> ++ 377, 380, 84, 87, 84, 84, 87, 84, 84, 87,
> ++ 84, 84, 87, 84, 1244, 1245, 84, 87, 84, 1246,
> ++ 384, 185, 386, 1249, 381, 84, 87, 84, 84, 87,
> ++ 84, 385, 84, 87, 84, 1250, 1251, 387, 388, 389,
> ++ 390, 84, 87, 84, 84, 87, 84, 84, 87, 84,
> ++ 1253, 84, 87, 84, 1255, 383, 84, 87, 84, 84,
> ++ 87, 84, 84, 87, 84, 84, 87, 84, 84, 87,
> ++ 84, 84, 87, 84, 84, 87, 84, 84, 87, 84,
> ++ 1257, 190, 391, 84, 87, 84, 1145, 1144, 393, 84,
> ++
> ++ 87, 84, 392, 394, 395, 84, 87, 84, 84, 87,
> ++ 84, 1143, 1142, 396, 1141, 399, 1140, 1139, 400, 84,
> ++ 87, 84, 1138, 397, 1137, 401, 1136, 1135, 398, 84,
> ++ 87, 84, 84, 87, 84, 402, 84, 87, 84, 404,
> ++ 1134, 406, 1133, 405, 84, 87, 84, 84, 87, 84,
> ++ 403, 84, 87, 84, 84, 87, 84, 84, 87, 84,
> ++ 84, 87, 84, 84, 87, 84, 1132, 1131, 409, 407,
> ++ 1130, 408, 84, 87, 84, 84, 87, 84, 772, 773,
> ++ 410, 84, 87, 84, 84, 87, 84, 774, 412, 84,
> ++ 87, 84, 1129, 775, 413, 84, 87, 84, 411, 84,
> ++
> ++ 87, 84, 84, 87, 84, 84, 87, 84, 1128, 414,
> ++ 460, 1127, 415, 84, 87, 84, 1126, 462, 84, 87,
> ++ 84, 84, 87, 84, 84, 87, 84, 1125, 1124, 464,
> ++ 461, 84, 87, 84, 84, 87, 84, 84, 87, 84,
> ++ 1123, 463, 84, 87, 84, 1122, 465, 84, 87, 84,
> ++ 1121, 467, 1120, 1112, 466, 84, 87, 84, 84, 87,
> ++ 84, 1111, 1110, 398, 1109, 468, 1108, 1107, 472, 1106,
> ++ 469, 1105, 405, 1104, 470, 84, 87, 84, 1103, 412,
> ++ 1102, 474, 1101, 1100, 471, 1099, 1098, 473, 84, 87,
> ++ 84, 475, 1097, 1096, 478, 1095, 1094, 476, 1093, 1092,
> ++
> ++ 477, 84, 87, 84, 84, 87, 84, 84, 87, 84,
> ++ 84, 87, 84, 479, 84, 87, 84, 84, 87, 84,
> ++ 480, 84, 87, 84, 84, 87, 84, 482, 484, 1091,
> ++ 1090, 485, 1089, 1088, 481, 84, 87, 84, 486, 483,
> ++ 84, 87, 84, 84, 87, 84, 84, 87, 84, 84,
> ++ 87, 84, 84, 87, 84, 84, 87, 84, 84, 87,
> ++ 84, 1087, 487, 84, 87, 84, 84, 87, 84, 1086,
> ++ 1085, 488, 84, 87, 84, 84, 87, 84, 84, 87,
> ++ 84, 84, 87, 84, 84, 87, 84, 84, 87, 84,
> ++ 84, 87, 84, 1084, 492, 1075, 1074, 489, 1073, 493,
> ++
> ++ 84, 87, 84, 490, 1072, 1071, 491, 84, 87, 84,
> ++ 1070, 1069, 495, 84, 87, 84, 494, 84, 87, 84,
> ++ 497, 84, 87, 84, 499, 84, 87, 84, 1068, 496,
> ++ 84, 87, 84, 84, 87, 84, 1067, 1066, 498, 1065,
> ++ 84, 87, 84, 1064, 1063, 500, 84, 87, 84, 1062,
> ++ 1061, 502, 1060, 1059, 503, 84, 87, 84, 1058, 501,
> ++ 84, 87, 84, 1057, 550, 84, 87, 84, 84, 87,
> ++ 84, 84, 87, 84, 84, 87, 84, 1056, 1055, 84,
> ++ 87, 84, 1054, 551, 552, 84, 87, 84, 84, 87,
> ++ 84, 84, 87, 84, 555, 1053, 1052, 553, 1051, 84,
> ++
> ++ 87, 84, 1050, 1049, 554, 84, 87, 84, 84, 87,
> ++ 84, 84, 87, 84, 557, 556, 558, 559, 84, 87,
> ++ 84, 84, 87, 84, 566, 84, 87, 84, 1048, 494,
> ++ 1047, 1046, 569, 570, 571, 567, 560, 1045, 1044, 561,
> ++ 562, 563, 572, 1034, 1033, 573, 84, 87, 84, 574,
> ++ 575, 568, 564, 576, 84, 87, 84, 84, 87, 84,
> ++ 84, 87, 84, 1032, 1031, 565, 84, 87, 84, 578,
> ++ 84, 87, 84, 1030, 577, 84, 87, 84, 1029, 1028,
> ++ 579, 84, 87, 84, 580, 84, 87, 84, 84, 87,
> ++ 84, 84, 87, 84, 84, 87, 84, 84, 87, 84,
> ++
> ++ 84, 87, 84, 84, 87, 84, 84, 87, 84, 84,
> ++ 87, 84, 84, 87, 84, 582, 1027, 581, 84, 87,
> ++ 84, 84, 87, 84, 594, 595, 584, 84, 87, 84,
> ++ 1026, 1025, 583, 84, 87, 84, 84, 87, 84, 1024,
> ++ 596, 597, 585, 1023, 1022, 598, 1021, 586, 84, 87,
> ++ 84, 84, 87, 84, 84, 87, 84, 588, 1020, 589,
> ++ 84, 87, 84, 587, 84, 87, 84, 84, 87, 84,
> ++ 1019, 590, 84, 87, 84, 84, 87, 84, 643, 84,
> ++ 87, 84, 1018, 1017, 591, 84, 87, 84, 84, 87,
> ++ 84, 84, 87, 84, 84, 87, 84, 646, 1016, 1015,
> ++
> ++ 644, 1014, 645, 1013, 647, 648, 649, 84, 87, 84,
> ++ 1012, 1011, 651, 84, 87, 84, 84, 87, 84, 84,
> ++ 87, 84, 653, 84, 87, 84, 84, 87, 84, 1010,
> ++ 1009, 654, 650, 658, 84, 87, 84, 652, 1008, 655,
> ++ 661, 84, 87, 84, 84, 87, 84, 659, 84, 87,
> ++ 84, 657, 660, 656, 1007, 662, 1006, 1005, 663, 84,
> ++ 87, 84, 84, 87, 84, 665, 664, 84, 87, 84,
> ++ 84, 87, 84, 1004, 84, 87, 84, 669, 84, 87,
> ++ 84, 1003, 668, 84, 87, 84, 1002, 1001, 666, 84,
> ++ 87, 84, 667, 670, 84, 87, 84, 84, 87, 84,
> ++
> ++ 84, 87, 84, 671, 84, 87, 84, 84, 87, 84,
> ++ 84, 87, 84, 989, 672, 84, 87, 84, 84, 87,
> ++ 84, 84, 87, 84, 84, 87, 84, 84, 87, 84,
> ++ 674, 84, 87, 84, 84, 87, 84, 84, 87, 84,
> ++ 673, 988, 676, 84, 87, 84, 675, 987, 677, 84,
> ++ 87, 84, 84, 87, 84, 678, 84, 87, 84, 84,
> ++ 87, 84, 84, 87, 84, 986, 985, 731, 984, 983,
> ++ 732, 84, 87, 84, 84, 87, 84, 729, 982, 730,
> ++ 981, 733, 84, 87, 84, 980, 979, 734, 84, 87,
> ++ 84, 84, 87, 84, 736, 978, 735, 84, 87, 84,
> ++
> ++ 84, 87, 84, 737, 84, 87, 84, 84, 87, 84,
> ++ 977, 738, 84, 87, 84, 743, 739, 744, 745, 976,
> ++ 747, 746, 975, 974, 741, 973, 740, 84, 87, 84,
> ++ 742, 84, 87, 84, 84, 87, 84, 84, 87, 84,
> ++ 84, 87, 84, 84, 87, 84, 749, 972, 750, 971,
> ++ 970, 748, 969, 753, 84, 87, 84, 968, 751, 967,
> ++ 966, 752, 84, 87, 84, 84, 87, 84, 755, 754,
> ++ 84, 87, 84, 84, 87, 84, 84, 87, 84, 965,
> ++ 757, 84, 87, 84, 84, 87, 84, 84, 87, 84,
> ++ 84, 87, 84, 84, 87, 84, 964, 963, 756, 84,
> ++
> ++ 87, 84, 84, 87, 84, 84, 87, 84, 84, 87,
> ++ 84, 84, 87, 84, 758, 84, 87, 84, 84, 87,
> ++ 84, 759, 84, 87, 84, 84, 87, 84, 962, 809,
> ++ 961, 807, 84, 87, 84, 960, 959, 808, 958, 810,
> ++ 84, 87, 84, 84, 87, 84, 84, 87, 84, 957,
> ++ 956, 811, 84, 87, 84, 84, 87, 84, 955, 954,
> ++ 812, 938, 935, 813, 934, 84, 87, 84, 933, 84,
> ++ 87, 84, 84, 87, 84, 818, 819, 84, 87, 84,
> ++ 814, 84, 87, 84, 932, 815, 820, 931, 84, 87,
> ++ 84, 84, 87, 84, 816, 930, 929, 817, 823, 824,
> ++
> ++ 928, 927, 821, 84, 87, 84, 822, 84, 87, 84,
> ++ 84, 87, 84, 84, 87, 84, 926, 826, 827, 925,
> ++ 825, 84, 87, 84, 84, 87, 84, 84, 87, 84,
> ++ 924, 923, 830, 831, 84, 87, 84, 922, 829, 84,
> ++ 87, 84, 84, 87, 84, 921, 828, 84, 87, 84,
> ++ 84, 87, 84, 84, 87, 84, 84, 87, 84, 920,
> ++ 832, 84, 87, 84, 84, 87, 84, 84, 87, 84,
> ++ 919, 918, 877, 84, 87, 84, 84, 87, 84, 917,
> ++ 916, 84, 87, 84, 84, 87, 84, 915, 914, 879,
> ++ 882, 878, 913, 912, 886, 84, 87, 84, 911, 880,
> ++
> ++ 910, 887, 907, 906, 881, 883, 885, 84, 87, 84,
> ++ 905, 884, 84, 87, 84, 84, 87, 84, 84, 87,
> ++ 84, 904, 903, 888, 84, 87, 84, 902, 889, 84,
> ++ 87, 84, 901, 900, 890, 84, 87, 84, 84, 87,
> ++ 84, 84, 87, 84, 899, 898, 892, 893, 84, 87,
> ++ 84, 84, 87, 84, 84, 87, 84, 84, 87, 84,
> ++ 891, 84, 87, 84, 897, 895, 876, 875, 894, 84,
> ++ 87, 84, 84, 87, 84, 84, 87, 84, 874, 896,
> ++ 84, 87, 84, 84, 87, 84, 84, 87, 84, 84,
> ++ 87, 84, 873, 872, 940, 871, 84, 87, 84, 84,
> ++
> ++ 87, 84, 84, 87, 84, 939, 948, 870, 943, 84,
> ++ 87, 84, 942, 84, 87, 84, 869, 944, 941, 947,
> ++ 84, 87, 84, 946, 84, 87, 84, 949, 868, 945,
> ++ 867, 84, 87, 84, 84, 87, 84, 84, 87, 84,
> ++ 84, 87, 84, 866, 950, 951, 84, 87, 84, 84,
> ++ 87, 84, 865, 952, 84, 87, 84, 84, 87, 84,
> ++ 864, 953, 84, 87, 84, 84, 87, 84, 84, 87,
> ++ 84, 84, 87, 84, 84, 87, 84, 84, 87, 84,
> ++ 84, 87, 84, 863, 84, 87, 84, 84, 87, 84,
> ++ 862, 991, 861, 860, 998, 84, 87, 84, 994, 84,
> ++
> ++ 87, 84, 990, 999, 997, 992, 859, 995, 858, 993,
> ++ 857, 1000, 84, 87, 84, 84, 87, 84, 856, 996,
> ++ 84, 87, 84, 84, 87, 84, 84, 87, 84, 84,
> ++ 87, 84, 84, 87, 84, 84, 87, 84, 84, 87,
> ++ 84, 84, 87, 84, 855, 1035, 854, 850, 1043, 84,
> ++ 87, 84, 84, 87, 84, 84, 87, 84, 84, 87,
> ++ 84, 1036, 84, 87, 84, 1041, 849, 848, 1038, 1042,
> ++ 1039, 847, 1037, 846, 845, 1040, 84, 87, 84, 84,
> ++ 87, 84, 84, 87, 84, 84, 87, 84, 844, 843,
> ++ 1076, 842, 1078, 84, 87, 84, 841, 1077, 840, 839,
> ++
> ++ 1079, 84, 87, 84, 84, 87, 84, 84, 87, 84,
> ++ 838, 84, 87, 84, 1080, 84, 87, 84, 837, 1081,
> ++ 84, 87, 84, 836, 84, 87, 84, 835, 1082, 84,
> ++ 87, 84, 834, 1083, 84, 87, 84, 84, 87, 84,
> ++ 84, 87, 84, 84, 87, 84, 84, 87, 84, 1117,
> ++ 1148, 1115, 84, 87, 84, 1114, 1113, 1116, 1118, 84,
> ++ 87, 84, 84, 87, 84, 84, 87, 84, 833, 804,
> ++ 1147, 1119, 84, 87, 84, 84, 87, 84, 84, 87,
> ++ 84, 84, 87, 84, 84, 87, 84, 84, 87, 84,
> ++ 803, 802, 1150, 801, 1149, 800, 799, 1151, 798, 797,
> ++
> ++ 1173, 84, 87, 84, 84, 87, 84, 84, 87, 84,
> ++ 84, 87, 84, 796, 1174, 795, 1176, 84, 87, 84,
> ++ 794, 793, 1175, 84, 87, 84, 84, 87, 84, 1196,
> ++ 84, 87, 84, 1197, 84, 87, 84, 84, 87, 84,
> ++ 84, 87, 84, 1241, 84, 87, 84, 84, 87, 84,
> ++ 792, 1198, 791, 790, 1217, 1216, 84, 87, 84, 1231,
> ++ 84, 87, 84, 84, 87, 84, 84, 87, 84, 789,
> ++ 788, 1248, 1232, 1240, 787, 786, 785, 784, 783, 782,
> ++ 1247, 781, 780, 779, 1254, 778, 777, 776, 769, 768,
> ++ 1252, 767, 766, 765, 764, 763, 762, 761, 1258, 760,
> ++
> ++ 1256, 728, 727, 726, 725, 724, 723, 722, 721, 720,
> ++ 719, 718, 1259, 46, 46, 46, 46, 50, 50, 50,
> ++ 50, 77, 77, 77, 77, 80, 80, 80, 80, 87,
> ++ 87, 96, 96, 186, 717, 186, 186, 716, 715, 714,
> ++ 713, 712, 709, 708, 707, 706, 705, 704, 703, 702,
> ++ 701, 700, 699, 698, 697, 696, 695, 694, 693, 692,
> + 691, 690, 689, 688, 687, 686, 685, 684, 683, 682,
> +- 681, 680, 679, 678, 677, 676, 675, 674, 673, 672,
> +- 671, 670, 669, 668, 667, 666, 665, 664, 629, 628,
> +- 627, 624, 623, 622, 621, 620, 619, 618, 617, 616,
> +- 615, 614, 613, 612, 611, 610, 609, 608, 607, 606,
> +- 605, 604, 603, 602, 601, 600, 599, 598, 597, 596,
> +-
> +- 595, 594, 593, 592, 591, 590, 589, 588, 587, 586,
> +- 580, 579, 538, 533, 532, 531, 530, 529, 528, 527,
> +- 526, 525, 524, 523, 522, 521, 520, 519, 518, 517,
> +- 516, 515, 514, 513, 512, 511, 510, 509, 508, 507,
> +- 506, 505, 504, 503, 502, 501, 500, 499, 498, 497,
> +- 496, 495, 494, 493, 450, 449, 448, 447, 446, 445,
> +- 444, 440, 439, 438, 437, 436, 435, 434, 433, 432,
> +- 431, 430, 429, 428, 427, 426, 425, 424, 423, 422,
> +- 421, 420, 419, 418, 417, 416, 415, 412, 411, 410,
> +- 409, 408, 407, 374, 355, 354, 353, 352, 351, 350,
> +-
> +- 349, 346, 343, 342, 341, 340, 337, 333, 332, 331,
> +- 328, 327, 323, 322, 321, 317, 314, 313, 312, 177,
> +- 230, 174, 254, 149, 253, 252, 249, 248, 243, 239,
> +- 235, 224, 1234, 1234, 177, 174, 150, 149, 126, 93,
> +- 1234, 1234, 72, 46, 11, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> ++ 681, 680, 679, 642, 641, 640, 637, 636, 635, 634,
> ++ 633, 632, 631, 630, 629, 628, 627, 626, 625, 624,
> ++ 623, 622, 621, 620, 619, 618, 617, 616, 615, 614,
> ++
> ++ 613, 612, 611, 610, 609, 608, 607, 606, 605, 604,
> ++ 603, 602, 601, 600, 599, 593, 592, 549, 544, 543,
> ++ 542, 541, 540, 539, 538, 537, 536, 535, 534, 533,
> ++ 532, 531, 530, 529, 528, 527, 526, 525, 524, 523,
> ++ 522, 521, 520, 519, 518, 517, 516, 515, 514, 513,
> ++ 512, 511, 510, 509, 508, 507, 506, 505, 504, 459,
> ++ 458, 457, 456, 455, 454, 453, 449, 448, 447, 446,
> ++ 445, 444, 443, 442, 441, 440, 439, 438, 437, 436,
> ++ 435, 434, 433, 432, 431, 430, 429, 428, 427, 426,
> ++ 425, 424, 421, 420, 419, 418, 417, 416, 382, 362,
> ++
> ++ 361, 360, 359, 358, 357, 356, 353, 350, 349, 348,
> ++ 347, 344, 340, 339, 338, 335, 334, 330, 329, 328,
> ++ 324, 321, 320, 319, 181, 235, 178, 259, 152, 258,
> ++ 257, 254, 253, 248, 244, 240, 229, 1260, 1260, 181,
> ++ 178, 153, 152, 129, 95, 1260, 1260, 74, 47, 11,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> +
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260
> + } ;
> +
> +-static yyconst flex_int16_t yy_chk[2916] =
> ++static const flex_int16_t yy_chk[3021] =
> + { 0,
> + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
> + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
> +@@ -1169,320 +1177,331 @@ static yyconst flex_int16_t yy_chk[2916]
> + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
> + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
> + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
> +- 2, 4, 4, 5, 2, 4, 6, 8, 15, 245,
> ++ 2, 4, 4, 5, 2, 4, 6, 8, 15, 250,
> + 5, 8, 10, 6, 7, 16, 10, 19, 10, 16,
> +- 17, 19, 17, 17, 23, 23, 23, 245, 7, 18,
> ++ 17, 19, 17, 17, 23, 23, 23, 250, 7, 18,
> +
> +- 18, 18, 18, 18, 80, 80, 24, 24, 24, 25,
> +- 25, 25, 7, 132, 26, 26, 26, 15, 27, 27,
> +- 27, 7, 132, 7, 7, 75, 7, 7, 26, 7,
> +- 7, 7, 24, 7, 7, 1088, 7, 7, 7, 7,
> +- 7, 20, 25, 20, 20, 43, 28, 28, 28, 43,
> +- 20, 20, 29, 29, 29, 184, 184, 20, 30, 30,
> +- 30, 32, 32, 32, 75, 27, 20, 31, 31, 31,
> +- 33, 33, 33, 47, 34, 34, 34, 47, 20, 20,
> +- 35, 35, 35, 131, 20, 70, 82, 28, 82, 70,
> +- 28, 133, 20, 28, 1096, 20, 36, 36, 36, 29,
> +-
> +- 133, 31, 73, 85, 30, 85, 73, 32, 34, 31,
> +- 233, 31, 131, 30, 37, 37, 37, 33, 78, 38,
> +- 38, 38, 78, 39, 39, 39, 1097, 233, 35, 40,
> +- 40, 40, 144, 127, 41, 41, 41, 127, 53, 53,
> +- 53, 54, 54, 54, 135, 36, 144, 1098, 36, 55,
> +- 55, 55, 63, 63, 63, 37, 37, 38, 37, 1099,
> +- 38, 83, 83, 83, 177, 37, 825, 825, 38, 39,
> +- 41, 40, 53, 177, 135, 38, 40, 44, 44, 44,
> +- 44, 44, 44, 44, 44, 44, 63, 1100, 44, 44,
> +- 54, 44, 44, 55, 44, 44, 44, 44, 44, 56,
> +-
> +- 56, 56, 134, 57, 57, 57, 134, 59, 59, 59,
> +- 58, 58, 58, 1102, 60, 60, 60, 61, 61, 61,
> +- 224, 1103, 62, 62, 62, 64, 64, 64, 65, 65,
> +- 65, 224, 1104, 56, 66, 66, 66, 68, 68, 68,
> +- 56, 57, 1105, 56, 58, 59, 56, 94, 94, 94,
> +- 57, 60, 58, 129, 58, 61, 62, 58, 1106, 1109,
> +- 60, 67, 67, 67, 62, 240, 65, 147, 129, 62,
> +- 240, 147, 66, 64, 64, 66, 66, 179, 66, 179,
> +- 69, 69, 69, 68, 129, 66, 84, 68, 84, 84,
> +- 84, 172, 238, 88, 88, 172, 84, 84, 238, 67,
> +-
> +- 88, 88, 67, 67, 89, 89, 238, 175, 89, 89,
> +- 67, 175, 535, 95, 95, 95, 535, 67, 69, 96,
> +- 96, 96, 69, 319, 84, 84, 319, 69, 88, 88,
> +- 95, 97, 97, 97, 98, 98, 98, 99, 99, 99,
> +- 100, 100, 100, 96, 101, 101, 101, 102, 102, 102,
> +- 1110, 1111, 97, 103, 103, 103, 104, 104, 104, 105,
> +- 105, 105, 106, 106, 106, 107, 107, 107, 108, 108,
> +- 108, 99, 1112, 1113, 100, 109, 109, 109, 110, 110,
> +- 110, 98, 111, 111, 111, 112, 112, 112, 247, 1114,
> +- 101, 113, 113, 113, 114, 114, 114, 247, 1116, 102,
> +-
> +- 115, 115, 115, 105, 104, 103, 1117, 1118, 106, 116,
> +- 116, 116, 107, 117, 117, 117, 118, 118, 118, 108,
> +- 111, 109, 181, 110, 181, 1120, 113, 112, 119, 119,
> +- 119, 1121, 112, 120, 120, 120, 121, 121, 121, 137,
> +- 115, 114, 122, 122, 122, 137, 137, 117, 123, 123,
> +- 123, 124, 124, 124, 1126, 449, 116, 115, 125, 125,
> +- 125, 118, 117, 139, 141, 448, 141, 139, 449, 141,
> +- 448, 141, 151, 151, 151, 1127, 139, 119, 152, 152,
> +- 152, 153, 153, 153, 121, 120, 611, 154, 154, 154,
> +- 1128, 611, 122, 124, 155, 155, 155, 123, 1129, 125,
> +-
> +- 156, 156, 156, 157, 157, 157, 158, 158, 158, 159,
> +- 159, 159, 160, 160, 160, 675, 151, 161, 161, 161,
> +- 1130, 162, 162, 162, 1131, 153, 163, 163, 163, 675,
> +- 152, 154, 1132, 155, 164, 164, 164, 165, 165, 165,
> +- 166, 166, 166, 167, 167, 167, 169, 169, 169, 156,
> +- 168, 168, 168, 161, 157, 170, 170, 170, 160, 171,
> +- 171, 171, 178, 178, 163, 159, 162, 1133, 1134, 178,
> +- 178, 164, 187, 187, 187, 180, 180, 163, 180, 180,
> +- 180, 1137, 165, 167, 185, 185, 189, 189, 189, 187,
> +- 1138, 166, 185, 170, 169, 168, 1140, 178, 178, 713,
> +-
> +- 167, 713, 183, 183, 188, 188, 188, 1142, 171, 183,
> +- 183, 190, 190, 190, 191, 191, 191, 1143, 188, 189,
> +- 185, 188, 192, 192, 192, 193, 193, 193, 856, 194,
> +- 194, 194, 195, 195, 195, 856, 1144, 183, 183, 196,
> +- 196, 196, 197, 197, 197, 198, 198, 198, 199, 199,
> +- 199, 200, 200, 200, 1145, 190, 201, 201, 201, 202,
> +- 202, 202, 1146, 191, 194, 203, 203, 203, 204, 204,
> +- 204, 1151, 192, 226, 226, 193, 226, 195, 1135, 198,
> +- 1152, 1154, 199, 196, 205, 205, 205, 206, 206, 206,
> +- 1155, 1135, 197, 207, 207, 207, 201, 202, 208, 208,
> +-
> +- 208, 209, 209, 209, 210, 210, 210, 211, 211, 211,
> +- 212, 212, 212, 1156, 203, 213, 213, 213, 214, 214,
> +- 214, 204, 215, 215, 215, 1157, 216, 216, 216, 1158,
> +- 1160, 206, 217, 217, 217, 205, 218, 218, 218, 209,
> +- 1161, 230, 207, 1162, 208, 219, 219, 219, 1163, 220,
> +- 220, 220, 1164, 230, 1165, 210, 230, 761, 211, 1166,
> +- 215, 761, 212, 213, 216, 214, 255, 255, 255, 256,
> +- 256, 256, 1167, 761, 217, 257, 257, 257, 258, 258,
> +- 258, 1168, 219, 220, 259, 259, 259, 218, 260, 260,
> +- 260, 261, 261, 261, 262, 262, 262, 263, 263, 263,
> +-
> +- 264, 264, 264, 265, 265, 265, 1169, 256, 257, 266,
> +- 266, 266, 267, 267, 267, 1173, 255, 1174, 259, 268,
> +- 268, 268, 258, 269, 269, 269, 270, 270, 270, 271,
> +- 271, 271, 1175, 260, 274, 274, 274, 263, 264, 1176,
> +- 1178, 265, 272, 272, 272, 273, 273, 273, 262, 1179,
> +- 267, 266, 276, 1180, 276, 276, 276, 277, 1181, 277,
> +- 277, 277, 278, 278, 278, 1183, 268, 271, 277, 279,
> +- 279, 279, 270, 280, 280, 280, 1185, 1186, 273, 1187,
> +- 272, 279, 1189, 1194, 274, 281, 281, 281, 282, 282,
> +- 282, 281, 1197, 280, 1198, 1199, 277, 283, 283, 283,
> +-
> +- 284, 284, 284, 285, 285, 285, 281, 281, 281, 281,
> +- 1200, 286, 286, 286, 287, 287, 287, 288, 288, 288,
> +- 289, 289, 289, 290, 290, 290, 291, 291, 291, 292,
> +- 292, 292, 293, 293, 293, 294, 294, 294, 295, 295,
> +- 295, 296, 296, 296, 297, 297, 297, 298, 298, 298,
> +- 284, 299, 299, 299, 285, 286, 1201, 1202, 289, 288,
> +- 300, 300, 300, 301, 301, 301, 1208, 290, 1209, 294,
> +- 1210, 1212, 295, 302, 302, 302, 347, 291, 1213, 296,
> +- 347, 1217, 293, 347, 1218, 299, 297, 1219, 1224, 299,
> +- 303, 303, 303, 300, 304, 304, 304, 1227, 298, 305,
> +-
> +- 305, 305, 306, 306, 306, 307, 307, 307, 308, 308,
> +- 308, 1229, 1242, 301, 1087, 302, 309, 309, 309, 310,
> +- 310, 310, 311, 311, 311, 1086, 303, 356, 356, 356,
> +- 357, 357, 357, 358, 358, 358, 1085, 1083, 304, 359,
> +- 359, 359, 307, 360, 360, 360, 1082, 1081, 308, 361,
> +- 361, 361, 1080, 305, 362, 362, 362, 363, 363, 363,
> +- 364, 364, 364, 1079, 1077, 356, 1076, 1075, 309, 1074,
> +- 1073, 311, 359, 365, 365, 365, 1072, 366, 366, 366,
> +- 1071, 1070, 358, 361, 367, 367, 367, 368, 368, 368,
> +- 1069, 369, 369, 369, 1068, 360, 370, 370, 370, 1067,
> +-
> +- 1066, 362, 371, 371, 371, 1065, 364, 1064, 1063, 363,
> +- 372, 372, 372, 373, 373, 373, 375, 375, 375, 1062,
> +- 376, 376, 376, 365, 366, 369, 378, 378, 378, 369,
> +- 377, 377, 377, 367, 1061, 375, 380, 380, 380, 371,
> +- 368, 379, 379, 379, 372, 376, 370, 1060, 1052, 377,
> +- 381, 381, 381, 1051, 372, 373, 378, 382, 382, 382,
> +- 1050, 379, 1049, 1048, 381, 380, 1045, 381, 383, 383,
> +- 383, 384, 384, 384, 381, 385, 385, 385, 386, 386,
> +- 386, 387, 387, 387, 388, 388, 388, 389, 389, 389,
> +- 390, 390, 390, 391, 391, 391, 392, 392, 392, 1044,
> +-
> +- 393, 393, 393, 394, 394, 394, 395, 395, 395, 384,
> +- 1043, 385, 396, 396, 396, 397, 397, 397, 398, 398,
> +- 398, 399, 399, 399, 400, 400, 400, 401, 401, 401,
> +- 1042, 1041, 392, 677, 677, 389, 393, 402, 402, 402,
> +- 1039, 390, 677, 1038, 391, 403, 403, 403, 677, 396,
> +- 395, 404, 404, 404, 405, 405, 405, 399, 406, 406,
> +- 406, 401, 451, 451, 451, 1037, 397, 452, 452, 452,
> +- 453, 453, 453, 1036, 1035, 400, 1034, 454, 454, 454,
> +- 455, 455, 455, 403, 456, 456, 456, 1033, 405, 1032,
> +- 1031, 406, 457, 457, 457, 1030, 1029, 404, 458, 458,
> +-
> +- 458, 452, 1028, 459, 459, 459, 460, 460, 460, 461,
> +- 461, 461, 462, 462, 462, 463, 463, 463, 1027, 1026,
> +- 453, 454, 464, 464, 464, 1025, 457, 465, 465, 465,
> +- 1024, 455, 1023, 456, 466, 466, 466, 467, 467, 467,
> +- 468, 468, 468, 467, 469, 469, 469, 461, 458, 459,
> +- 471, 471, 471, 470, 470, 470, 462, 471, 1022, 1021,
> +- 470, 470, 470, 462, 468, 1012, 463, 1011, 1010, 465,
> +- 470, 464, 1009, 470, 469, 1007, 1006, 470, 470, 1005,
> +- 1004, 466, 472, 472, 472, 473, 473, 473, 474, 474,
> +- 474, 475, 475, 475, 476, 476, 476, 473, 477, 477,
> +-
> +- 477, 1003, 472, 1002, 1001, 475, 999, 998, 474, 478,
> +- 478, 478, 479, 479, 479, 480, 480, 480, 481, 481,
> +- 481, 482, 482, 482, 483, 483, 483, 484, 484, 484,
> +- 485, 485, 485, 486, 486, 486, 487, 487, 487, 997,
> +- 477, 996, 995, 478, 488, 488, 488, 489, 489, 489,
> +- 490, 490, 490, 480, 491, 491, 491, 994, 993, 479,
> +- 492, 492, 492, 495, 495, 539, 539, 539, 992, 481,
> +- 540, 540, 540, 991, 483, 541, 541, 541, 990, 495,
> +- 495, 542, 542, 542, 495, 989, 489, 988, 490, 987,
> +- 543, 543, 543, 986, 985, 488, 984, 983, 491, 544,
> +-
> +- 544, 544, 545, 545, 545, 982, 981, 539, 546, 546,
> +- 546, 492, 547, 547, 547, 548, 548, 548, 549, 549,
> +- 549, 980, 540, 550, 550, 550, 541, 543, 551, 551,
> +- 551, 552, 552, 552, 553, 553, 553, 979, 968, 544,
> +- 545, 967, 546, 966, 965, 547, 554, 554, 554, 964,
> +- 963, 553, 549, 962, 555, 555, 555, 556, 556, 556,
> +- 557, 557, 557, 550, 961, 960, 557, 548, 558, 558,
> +- 558, 959, 958, 551, 559, 559, 559, 552, 555, 560,
> +- 560, 560, 558, 556, 957, 956, 560, 955, 559, 561,
> +- 561, 561, 562, 562, 562, 563, 563, 563, 564, 564,
> +-
> +- 564, 565, 565, 565, 954, 564, 561, 566, 566, 566,
> +- 563, 567, 567, 567, 568, 568, 568, 953, 562, 951,
> +- 565, 950, 562, 569, 569, 569, 570, 570, 570, 571,
> +- 571, 571, 566, 572, 572, 572, 573, 573, 573, 574,
> +- 574, 574, 567, 575, 575, 575, 576, 576, 576, 577,
> +- 577, 577, 578, 578, 578, 630, 630, 630, 949, 569,
> +- 631, 631, 631, 947, 946, 568, 632, 632, 632, 945,
> +- 944, 572, 634, 634, 634, 570, 943, 574, 633, 633,
> +- 633, 942, 941, 576, 635, 635, 635, 636, 636, 636,
> +- 637, 637, 637, 638, 638, 638, 639, 639, 639, 632,
> +-
> +- 640, 640, 640, 940, 939, 630, 938, 937, 631, 936,
> +- 634, 633, 641, 641, 641, 642, 642, 642, 935, 643,
> +- 643, 643, 635, 644, 644, 644, 645, 645, 645, 934,
> +- 933, 636, 918, 917, 637, 916, 915, 645, 914, 913,
> +- 644, 639, 638, 643, 646, 646, 646, 647, 647, 647,
> +- 912, 911, 640, 910, 641, 647, 648, 648, 648, 909,
> +- 907, 646, 649, 649, 649, 650, 650, 650, 651, 651,
> +- 651, 652, 652, 652, 653, 653, 653, 649, 906, 650,
> +- 648, 654, 654, 654, 653, 655, 655, 655, 902, 651,
> +- 901, 655, 652, 656, 656, 656, 654, 657, 657, 657,
> +-
> +- 658, 658, 658, 659, 659, 659, 900, 657, 660, 660,
> +- 660, 661, 661, 661, 662, 662, 662, 663, 663, 663,
> +- 714, 714, 714, 715, 715, 715, 656, 716, 716, 716,
> +- 717, 717, 717, 718, 718, 718, 719, 719, 719, 899,
> +- 898, 659, 720, 720, 720, 721, 721, 721, 661, 722,
> +- 722, 722, 897, 896, 716, 723, 723, 723, 714, 895,
> +- 894, 715, 893, 892, 717, 724, 724, 724, 725, 725,
> +- 725, 726, 726, 726, 727, 727, 727, 728, 728, 728,
> +- 729, 729, 729, 721, 730, 730, 730, 722, 728, 731,
> +- 731, 731, 891, 890, 727, 889, 888, 729, 732, 732,
> +-
> +- 732, 887, 886, 723, 733, 733, 733, 885, 732, 730,
> +- 724, 884, 733, 883, 731, 734, 734, 734, 882, 725,
> +- 735, 735, 735, 736, 736, 736, 737, 737, 737, 881,
> +- 735, 736, 734, 738, 738, 738, 739, 739, 739, 740,
> +- 740, 740, 880, 879, 739, 739, 741, 741, 741, 857,
> +- 738, 742, 742, 742, 790, 790, 790, 855, 854, 737,
> +- 791, 791, 791, 792, 792, 792, 793, 793, 793, 794,
> +- 794, 794, 740, 795, 795, 795, 796, 796, 796, 797,
> +- 797, 797, 798, 798, 798, 853, 851, 790, 799, 799,
> +- 799, 800, 800, 800, 801, 801, 801, 802, 802, 802,
> +-
> +- 801, 800, 850, 794, 849, 792, 803, 803, 803, 791,
> +- 804, 804, 804, 799, 848, 793, 846, 797, 804, 845,
> +- 798, 805, 805, 805, 806, 806, 806, 807, 807, 807,
> +- 844, 805, 843, 842, 806, 808, 808, 808, 809, 809,
> +- 809, 810, 810, 810, 841, 840, 809, 809, 811, 811,
> +- 811, 812, 812, 812, 813, 813, 813, 858, 858, 858,
> +- 808, 859, 859, 859, 839, 812, 838, 837, 811, 860,
> +- 860, 860, 861, 861, 861, 836, 862, 862, 862, 813,
> +- 863, 863, 863, 864, 864, 864, 865, 865, 865, 835,
> +- 834, 866, 866, 866, 859, 867, 867, 867, 868, 868,
> +-
> +- 868, 833, 867, 832, 829, 858, 869, 869, 869, 870,
> +- 870, 870, 861, 862, 866, 871, 871, 871, 860, 828,
> +- 864, 827, 826, 868, 824, 823, 863, 872, 872, 872,
> +- 873, 873, 873, 874, 874, 874, 875, 875, 875, 876,
> +- 876, 876, 822, 821, 873, 820, 819, 872, 919, 919,
> +- 919, 818, 874, 920, 920, 920, 921, 921, 921, 817,
> +- 875, 922, 922, 922, 923, 923, 923, 924, 924, 924,
> +- 925, 925, 925, 926, 926, 926, 927, 927, 927, 928,
> +- 928, 928, 929, 929, 929, 930, 930, 930, 931, 931,
> +- 931, 816, 815, 927, 814, 920, 932, 932, 932, 789,
> +-
> +- 788, 929, 787, 925, 919, 785, 923, 921, 784, 930,
> +- 969, 969, 969, 922, 970, 970, 970, 781, 924, 971,
> +- 971, 971, 972, 972, 972, 779, 973, 973, 973, 974,
> +- 974, 974, 975, 975, 975, 976, 976, 976, 977, 977,
> +- 977, 778, 777, 969, 776, 976, 978, 978, 978, 1013,
> +- 1013, 1013, 1014, 1014, 1014, 1015, 1015, 1015, 775, 774,
> +- 970, 773, 974, 1016, 1016, 1016, 975, 972, 1017, 1017,
> +- 1017, 971, 973, 1018, 1018, 1018, 1019, 1019, 1019, 1020,
> +- 1020, 1020, 1053, 1053, 1053, 772, 771, 1013, 770, 1015,
> +- 1054, 1054, 1054, 769, 1014, 1055, 1055, 1055, 1056, 1056,
> +-
> +- 1056, 1016, 1057, 1057, 1057, 1059, 1059, 1059, 1017, 1058,
> +- 1058, 1058, 1089, 1089, 1089, 1090, 1090, 1090, 767, 1018,
> +- 1091, 1091, 1091, 766, 1019, 1092, 1092, 1092, 765, 764,
> +- 1091, 763, 1093, 1093, 1093, 762, 760, 1053, 759, 1055,
> +- 758, 1054, 757, 1058, 1056, 756, 755, 1059, 1089, 1094,
> +- 1094, 1094, 1122, 1122, 1122, 1123, 1123, 1123, 1124, 1124,
> +- 1124, 1125, 1125, 1125, 1147, 1147, 1147, 1148, 1148, 1148,
> +- 1149, 1149, 1149, 1150, 1150, 1150, 1092, 1093, 1170, 1170,
> +- 1170, 1171, 1171, 1171, 1172, 1172, 1172, 1191, 1191, 1191,
> +- 1122, 1190, 1190, 1190, 1205, 1205, 1205, 754, 753, 1125,
> +-
> +- 1206, 1206, 1206, 752, 1123, 1214, 1214, 1214, 1124, 1215,
> +- 1215, 1215, 1147, 1206, 751, 750, 1148, 1221, 1221, 1221,
> +- 1222, 1222, 1222, 1150, 1226, 1226, 1226, 749, 1171, 1170,
> +- 1228, 1228, 1228, 1190, 748, 747, 1191, 1230, 1230, 1230,
> +- 746, 1205, 745, 1215, 1232, 1232, 1232, 1233, 1233, 1233,
> +- 744, 1214, 743, 712, 711, 710, 709, 708, 707, 705,
> +- 704, 1226, 703, 702, 701, 700, 1222, 699, 698, 697,
> +- 696, 695, 694, 693, 1228, 1230, 692, 690, 689, 687,
> +- 685, 684, 683, 680, 679, 678, 674, 673, 671, 670,
> +- 669, 668, 667, 1232, 1235, 1235, 1235, 1235, 1236, 1236,
> +-
> +- 1236, 1236, 1237, 1237, 1237, 1237, 1238, 1238, 1238, 1238,
> +- 1239, 1239, 1240, 1240, 1241, 666, 1241, 1241, 665, 664,
> +- 629, 628, 627, 626, 625, 624, 623, 622, 621, 620,
> +- 619, 618, 617, 616, 614, 613, 612, 610, 609, 608,
> +- 607, 606, 605, 604, 602, 601, 600, 599, 598, 597,
> +- 596, 595, 594, 593, 592, 591, 590, 589, 588, 587,
> +- 586, 585, 584, 583, 582, 581, 580, 579, 538, 537,
> +- 536, 534, 533, 532, 531, 530, 529, 528, 527, 526,
> +- 525, 524, 523, 522, 521, 520, 519, 518, 517, 516,
> +- 515, 514, 513, 512, 511, 510, 509, 508, 507, 506,
> +-
> +- 505, 504, 503, 502, 501, 500, 499, 498, 497, 496,
> +- 494, 493, 450, 447, 446, 445, 444, 443, 442, 441,
> +- 440, 439, 438, 437, 436, 435, 434, 433, 432, 431,
> +- 430, 429, 428, 427, 426, 425, 424, 423, 422, 421,
> +- 420, 419, 418, 417, 416, 415, 414, 413, 412, 411,
> +- 410, 409, 408, 407, 354, 353, 352, 351, 350, 349,
> +- 348, 346, 345, 344, 343, 342, 341, 340, 339, 338,
> +- 337, 336, 335, 334, 333, 332, 331, 330, 329, 328,
> +- 327, 326, 325, 324, 322, 321, 320, 318, 317, 316,
> +- 315, 314, 313, 275, 254, 253, 252, 251, 250, 249,
> +-
> +- 248, 246, 244, 243, 242, 241, 239, 237, 235, 234,
> +- 232, 231, 229, 228, 227, 225, 223, 222, 221, 176,
> +- 174, 173, 149, 148, 146, 145, 143, 142, 140, 138,
> +- 136, 130, 81, 77, 74, 71, 51, 48, 42, 22,
> +- 21, 11, 9, 3, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> ++ 18, 18, 18, 18, 82, 82, 24, 24, 24, 25,
> ++ 25, 25, 7, 26, 26, 26, 44, 15, 48, 135,
> ++ 44, 7, 48, 7, 7, 1112, 7, 7, 135, 7,
> ++ 7, 7, 24, 7, 7, 7, 7, 7, 7, 7,
> ++ 7, 20, 147, 20, 20, 1121, 26, 27, 27, 27,
> ++ 20, 20, 28, 28, 28, 77, 147, 20, 30, 30,
> ++ 30, 27, 29, 29, 29, 25, 20, 31, 31, 31,
> ++ 32, 32, 32, 33, 33, 33, 188, 188, 20, 20,
> ++ 34, 34, 34, 84, 20, 84, 35, 35, 35, 36,
> ++ 36, 36, 20, 1122, 77, 20, 37, 37, 37, 28,
> ++
> ++ 38, 38, 38, 29, 32, 30, 29, 72, 87, 29,
> ++ 87, 72, 32, 31, 32, 39, 39, 39, 134, 33,
> ++ 35, 238, 31, 40, 40, 40, 1123, 34, 41, 41,
> ++ 41, 42, 42, 42, 54, 54, 54, 36, 238, 75,
> ++ 136, 38, 38, 75, 38, 37, 80, 134, 37, 136,
> ++ 80, 38, 458, 39, 181, 229, 39, 55, 55, 55,
> ++ 56, 56, 56, 181, 39, 458, 229, 42, 54, 40,
> ++ 41, 39, 58, 58, 58, 41, 45, 45, 45, 45,
> ++ 45, 45, 45, 45, 45, 130, 1124, 45, 45, 130,
> ++ 45, 45, 1125, 45, 45, 45, 45, 45, 57, 57,
> ++
> ++ 57, 61, 61, 61, 56, 132, 55, 59, 59, 59,
> ++ 58, 1127, 60, 60, 60, 62, 62, 62, 138, 58,
> ++ 132, 63, 63, 63, 64, 64, 64, 65, 65, 65,
> ++ 875, 235, 57, 66, 66, 66, 132, 875, 61, 57,
> ++ 137, 59, 57, 235, 137, 57, 235, 61, 138, 59,
> ++ 60, 59, 150, 62, 59, 63, 150, 245, 64, 67,
> ++ 67, 67, 245, 63, 68, 68, 68, 1128, 63, 69,
> ++ 69, 69, 85, 85, 85, 65, 65, 70, 70, 70,
> ++ 142, 183, 66, 183, 142, 66, 71, 71, 71, 66,
> ++ 91, 91, 176, 142, 91, 91, 176, 67, 96, 96,
> ++
> ++ 96, 185, 68, 185, 457, 68, 68, 69, 68, 457,
> ++ 69, 69, 90, 90, 728, 68, 728, 179, 69, 90,
> ++ 90, 179, 546, 70, 71, 69, 546, 70, 71, 97,
> ++ 97, 97, 86, 71, 86, 86, 86, 1129, 140, 98,
> ++ 98, 98, 86, 86, 140, 140, 97, 90, 90, 99,
> ++ 99, 99, 1130, 100, 100, 100, 101, 101, 101, 102,
> ++ 102, 102, 103, 103, 103, 104, 104, 104, 844, 844,
> ++ 86, 86, 98, 99, 100, 105, 105, 105, 106, 106,
> ++ 106, 107, 107, 107, 108, 108, 108, 109, 109, 109,
> ++ 110, 110, 110, 102, 1131, 1134, 103, 111, 111, 111,
> ++
> ++ 112, 112, 112, 101, 113, 113, 113, 114, 114, 114,
> ++ 1135, 104, 115, 115, 115, 116, 116, 116, 117, 117,
> ++ 117, 118, 118, 118, 119, 119, 119, 105, 108, 107,
> ++ 106, 1136, 1137, 109, 120, 120, 120, 110, 252, 121,
> ++ 121, 121, 122, 122, 122, 114, 112, 252, 111, 113,
> ++ 116, 123, 123, 123, 115, 624, 124, 124, 124, 115,
> ++ 624, 118, 125, 125, 125, 117, 231, 231, 120, 231,
> ++ 1138, 119, 126, 126, 126, 127, 127, 127, 118, 128,
> ++ 128, 128, 1139, 120, 121, 144, 326, 144, 690, 326,
> ++ 144, 122, 144, 154, 154, 154, 155, 155, 155, 156,
> ++
> ++ 156, 156, 690, 123, 124, 157, 157, 157, 158, 158,
> ++ 158, 1141, 125, 159, 159, 159, 1142, 127, 1143, 1145,
> ++ 128, 126, 160, 160, 160, 161, 161, 161, 162, 162,
> ++ 162, 163, 163, 163, 164, 164, 164, 154, 165, 165,
> ++ 165, 1146, 1152, 156, 166, 166, 166, 158, 155, 157,
> ++ 167, 167, 167, 168, 168, 168, 169, 169, 169, 170,
> ++ 170, 170, 159, 171, 171, 171, 172, 172, 172, 1153,
> ++ 164, 1154, 1155, 160, 173, 173, 173, 163, 174, 174,
> ++ 174, 1156, 166, 165, 162, 1157, 168, 167, 175, 175,
> ++ 175, 182, 182, 354, 1158, 166, 1159, 354, 182, 182,
> ++
> ++ 354, 169, 1160, 171, 184, 184, 1161, 184, 184, 184,
> ++ 170, 172, 1163, 189, 189, 1164, 174, 187, 187, 1161,
> ++ 171, 189, 173, 1166, 187, 187, 182, 182, 191, 191,
> ++ 191, 192, 192, 192, 193, 193, 193, 175, 194, 194,
> ++ 194, 195, 195, 195, 1168, 191, 1169, 1170, 193, 189,
> ++ 1171, 193, 187, 187, 196, 196, 196, 197, 197, 197,
> ++ 198, 198, 198, 199, 199, 199, 200, 200, 200, 1172,
> ++ 1177, 194, 201, 201, 201, 202, 202, 202, 203, 203,
> ++ 203, 192, 205, 205, 205, 195, 204, 204, 204, 206,
> ++ 206, 206, 207, 207, 207, 208, 208, 208, 199, 209,
> ++
> ++ 209, 209, 1178, 196, 210, 210, 210, 197, 1180, 1181,
> ++ 198, 200, 203, 211, 211, 211, 201, 212, 212, 212,
> ++ 204, 213, 213, 213, 1182, 202, 214, 214, 214, 206,
> ++ 207, 215, 215, 215, 216, 216, 216, 217, 217, 217,
> ++ 218, 218, 218, 1183, 208, 219, 219, 219, 220, 220,
> ++ 220, 1184, 209, 1186, 1187, 210, 1188, 211, 221, 221,
> ++ 221, 222, 222, 222, 214, 1189, 212, 213, 223, 223,
> ++ 223, 224, 224, 224, 1190, 225, 225, 225, 260, 260,
> ++ 260, 243, 215, 1191, 1192, 216, 220, 243, 218, 217,
> ++ 1193, 1194, 219, 1195, 1199, 243, 221, 261, 261, 261,
> ++
> ++ 262, 262, 262, 222, 263, 263, 263, 1200, 224, 225,
> ++ 264, 264, 264, 265, 265, 265, 266, 266, 266, 223,
> ++ 267, 267, 267, 268, 268, 268, 1201, 1202, 260, 269,
> ++ 269, 269, 1204, 262, 1205, 261, 1206, 270, 270, 270,
> ++ 271, 271, 271, 1207, 264, 272, 272, 272, 263, 273,
> ++ 273, 273, 1209, 274, 274, 274, 1211, 1212, 265, 275,
> ++ 275, 275, 1213, 268, 276, 276, 276, 269, 277, 277,
> ++ 277, 278, 278, 278, 267, 270, 1215, 778, 279, 279,
> ++ 279, 778, 271, 272, 280, 280, 280, 282, 1220, 282,
> ++ 282, 282, 283, 778, 283, 283, 283, 1223, 1224, 273,
> ++
> ++ 274, 1225, 1226, 283, 1227, 1228, 277, 1234, 1235, 278,
> ++ 276, 279, 284, 284, 284, 285, 285, 285, 286, 286,
> ++ 286, 287, 287, 287, 1236, 1238, 288, 288, 288, 1239,
> ++ 286, 283, 288, 1243, 280, 289, 289, 289, 290, 290,
> ++ 290, 287, 291, 291, 291, 1244, 1245, 288, 288, 288,
> ++ 288, 292, 292, 292, 293, 293, 293, 294, 294, 294,
> ++ 1250, 295, 295, 295, 1253, 285, 296, 296, 296, 297,
> ++ 297, 297, 298, 298, 298, 299, 299, 299, 300, 300,
> ++ 300, 301, 301, 301, 302, 302, 302, 303, 303, 303,
> ++ 1255, 1268, 291, 304, 304, 304, 1111, 1110, 293, 305,
> ++
> ++ 305, 305, 292, 295, 296, 306, 306, 306, 307, 307,
> ++ 307, 1109, 1107, 297, 1106, 301, 1105, 1104, 302, 308,
> ++ 308, 308, 1103, 298, 1101, 303, 1100, 1099, 300, 309,
> ++ 309, 309, 310, 310, 310, 304, 311, 311, 311, 306,
> ++ 1098, 307, 1097, 306, 312, 312, 312, 313, 313, 313,
> ++ 305, 314, 314, 314, 315, 315, 315, 316, 316, 316,
> ++ 317, 317, 317, 318, 318, 318, 1096, 1095, 310, 308,
> ++ 1094, 309, 363, 363, 363, 364, 364, 364, 692, 692,
> ++ 311, 365, 365, 365, 366, 366, 366, 692, 314, 367,
> ++ 367, 367, 1093, 692, 315, 368, 368, 368, 312, 369,
> ++
> ++ 369, 369, 370, 370, 370, 371, 371, 371, 1092, 316,
> ++ 363, 1091, 318, 372, 372, 372, 1090, 366, 373, 373,
> ++ 373, 374, 374, 374, 375, 375, 375, 1089, 1088, 368,
> ++ 365, 376, 376, 376, 377, 377, 377, 378, 378, 378,
> ++ 1087, 367, 379, 379, 379, 1086, 369, 380, 380, 380,
> ++ 1085, 371, 1084, 1075, 370, 381, 381, 381, 383, 383,
> ++ 383, 1074, 1073, 372, 1072, 373, 1071, 1068, 377, 1067,
> ++ 374, 1066, 377, 1065, 375, 384, 384, 384, 1064, 379,
> ++ 1062, 380, 1061, 1060, 376, 1059, 1058, 378, 385, 385,
> ++ 385, 380, 1057, 1056, 384, 1055, 1054, 381, 1053, 1052,
> ++
> ++ 383, 386, 386, 386, 387, 387, 387, 388, 388, 388,
> ++ 389, 389, 389, 385, 390, 390, 390, 391, 391, 391,
> ++ 386, 392, 392, 392, 393, 393, 393, 388, 390, 1051,
> ++ 1050, 390, 1049, 1048, 387, 394, 394, 394, 390, 389,
> ++ 395, 395, 395, 396, 396, 396, 397, 397, 397, 398,
> ++ 398, 398, 399, 399, 399, 400, 400, 400, 401, 401,
> ++ 401, 1047, 393, 402, 402, 402, 403, 403, 403, 1046,
> ++ 1045, 394, 404, 404, 404, 405, 405, 405, 406, 406,
> ++ 406, 407, 407, 407, 408, 408, 408, 409, 409, 409,
> ++ 410, 410, 410, 1044, 401, 1034, 1033, 398, 1032, 402,
> ++
> ++ 411, 411, 411, 399, 1031, 1029, 400, 412, 412, 412,
> ++ 1028, 1027, 405, 413, 413, 413, 404, 414, 414, 414,
> ++ 408, 415, 415, 415, 410, 460, 460, 460, 1026, 406,
> ++ 461, 461, 461, 462, 462, 462, 1025, 1024, 409, 1023,
> ++ 463, 463, 463, 1021, 1020, 412, 464, 464, 464, 1019,
> ++ 1018, 414, 1017, 1016, 415, 465, 465, 465, 1015, 413,
> ++ 466, 466, 466, 1014, 461, 467, 467, 467, 468, 468,
> ++ 468, 469, 469, 469, 470, 470, 470, 1013, 1012, 471,
> ++ 471, 471, 1011, 462, 463, 472, 472, 472, 473, 473,
> ++ 473, 474, 474, 474, 466, 1010, 1009, 464, 1008, 475,
> ++
> ++ 475, 475, 1007, 1006, 465, 476, 476, 476, 477, 477,
> ++ 477, 479, 479, 479, 468, 467, 470, 471, 478, 478,
> ++ 478, 480, 480, 480, 478, 481, 481, 481, 1005, 472,
> ++ 1004, 1003, 481, 481, 481, 479, 472, 1002, 1001, 473,
> ++ 474, 475, 481, 989, 988, 481, 482, 482, 482, 481,
> ++ 481, 480, 476, 482, 483, 483, 483, 484, 484, 484,
> ++ 485, 485, 485, 987, 986, 477, 487, 487, 487, 484,
> ++ 486, 486, 486, 985, 483, 488, 488, 488, 984, 983,
> ++ 485, 489, 489, 489, 486, 490, 490, 490, 491, 491,
> ++ 491, 492, 492, 492, 493, 493, 493, 494, 494, 494,
> ++
> ++ 495, 495, 495, 496, 496, 496, 497, 497, 497, 498,
> ++ 498, 498, 499, 499, 499, 489, 982, 488, 500, 500,
> ++ 500, 501, 501, 501, 506, 506, 491, 502, 502, 502,
> ++ 981, 980, 490, 503, 503, 503, 550, 550, 550, 979,
> ++ 506, 506, 492, 978, 977, 506, 976, 494, 551, 551,
> ++ 551, 552, 552, 552, 553, 553, 553, 500, 975, 501,
> ++ 554, 554, 554, 499, 555, 555, 555, 556, 556, 556,
> ++ 974, 502, 557, 557, 557, 558, 558, 558, 550, 559,
> ++ 559, 559, 972, 971, 503, 560, 560, 560, 561, 561,
> ++ 561, 562, 562, 562, 563, 563, 563, 554, 970, 968,
> ++
> ++ 551, 967, 552, 966, 555, 556, 557, 564, 564, 564,
> ++ 965, 964, 559, 565, 565, 565, 566, 566, 566, 567,
> ++ 567, 567, 561, 568, 568, 568, 569, 569, 569, 963,
> ++ 962, 562, 558, 566, 570, 570, 570, 560, 961, 563,
> ++ 570, 571, 571, 571, 572, 572, 572, 568, 574, 574,
> ++ 574, 565, 569, 564, 960, 571, 959, 958, 572, 573,
> ++ 573, 573, 575, 575, 575, 574, 573, 576, 576, 576,
> ++ 577, 577, 577, 957, 578, 578, 578, 577, 579, 579,
> ++ 579, 956, 576, 580, 580, 580, 955, 954, 575, 581,
> ++ 581, 581, 575, 578, 582, 582, 582, 583, 583, 583,
> ++
> ++ 584, 584, 584, 579, 585, 585, 585, 586, 586, 586,
> ++ 587, 587, 587, 938, 580, 588, 588, 588, 589, 589,
> ++ 589, 590, 590, 590, 591, 591, 591, 643, 643, 643,
> ++ 582, 644, 644, 644, 645, 645, 645, 646, 646, 646,
> ++ 581, 937, 585, 647, 647, 647, 583, 936, 587, 648,
> ++ 648, 648, 649, 649, 649, 589, 650, 650, 650, 651,
> ++ 651, 651, 652, 652, 652, 935, 934, 645, 933, 932,
> ++ 646, 653, 653, 653, 654, 654, 654, 643, 931, 644,
> ++ 930, 647, 655, 655, 655, 929, 927, 648, 656, 656,
> ++ 656, 658, 658, 658, 650, 926, 649, 657, 657, 657,
> ++
> ++ 659, 659, 659, 651, 661, 661, 661, 660, 660, 660,
> ++ 922, 652, 662, 662, 662, 658, 653, 659, 660, 921,
> ++ 662, 661, 920, 919, 655, 918, 654, 663, 663, 663,
> ++ 657, 664, 664, 664, 665, 665, 665, 666, 666, 666,
> ++ 667, 667, 667, 668, 668, 668, 664, 917, 665, 916,
> ++ 915, 663, 914, 668, 669, 669, 669, 913, 666, 912,
> ++ 911, 667, 670, 670, 670, 671, 671, 671, 670, 669,
> ++ 672, 672, 672, 673, 673, 673, 674, 674, 674, 910,
> ++ 672, 675, 675, 675, 676, 676, 676, 677, 677, 677,
> ++ 678, 678, 678, 729, 729, 729, 909, 908, 671, 730,
> ++
> ++ 730, 730, 731, 731, 731, 732, 732, 732, 733, 733,
> ++ 733, 734, 734, 734, 674, 735, 735, 735, 736, 736,
> ++ 736, 676, 737, 737, 737, 738, 738, 738, 907, 731,
> ++ 906, 729, 739, 739, 739, 905, 904, 730, 903, 732,
> ++ 740, 740, 740, 741, 741, 741, 742, 742, 742, 902,
> ++ 901, 736, 743, 743, 743, 744, 744, 744, 900, 899,
> ++ 737, 876, 874, 738, 873, 745, 745, 745, 872, 746,
> ++ 746, 746, 758, 758, 758, 744, 745, 747, 747, 747,
> ++ 739, 748, 748, 748, 870, 740, 746, 869, 749, 749,
> ++ 749, 750, 750, 750, 741, 868, 867, 742, 749, 750,
> ++
> ++ 865, 864, 747, 751, 751, 751, 748, 752, 752, 752,
> ++ 753, 753, 753, 754, 754, 754, 863, 752, 753, 862,
> ++ 751, 755, 755, 755, 756, 756, 756, 757, 757, 757,
> ++ 861, 860, 756, 756, 759, 759, 759, 859, 755, 807,
> ++ 807, 807, 808, 808, 808, 858, 754, 809, 809, 809,
> ++ 810, 810, 810, 811, 811, 811, 812, 812, 812, 857,
> ++ 757, 813, 813, 813, 814, 814, 814, 815, 815, 815,
> ++ 856, 855, 807, 816, 816, 816, 817, 817, 817, 854,
> ++ 853, 818, 818, 818, 819, 819, 819, 852, 851, 809,
> ++ 812, 808, 848, 847, 819, 820, 820, 820, 846, 810,
> ++
> ++ 845, 820, 843, 842, 811, 815, 818, 821, 821, 821,
> ++ 841, 816, 822, 822, 822, 823, 823, 823, 824, 824,
> ++ 824, 840, 839, 823, 825, 825, 825, 838, 824, 826,
> ++ 826, 826, 837, 836, 825, 827, 827, 827, 828, 828,
> ++ 828, 829, 829, 829, 835, 834, 828, 828, 830, 830,
> ++ 830, 831, 831, 831, 832, 832, 832, 877, 877, 877,
> ++ 827, 878, 878, 878, 833, 831, 806, 805, 830, 879,
> ++ 879, 879, 880, 880, 880, 881, 881, 881, 804, 832,
> ++ 882, 882, 882, 883, 883, 883, 884, 884, 884, 885,
> ++ 885, 885, 802, 801, 878, 798, 886, 886, 886, 887,
> ++
> ++ 887, 887, 888, 888, 888, 877, 887, 796, 881, 889,
> ++ 889, 889, 880, 890, 890, 890, 795, 882, 879, 886,
> ++ 891, 891, 891, 884, 892, 892, 892, 888, 794, 883,
> ++ 793, 893, 893, 893, 894, 894, 894, 895, 895, 895,
> ++ 896, 896, 896, 792, 892, 893, 939, 939, 939, 940,
> ++ 940, 940, 791, 894, 941, 941, 941, 942, 942, 942,
> ++ 790, 895, 943, 943, 943, 944, 944, 944, 945, 945,
> ++ 945, 946, 946, 946, 947, 947, 947, 948, 948, 948,
> ++ 949, 949, 949, 789, 950, 950, 950, 951, 951, 951,
> ++ 788, 940, 787, 786, 948, 952, 952, 952, 943, 953,
> ++
> ++ 953, 953, 939, 950, 946, 941, 784, 944, 783, 942,
> ++ 782, 951, 990, 990, 990, 991, 991, 991, 781, 945,
> ++ 992, 992, 992, 993, 993, 993, 994, 994, 994, 995,
> ++ 995, 995, 996, 996, 996, 997, 997, 997, 998, 998,
> ++ 998, 999, 999, 999, 780, 990, 779, 777, 998, 1000,
> ++ 1000, 1000, 1035, 1035, 1035, 1036, 1036, 1036, 1037, 1037,
> ++ 1037, 991, 1038, 1038, 1038, 996, 776, 775, 993, 997,
> ++ 994, 774, 992, 773, 772, 995, 1039, 1039, 1039, 1040,
> ++ 1040, 1040, 1041, 1041, 1041, 1042, 1042, 1042, 771, 770,
> ++ 1035, 769, 1037, 1043, 1043, 1043, 768, 1036, 767, 766,
> ++
> ++ 1038, 1076, 1076, 1076, 1077, 1077, 1077, 1078, 1078, 1078,
> ++ 765, 1079, 1079, 1079, 1039, 1080, 1080, 1080, 764, 1040,
> ++ 1081, 1081, 1081, 763, 1082, 1082, 1082, 762, 1041, 1083,
> ++ 1083, 1083, 761, 1042, 1113, 1113, 1113, 1114, 1114, 1114,
> ++ 1115, 1115, 1115, 1116, 1116, 1116, 1117, 1117, 1117, 1080,
> ++ 1115, 1078, 1118, 1118, 1118, 1077, 1076, 1079, 1082, 1119,
> ++ 1119, 1119, 1147, 1147, 1147, 1148, 1148, 1148, 760, 727,
> ++ 1113, 1083, 1149, 1149, 1149, 1150, 1150, 1150, 1151, 1151,
> ++ 1151, 1173, 1173, 1173, 1174, 1174, 1174, 1175, 1175, 1175,
> ++ 726, 725, 1117, 724, 1116, 723, 722, 1118, 720, 719,
> ++
> ++ 1147, 1176, 1176, 1176, 1196, 1196, 1196, 1197, 1197, 1197,
> ++ 1198, 1198, 1198, 718, 1148, 717, 1151, 1216, 1216, 1216,
> ++ 716, 715, 1149, 1217, 1217, 1217, 1231, 1231, 1231, 1173,
> ++ 1232, 1232, 1232, 1174, 1240, 1240, 1240, 1241, 1241, 1241,
> ++ 1247, 1247, 1247, 1232, 1248, 1248, 1248, 1252, 1252, 1252,
> ++ 714, 1176, 713, 712, 1197, 1196, 1254, 1254, 1254, 1216,
> ++ 1256, 1256, 1256, 1258, 1258, 1258, 1259, 1259, 1259, 711,
> ++ 710, 1241, 1217, 1231, 709, 708, 707, 705, 704, 702,
> ++ 1240, 700, 699, 698, 1252, 695, 694, 693, 689, 688,
> ++ 1248, 686, 685, 684, 683, 682, 681, 680, 1256, 679,
> ++
> ++ 1254, 642, 641, 640, 639, 638, 637, 636, 635, 634,
> ++ 633, 632, 1258, 1261, 1261, 1261, 1261, 1262, 1262, 1262,
> ++ 1262, 1263, 1263, 1263, 1263, 1264, 1264, 1264, 1264, 1265,
> ++ 1265, 1266, 1266, 1267, 631, 1267, 1267, 630, 629, 627,
> ++ 626, 625, 623, 622, 621, 620, 619, 618, 617, 615,
> ++ 614, 613, 612, 611, 610, 609, 608, 607, 606, 605,
> ++ 604, 603, 602, 601, 600, 599, 598, 597, 596, 595,
> ++ 594, 593, 592, 549, 548, 547, 545, 544, 543, 542,
> ++ 541, 540, 539, 538, 537, 536, 535, 534, 533, 532,
> ++ 531, 530, 529, 528, 527, 526, 525, 524, 523, 522,
> ++
> ++ 521, 520, 519, 518, 517, 516, 515, 514, 513, 512,
> ++ 511, 510, 509, 508, 507, 505, 504, 459, 456, 455,
> ++ 454, 453, 452, 451, 450, 449, 448, 447, 446, 445,
> ++ 444, 443, 442, 441, 440, 439, 438, 437, 436, 435,
> ++ 434, 433, 432, 431, 430, 429, 428, 427, 426, 425,
> ++ 424, 423, 422, 421, 420, 419, 418, 417, 416, 361,
> ++ 360, 359, 358, 357, 356, 355, 353, 352, 351, 350,
> ++ 349, 348, 347, 346, 345, 344, 343, 342, 341, 340,
> ++ 339, 338, 337, 336, 335, 334, 333, 332, 331, 329,
> ++ 328, 327, 325, 324, 323, 322, 321, 320, 281, 259,
> ++
> ++ 258, 257, 256, 255, 254, 253, 251, 249, 248, 247,
> ++ 246, 244, 242, 240, 239, 237, 236, 234, 233, 232,
> ++ 230, 228, 227, 226, 180, 178, 177, 152, 151, 149,
> ++ 148, 146, 145, 143, 141, 139, 133, 83, 79, 76,
> ++ 73, 52, 49, 43, 22, 21, 11, 9, 3, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> +
> +- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
> +- 1234, 1234, 1234, 1234, 1234
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260,
> ++ 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260, 1260
> + } ;
> +
> + static yy_state_type yy_last_accepting_state;
> +@@ -1499,7 +1518,7 @@ int yy_flex_debug = 0;
> + #define YY_MORE_ADJ 0
> + #define YY_RESTORE_YY_MORE_OFFSET
> + char *yytext;
> +-#line 1 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 1 "lexer.l"
> + /*
> + * The SIP lexer.
> + *
> +@@ -1517,7 +1536,7 @@ char *yytext;
> + * SIP is supplied WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> + */
> +-#line 20 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 20 "lexer.l"
> + #include <stdio.h>
> + #include <stdlib.h>
> + #include <string.h>
> +@@ -1563,11 +1582,9 @@ static int parenDepth = 0;
> +
> + static FILE *openFile(const char *);
> + static void fatallex(char *);
> ++#line 1586 "../lexer.c"
> +
> +-
> +-
> +-
> +-#line 1571 "sip-4.19.23/sipgen/lexer.c"
> ++#line 1588 "../lexer.c"
> +
> + #define INITIAL 0
> + #define code 1
> +@@ -1587,36 +1604,36 @@ static void fatallex(char *);
> + #define YY_EXTRA_TYPE void *
> + #endif
> +
> +-static int yy_init_globals (void );
> ++static int yy_init_globals ( void );
> +
> + /* Accessor methods to globals.
> + These are made visible to non-reentrant scanners for convenience. */
> +
> +-int yylex_destroy (void );
> ++int yylex_destroy ( void );
> +
> +-int yyget_debug (void );
> ++int yyget_debug ( void );
> +
> +-void yyset_debug (int debug_flag );
> ++void yyset_debug ( int debug_flag );
> +
> +-YY_EXTRA_TYPE yyget_extra (void );
> ++YY_EXTRA_TYPE yyget_extra ( void );
> +
> +-void yyset_extra (YY_EXTRA_TYPE user_defined );
> ++void yyset_extra ( YY_EXTRA_TYPE user_defined );
> +
> +-FILE *yyget_in (void );
> ++FILE *yyget_in ( void );
> +
> +-void yyset_in (FILE * in_str );
> ++void yyset_in ( FILE * _in_str );
> +
> +-FILE *yyget_out (void );
> ++FILE *yyget_out ( void );
> +
> +-void yyset_out (FILE * out_str );
> ++void yyset_out ( FILE * _out_str );
> +
> +-yy_size_t yyget_leng (void );
> ++ int yyget_leng ( void );
> +
> +-char *yyget_text (void );
> ++char *yyget_text ( void );
> +
> +-int yyget_lineno (void );
> ++int yyget_lineno ( void );
> +
> +-void yyset_lineno (int line_number );
> ++void yyset_lineno ( int _line_number );
> +
> + /* Macros after this point can all be overridden by user definitions in
> + * section 1.
> +@@ -1624,28 +1641,31 @@ void yyset_lineno (int line_number );
> +
> + #ifndef YY_SKIP_YYWRAP
> + #ifdef __cplusplus
> +-extern "C" int yywrap (void );
> ++extern "C" int yywrap ( void );
> + #else
> +-extern int yywrap (void );
> ++extern int yywrap ( void );
> + #endif
> + #endif
> +
> +- static void yyunput (int c,char *buf_ptr );
> ++#ifndef YY_NO_UNPUT
> +
> ++ static void yyunput ( int c, char *buf_ptr );
> ++
> ++#endif
> ++
> + #ifndef yytext_ptr
> +-static void yy_flex_strncpy (char *,yyconst char *,int );
> ++static void yy_flex_strncpy ( char *, const char *, int );
> + #endif
> +
> + #ifdef YY_NEED_STRLEN
> +-static int yy_flex_strlen (yyconst char * );
> ++static int yy_flex_strlen ( const char * );
> + #endif
> +
> + #ifndef YY_NO_INPUT
> +-
> + #ifdef __cplusplus
> +-static int yyinput (void );
> ++static int yyinput ( void );
> + #else
> +-static int input (void );
> ++static int input ( void );
> + #endif
> +
> + #endif
> +@@ -1654,15 +1674,20 @@ static int input (void );
> + static int yy_start_stack_depth = 0;
> + static int *yy_start_stack = NULL;
> +
> +- static void yy_push_state (int new_state );
> ++ static void yy_push_state ( int _new_state );
> +
> +- static void yy_pop_state (void );
> ++ static void yy_pop_state ( void );
> +
> +- static int yy_top_state (void );
> ++ static int yy_top_state ( void );
> +
> + /* Amount of stuff to slurp up with each read. */
> + #ifndef YY_READ_BUF_SIZE
> ++#ifdef __ia64__
> ++/* On IA-64, the buffer size is 16k, not 8k */
> ++#define YY_READ_BUF_SIZE 16384
> ++#else
> + #define YY_READ_BUF_SIZE 8192
> ++#endif /* __ia64__ */
> + #endif
> +
> + /* Copy whatever the last rule matched to the standard output. */
> +@@ -1670,7 +1695,7 @@ static int input (void );
> + /* This used to be an fputs(), but since the string might contain NUL's,
> + * we now use fwrite().
> + */
> +-#define ECHO fwrite( yytext, yyleng, 1, yyout )
> ++#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
> + #endif
> +
> + /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
> +@@ -1681,7 +1706,7 @@ static int input (void );
> + if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
> + { \
> + int c = '*'; \
> +- yy_size_t n; \
> ++ int n; \
> + for ( n = 0; n < max_size && \
> + (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
> + buf[n] = (char) c; \
> +@@ -1694,7 +1719,7 @@ static int input (void );
> + else \
> + { \
> + errno=0; \
> +- while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
> ++ while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
> + { \
> + if( errno != EINTR) \
> + { \
> +@@ -1749,7 +1774,7 @@ extern int yylex (void);
> +
> + /* Code executed at the end of each rule. */
> + #ifndef YY_BREAK
> +-#define YY_BREAK break;
> ++#define YY_BREAK /*LINTED*/break;
> + #endif
> +
> + #define YY_RULE_SETUP \
> +@@ -1762,15 +1787,10 @@ extern int yylex (void);
> + */
> + YY_DECL
> + {
> +- register yy_state_type yy_current_state;
> +- register char *yy_cp, *yy_bp;
> +- register int yy_act;
> ++ yy_state_type yy_current_state;
> ++ char *yy_cp, *yy_bp;
> ++ int yy_act;
> +
> +-#line 74 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-
> +-
> +-#line 1773 "sip-4.19.23/sipgen/lexer.c"
> +-
> + if ( !(yy_init) )
> + {
> + (yy_init) = 1;
> +@@ -1791,13 +1811,19 @@ YY_DECL
> + if ( ! YY_CURRENT_BUFFER ) {
> + yyensure_buffer_stack ();
> + YY_CURRENT_BUFFER_LVALUE =
> +- yy_create_buffer(yyin,YY_BUF_SIZE );
> ++ yy_create_buffer( yyin, YY_BUF_SIZE );
> + }
> +
> +- yy_load_buffer_state( );
> ++ yy_load_buffer_state( );
> + }
> +
> +- while ( 1 ) /* loops until end-of-file is reached */
> ++ {
> ++#line 74 "lexer.l"
> ++
> ++
> ++#line 1825 "../lexer.c"
> ++
> ++ while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
> + {
> + yy_cp = (yy_c_buf_p);
> +
> +@@ -1814,7 +1840,7 @@ YY_DECL
> + yy_match:
> + do
> + {
> +- register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
> ++ YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
> + if ( yy_accept[yy_current_state] )
> + {
> + (yy_last_accepting_state) = yy_current_state;
> +@@ -1823,13 +1849,13 @@ yy_match:
> + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
> + {
> + yy_current_state = (int) yy_def[yy_current_state];
> +- if ( yy_current_state >= 1235 )
> +- yy_c = yy_meta[(unsigned int) yy_c];
> ++ if ( yy_current_state >= 1261 )
> ++ yy_c = yy_meta[yy_c];
> + }
> +- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
> ++ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
> + ++yy_cp;
> + }
> +- while ( yy_base[yy_current_state] != 2845 );
> ++ while ( yy_base[yy_current_state] != 2950 );
> +
> + yy_find_action:
> + yy_act = yy_accept[yy_current_state];
> +@@ -1855,540 +1881,550 @@ do_action: /* This label is used only to
> +
> + case 1:
> + YY_RULE_SETUP
> +-#line 76 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 76 "lexer.l"
> + {BEGIN directive_start; return TK_API;}
> + YY_BREAK
> + case 2:
> + YY_RULE_SETUP
> +-#line 77 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 77 "lexer.l"
> + {BEGIN directive_start; return TK_AUTOPYNAME;}
> + YY_BREAK
> + case 3:
> + YY_RULE_SETUP
> +-#line 78 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 78 "lexer.l"
> + {return TK_CMODULE;}
> + YY_BREAK
> + case 4:
> + YY_RULE_SETUP
> +-#line 79 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 79 "lexer.l"
> + {BEGIN directive_start; return TK_COMPOMODULE;}
> + YY_BREAK
> + case 5:
> + YY_RULE_SETUP
> +-#line 80 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 80 "lexer.l"
> + {BEGIN directive_start; return TK_CONSMODULE;}
> + YY_BREAK
> + case 6:
> + YY_RULE_SETUP
> +-#line 81 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 81 "lexer.l"
> + {BEGIN directive_start; return TK_DEFDOCSTRFMT;}
> + YY_BREAK
> + case 7:
> + YY_RULE_SETUP
> +-#line 82 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 82 "lexer.l"
> + {BEGIN directive_start; return TK_DEFDOCSTRSIG;}
> + YY_BREAK
> + case 8:
> + YY_RULE_SETUP
> +-#line 83 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 83 "lexer.l"
> + {BEGIN directive_start; return TK_DEFENCODING;}
> + YY_BREAK
> + case 9:
> + YY_RULE_SETUP
> +-#line 84 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 84 "lexer.l"
> + {BEGIN directive_start; return TK_DEFMETATYPE;}
> + YY_BREAK
> + case 10:
> + YY_RULE_SETUP
> +-#line 85 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 85 "lexer.l"
> + {BEGIN directive_start; return TK_DEFSUPERTYPE;}
> + YY_BREAK
> + case 11:
> + YY_RULE_SETUP
> +-#line 86 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 86 "lexer.l"
> + {return TK_END;}
> + YY_BREAK
> + case 12:
> + YY_RULE_SETUP
> +-#line 87 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 87 "lexer.l"
> + {BEGIN INITIAL; return TK_END;}
> + YY_BREAK
> + case 13:
> + YY_RULE_SETUP
> +-#line 88 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 88 "lexer.l"
> + {return TK_EXCEPTION;}
> + YY_BREAK
> + case 14:
> + YY_RULE_SETUP
> +-#line 89 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 89 "lexer.l"
> + {BEGIN directive_start; return TK_FEATURE;}
> + YY_BREAK
> + case 15:
> + YY_RULE_SETUP
> +-#line 90 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 90 "lexer.l"
> + {BEGIN directive_start; return TK_HIDE_NS;}
> + YY_BREAK
> + case 16:
> + YY_RULE_SETUP
> +-#line 91 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 91 "lexer.l"
> + {return TK_IF;}
> + YY_BREAK
> + case 17:
> + YY_RULE_SETUP
> +-#line 92 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 92 "lexer.l"
> + {BEGIN directive_start; return TK_IMPORT;}
> + YY_BREAK
> + case 18:
> + YY_RULE_SETUP
> +-#line 93 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 93 "lexer.l"
> + {BEGIN directive_start; return TK_INCLUDE;}
> + YY_BREAK
> + case 19:
> + YY_RULE_SETUP
> +-#line 94 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 94 "lexer.l"
> + {BEGIN directive_start; return TK_LICENSE;}
> + YY_BREAK
> + case 20:
> + YY_RULE_SETUP
> +-#line 95 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 95 "lexer.l"
> + {return TK_MAPPEDTYPE;}
> + YY_BREAK
> + case 21:
> + YY_RULE_SETUP
> +-#line 96 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 96 "lexer.l"
> + {BEGIN directive_start; return TK_MODULE;}
> + YY_BREAK
> + case 22:
> + YY_RULE_SETUP
> +-#line 97 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 97 "lexer.l"
> + {return TK_OPTINCLUDE;}
> + YY_BREAK
> + case 23:
> + YY_RULE_SETUP
> +-#line 98 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 98 "lexer.l"
> + {return TK_PLATFORMS;}
> + YY_BREAK
> + case 24:
> + YY_RULE_SETUP
> +-#line 99 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 99 "lexer.l"
> + {BEGIN directive_start; return TK_PLUGIN;}
> + YY_BREAK
> + case 25:
> + YY_RULE_SETUP
> +-#line 100 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 100 "lexer.l"
> + {BEGIN directive_start; return TK_PROPERTY;}
> + YY_BREAK
> + case 26:
> + YY_RULE_SETUP
> +-#line 101 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 101 "lexer.l"
> + {return TK_TIMELINE;}
> + YY_BREAK
> + case 27:
> + YY_RULE_SETUP
> +-#line 103 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 103 "lexer.l"
> + {return TK_CLASS;}
> + YY_BREAK
> + case 28:
> + YY_RULE_SETUP
> +-#line 104 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 104 "lexer.l"
> + {return TK_STRUCT;}
> + YY_BREAK
> + case 29:
> + YY_RULE_SETUP
> +-#line 105 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 105 "lexer.l"
> + {return TK_PUBLIC;}
> + YY_BREAK
> + case 30:
> + YY_RULE_SETUP
> +-#line 106 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 106 "lexer.l"
> + {return TK_PROTECTED;}
> + YY_BREAK
> + case 31:
> + YY_RULE_SETUP
> +-#line 107 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 107 "lexer.l"
> + {return TK_PRIVATE;}
> + YY_BREAK
> + case 32:
> + YY_RULE_SETUP
> +-#line 108 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 108 "lexer.l"
> + {return TK_SIGNALS;}
> + YY_BREAK
> + case 33:
> + YY_RULE_SETUP
> +-#line 109 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 109 "lexer.l"
> + {return TK_SIGNALS;}
> + YY_BREAK
> + case 34:
> + YY_RULE_SETUP
> +-#line 110 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 110 "lexer.l"
> + {return TK_SIGNAL_METHOD;}
> + YY_BREAK
> + case 35:
> + YY_RULE_SETUP
> +-#line 111 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 111 "lexer.l"
> + {return TK_SLOTS;}
> + YY_BREAK
> + case 36:
> + YY_RULE_SETUP
> +-#line 112 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 112 "lexer.l"
> + {return TK_SLOTS;}
> + YY_BREAK
> + case 37:
> + YY_RULE_SETUP
> +-#line 113 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 113 "lexer.l"
> + {return TK_SLOT_METHOD;}
> + YY_BREAK
> + case 38:
> + YY_RULE_SETUP
> +-#line 114 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 114 "lexer.l"
> + {return TK_CHAR;}
> + YY_BREAK
> + case 39:
> + YY_RULE_SETUP
> +-#line 115 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 115 "lexer.l"
> + {return TK_WCHAR_T;}
> + YY_BREAK
> + case 40:
> + YY_RULE_SETUP
> +-#line 116 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 116 "lexer.l"
> + {return TK_BOOL;}
> + YY_BREAK
> + case 41:
> + YY_RULE_SETUP
> +-#line 117 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 117 "lexer.l"
> + {return TK_SHORT;}
> + YY_BREAK
> + case 42:
> + YY_RULE_SETUP
> +-#line 118 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 118 "lexer.l"
> + {return TK_INT;}
> + YY_BREAK
> + case 43:
> + YY_RULE_SETUP
> +-#line 119 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 119 "lexer.l"
> + {return TK_LONG;}
> + YY_BREAK
> + case 44:
> + YY_RULE_SETUP
> +-#line 120 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 120 "lexer.l"
> + {return TK_FLOAT;}
> + YY_BREAK
> + case 45:
> + YY_RULE_SETUP
> +-#line 121 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 121 "lexer.l"
> + {return TK_DOUBLE;}
> + YY_BREAK
> + case 46:
> + YY_RULE_SETUP
> +-#line 122 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 122 "lexer.l"
> + {return TK_VOID;}
> + YY_BREAK
> + case 47:
> + YY_RULE_SETUP
> +-#line 123 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 123 "lexer.l"
> + {return TK_VIRTUAL;}
> + YY_BREAK
> + case 48:
> + YY_RULE_SETUP
> +-#line 124 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 124 "lexer.l"
> + {return TK_ENUM;}
> + YY_BREAK
> + case 49:
> + YY_RULE_SETUP
> +-#line 125 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 125 "lexer.l"
> + {return TK_SIGNED;}
> + YY_BREAK
> + case 50:
> + YY_RULE_SETUP
> +-#line 126 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 126 "lexer.l"
> + {return TK_UNSIGNED;}
> + YY_BREAK
> + case 51:
> + YY_RULE_SETUP
> +-#line 127 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 127 "lexer.l"
> + {return TK_CONST;}
> + YY_BREAK
> + case 52:
> + YY_RULE_SETUP
> +-#line 128 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 128 "lexer.l"
> + {return TK_STATIC;}
> + YY_BREAK
> + case 53:
> + YY_RULE_SETUP
> +-#line 129 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 129 "lexer.l"
> + {return TK_TRUE_VALUE;}
> + YY_BREAK
> + case 54:
> + YY_RULE_SETUP
> +-#line 130 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 130 "lexer.l"
> + {return TK_FALSE_VALUE;}
> + YY_BREAK
> + case 55:
> + YY_RULE_SETUP
> +-#line 131 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 131 "lexer.l"
> + {return TK_NULL_VALUE;}
> + YY_BREAK
> + case 56:
> + YY_RULE_SETUP
> +-#line 132 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 132 "lexer.l"
> + {return TK_TYPEDEF;}
> + YY_BREAK
> + case 57:
> + YY_RULE_SETUP
> +-#line 133 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 133 "lexer.l"
> + {return TK_NAMESPACE;}
> + YY_BREAK
> + case 58:
> + YY_RULE_SETUP
> +-#line 134 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 134 "lexer.l"
> + {return TK_OPERATOR;}
> + YY_BREAK
> + case 59:
> + YY_RULE_SETUP
> +-#line 135 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 135 "lexer.l"
> + {return TK_THROW;}
> + YY_BREAK
> + case 60:
> + YY_RULE_SETUP
> +-#line 136 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 136 "lexer.l"
> + {return TK_EXPLICIT;}
> + YY_BREAK
> + case 61:
> + YY_RULE_SETUP
> +-#line 137 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 137 "lexer.l"
> + {return TK_TEMPLATE;}
> + YY_BREAK
> + case 62:
> + YY_RULE_SETUP
> +-#line 138 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 138 "lexer.l"
> + {return TK_FINAL;}
> + YY_BREAK
> + case 63:
> + YY_RULE_SETUP
> +-#line 139 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 139 "lexer.l"
> + {return TK_SIZET;}
> + YY_BREAK
> + case 64:
> + YY_RULE_SETUP
> +-#line 140 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 140 "lexer.l"
> + {return TK_SCOPE;}
> + YY_BREAK
> + case 65:
> + YY_RULE_SETUP
> +-#line 141 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 141 "lexer.l"
> + {return TK_LOGICAL_OR;}
> + YY_BREAK
> + case 66:
> + YY_RULE_SETUP
> +-#line 142 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 142 "lexer.l"
> + {return TK_PYOBJECT;}
> + YY_BREAK
> + case 67:
> + YY_RULE_SETUP
> +-#line 143 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 143 "lexer.l"
> + {return TK_PYTUPLE;}
> + YY_BREAK
> + case 68:
> + YY_RULE_SETUP
> +-#line 144 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 144 "lexer.l"
> + {return TK_PYLIST;}
> + YY_BREAK
> + case 69:
> + YY_RULE_SETUP
> +-#line 145 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 145 "lexer.l"
> + {return TK_PYDICT;}
> + YY_BREAK
> + case 70:
> + YY_RULE_SETUP
> +-#line 146 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 146 "lexer.l"
> + {return TK_PYCALLABLE;}
> + YY_BREAK
> + case 71:
> + YY_RULE_SETUP
> +-#line 147 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 147 "lexer.l"
> + {return TK_PYSLICE;}
> + YY_BREAK
> + case 72:
> + YY_RULE_SETUP
> +-#line 148 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 148 "lexer.l"
> + {return TK_PYTYPE;}
> + YY_BREAK
> + case 73:
> + YY_RULE_SETUP
> +-#line 149 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 149 "lexer.l"
> + {return TK_PYBUFFER;}
> + YY_BREAK
> + case 74:
> + YY_RULE_SETUP
> +-#line 150 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 150 "lexer.l"
> + {return TK_SIPSIGNAL;}
> + YY_BREAK
> + case 75:
> + YY_RULE_SETUP
> +-#line 151 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 151 "lexer.l"
> + {return TK_SIPSLOT;}
> + YY_BREAK
> + case 76:
> + YY_RULE_SETUP
> +-#line 152 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 152 "lexer.l"
> + {return TK_SIPANYSLOT;}
> + YY_BREAK
> + case 77:
> + YY_RULE_SETUP
> +-#line 153 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 153 "lexer.l"
> + {return TK_SIPRXCON;}
> + YY_BREAK
> + case 78:
> + YY_RULE_SETUP
> +-#line 154 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 154 "lexer.l"
> + {return TK_SIPRXDIS;}
> + YY_BREAK
> + case 79:
> + YY_RULE_SETUP
> +-#line 155 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 155 "lexer.l"
> + {return TK_SIPSLOTCON;}
> + YY_BREAK
> + case 80:
> + YY_RULE_SETUP
> +-#line 156 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 156 "lexer.l"
> + {return TK_SIPSLOTDIS;}
> + YY_BREAK
> + case 81:
> + YY_RULE_SETUP
> +-#line 157 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 157 "lexer.l"
> + {return TK_SIPSSIZET;}
> + YY_BREAK
> + case 82:
> + YY_RULE_SETUP
> +-#line 158 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-{return TK_QOBJECT;}
> ++#line 158 "lexer.l"
> ++{return TK_SIPSSIZET;}
> + YY_BREAK
> + case 83:
> + YY_RULE_SETUP
> +-#line 159 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-{return TK_ELLIPSIS;}
> ++#line 159 "lexer.l"
> ++{return TK_QOBJECT;}
> + YY_BREAK
> + case 84:
> + YY_RULE_SETUP
> +-#line 161 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-{return TK_FORMAT;}
> ++#line 160 "lexer.l"
> ++{return TK_ELLIPSIS;}
> + YY_BREAK
> + case 85:
> + YY_RULE_SETUP
> +-#line 162 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-{return TK_GET;}
> ++#line 162 "lexer.l"
> ++{return TK_FORMAT;}
> + YY_BREAK
> + case 86:
> + YY_RULE_SETUP
> +-#line 163 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-{return TK_ID;}
> ++#line 163 "lexer.l"
> ++{return TK_GET;}
> + YY_BREAK
> + case 87:
> + YY_RULE_SETUP
> +-#line 164 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-{return TK_KWARGS;}
> ++#line 164 "lexer.l"
> ++{return TK_ID;}
> + YY_BREAK
> + case 88:
> + YY_RULE_SETUP
> +-#line 165 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-{return TK_LANGUAGE;}
> ++#line 165 "lexer.l"
> ++{return TK_KWARGS;}
> + YY_BREAK
> + case 89:
> + YY_RULE_SETUP
> +-#line 166 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-{return TK_LICENSEE;}
> ++#line 166 "lexer.l"
> ++{return TK_LANGUAGE;}
> + YY_BREAK
> + case 90:
> + YY_RULE_SETUP
> +-#line 167 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-{return TK_NAME;}
> ++#line 167 "lexer.l"
> ++{return TK_LICENSEE;}
> + YY_BREAK
> + case 91:
> + YY_RULE_SETUP
> +-#line 168 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-{return TK_OPTIONAL;}
> ++#line 168 "lexer.l"
> ++{return TK_NAME;}
> + YY_BREAK
> + case 92:
> + YY_RULE_SETUP
> +-#line 169 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-{return TK_ORDER;}
> ++#line 169 "lexer.l"
> ++{return TK_OPTIONAL;}
> + YY_BREAK
> + case 93:
> + YY_RULE_SETUP
> +-#line 170 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-{return TK_REMOVELEADING;}
> ++#line 170 "lexer.l"
> ++{return TK_ORDER;}
> + YY_BREAK
> + case 94:
> + YY_RULE_SETUP
> +-#line 171 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-{return TK_SET;}
> ++#line 171 "lexer.l"
> ++{return TK_REMOVELEADING;}
> + YY_BREAK
> + case 95:
> + YY_RULE_SETUP
> +-#line 172 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-{return TK_SIGNATURE;}
> ++#line 172 "lexer.l"
> ++{return TK_SET;}
> + YY_BREAK
> + case 96:
> + YY_RULE_SETUP
> +-#line 173 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-{return TK_TIMESTAMP;}
> ++#line 173 "lexer.l"
> ++{return TK_SIGNATURE;}
> + YY_BREAK
> + case 97:
> + YY_RULE_SETUP
> +-#line 174 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-{return TK_TYPE;}
> ++#line 174 "lexer.l"
> ++{return TK_TIMESTAMP;}
> + YY_BREAK
> + case 98:
> + YY_RULE_SETUP
> +-#line 175 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-{return TK_USEARGNAMES;}
> ++#line 175 "lexer.l"
> ++{return TK_TYPE;}
> + YY_BREAK
> + case 99:
> + YY_RULE_SETUP
> +-#line 176 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-{return TK_USELIMITEDAPI;}
> ++#line 176 "lexer.l"
> ++{return TK_USEARGNAMES;}
> + YY_BREAK
> + case 100:
> + YY_RULE_SETUP
> +-#line 177 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-{return TK_ALLRAISEPYEXC;}
> ++#line 177 "lexer.l"
> ++{return TK_PYSSIZETCLEAN;}
> + YY_BREAK
> + case 101:
> + YY_RULE_SETUP
> +-#line 178 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-{return TK_CALLSUPERINIT;}
> ++#line 178 "lexer.l"
> ++{return TK_USELIMITEDAPI;}
> + YY_BREAK
> + case 102:
> + YY_RULE_SETUP
> +-#line 179 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-{return TK_DEFERRORHANDLER;}
> ++#line 179 "lexer.l"
> ++{return TK_ALLRAISEPYEXC;}
> + YY_BREAK
> + case 103:
> + YY_RULE_SETUP
> +-#line 180 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-{return TK_VERSION;}
> ++#line 180 "lexer.l"
> ++{return TK_CALLSUPERINIT;}
> + YY_BREAK
> + case 104:
> + YY_RULE_SETUP
> +-#line 182 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-{return TK_TRUE_VALUE;}
> ++#line 181 "lexer.l"
> ++{return TK_DEFERRORHANDLER;}
> + YY_BREAK
> + case 105:
> + YY_RULE_SETUP
> +-#line 183 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-{return TK_FALSE_VALUE;}
> ++#line 182 "lexer.l"
> ++{return TK_VERSION;}
> + YY_BREAK
> + case 106:
> + YY_RULE_SETUP
> +-#line 186 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 184 "lexer.l"
> ++{return TK_TRUE_VALUE;}
> ++ YY_BREAK
> ++case 107:
> ++YY_RULE_SETUP
> ++#line 185 "lexer.l"
> ++{return TK_FALSE_VALUE;}
> ++ YY_BREAK
> ++case 108:
> ++YY_RULE_SETUP
> ++#line 188 "lexer.l"
> + {
> + /* Ignore whitespace. */
> + ;
> + }
> + YY_BREAK
> +-case 107:
> ++case 109:
> + YY_RULE_SETUP
> +-#line 191 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 193 "lexer.l"
> + {
> + /*
> + * Maintain the parenthesis depth so that we don't enter the 'code' state
> +@@ -2401,9 +2437,9 @@ YY_RULE_SETUP
> + return '(';
> + }
> + YY_BREAK
> +-case 108:
> ++case 110:
> + YY_RULE_SETUP
> +-#line 203 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 205 "lexer.l"
> + {
> + /* Maintain the parenthesis depth. */
> + --parenDepth;
> +@@ -2413,10 +2449,10 @@ YY_RULE_SETUP
> + return ')';
> + }
> + YY_BREAK
> +-case 109:
> +-/* rule 109 can match eol */
> ++case 111:
> ++/* rule 111 can match eol */
> + YY_RULE_SETUP
> +-#line 212 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 214 "lexer.l"
> + {
> + /* Maintain the line number. */
> + ++inputFileStack[currentFile].sloc.linenr;
> +@@ -2427,63 +2463,63 @@ YY_RULE_SETUP
> + }
> + }
> + YY_BREAK
> +-case 110:
> ++case 112:
> + YY_RULE_SETUP
> +-#line 222 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 224 "lexer.l"
> + {
> + /* Ignore C++ style comments. */
> + ;
> + }
> + YY_BREAK
> +-case 111:
> ++case 113:
> + YY_RULE_SETUP
> +-#line 228 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 230 "lexer.l"
> + {
> + /* A signed decimal number. */
> + yylval.number = strtol(yytext,NULL,0);
> + return TK_NUMBER_VALUE;
> + }
> + YY_BREAK
> +-case 112:
> ++case 114:
> + YY_RULE_SETUP
> +-#line 235 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 237 "lexer.l"
> + {
> + /* A floating point number. */
> + yylval.real = strtod(yytext,NULL);
> + return TK_REAL_VALUE;
> + }
> + YY_BREAK
> +-case 113:
> ++case 115:
> + YY_RULE_SETUP
> +-#line 242 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 244 "lexer.l"
> + {
> + /* An unsigned hexadecimal number. */
> + yylval.number = strtol(yytext,NULL,16);
> + return TK_NUMBER_VALUE;
> + }
> + YY_BREAK
> +-case 114:
> ++case 116:
> + YY_RULE_SETUP
> +-#line 249 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 251 "lexer.l"
> + {
> + /* An identifier name. */
> + yylval.text = sipStrdup(yytext);
> + return TK_NAME_VALUE;
> + }
> + YY_BREAK
> +-case 115:
> ++case 117:
> + YY_RULE_SETUP
> +-#line 256 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 258 "lexer.l"
> + {
> + /* A relative pathname. */
> + yylval.text = sipStrdup(yytext);
> + return TK_PATH_VALUE;
> + }
> + YY_BREAK
> +-case 116:
> +-/* rule 116 can match eol */
> ++case 118:
> ++/* rule 118 can match eol */
> + YY_RULE_SETUP
> +-#line 263 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 265 "lexer.l"
> + {
> + /* A double-quoted string. */
> + char ch, *dp, *sp;
> +@@ -2519,10 +2555,10 @@ YY_RULE_SETUP
> + return TK_STRING_VALUE;
> + }
> + YY_BREAK
> +-case 117:
> +-/* rule 117 can match eol */
> ++case 119:
> ++/* rule 119 can match eol */
> + YY_RULE_SETUP
> +-#line 299 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 301 "lexer.l"
> + {
> + /* A single-quoted character. */
> + if (strlen(yytext) != 3)
> +@@ -2533,84 +2569,84 @@ YY_RULE_SETUP
> + return TK_QCHAR_VALUE;
> + }
> + YY_BREAK
> +-case 118:
> ++case 120:
> + YY_RULE_SETUP
> +-#line 310 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 312 "lexer.l"
> + {
> + /* Ignore C-style comments. */
> + yy_push_state(ccomment);
> + }
> + YY_BREAK
> +-case 119:
> +-/* rule 119 can match eol */
> ++case 121:
> ++/* rule 121 can match eol */
> + YY_RULE_SETUP
> +-#line 314 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 316 "lexer.l"
> + {
> + ++inputFileStack[currentFile].sloc.linenr;
> + }
> + YY_BREAK
> +-case 120:
> ++case 122:
> + YY_RULE_SETUP
> +-#line 317 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 319 "lexer.l"
> + {
> + yy_pop_state();
> + }
> + YY_BREAK
> +-case 121:
> ++case 123:
> + YY_RULE_SETUP
> +-#line 320 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 322 "lexer.l"
> + {
> + ;
> + }
> + YY_BREAK
> +-case 122:
> ++case 124:
> + YY_RULE_SETUP
> +-#line 325 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 327 "lexer.l"
> + {
> + /* The software license. */
> + codeIdx = 0;
> + return TK_COPYING;
> + }
> + YY_BREAK
> +-case 123:
> ++case 125:
> + YY_RULE_SETUP
> +-#line 331 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 333 "lexer.l"
> + {
> + /* The start of a from-type code block. */
> + codeIdx = 0;
> + return TK_FROMTYPE;
> + }
> + YY_BREAK
> +-case 124:
> ++case 126:
> + YY_RULE_SETUP
> +-#line 337 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 339 "lexer.l"
> + {
> + /* The start of a to-type code block. */
> + codeIdx = 0;
> + return TK_TOTYPE;
> + }
> + YY_BREAK
> +-case 125:
> ++case 127:
> + YY_RULE_SETUP
> +-#line 343 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 345 "lexer.l"
> + {
> + /* The start of a to-sub-class code block. */
> + codeIdx = 0;
> + return TK_TOSUBCLASS;
> + }
> + YY_BREAK
> +-case 126:
> ++case 128:
> + YY_RULE_SETUP
> +-#line 349 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 351 "lexer.l"
> + {
> + /* The start of an exported header code block. */
> + codeIdx = 0;
> + return TK_EXPHEADERCODE;
> + }
> + YY_BREAK
> +-case 127:
> ++case 129:
> + YY_RULE_SETUP
> +-#line 355 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 357 "lexer.l"
> + {
> + /* The start of part of an extract. */
> + codeIdx = 0;
> +@@ -2620,225 +2656,225 @@ YY_RULE_SETUP
> + return TK_EXTRACT;
> + }
> + YY_BREAK
> +-case 128:
> ++case 130:
> + YY_RULE_SETUP
> +-#line 364 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 366 "lexer.l"
> + {
> + /* The start of a module header code block. */
> + codeIdx = 0;
> + return TK_MODHEADERCODE;
> + }
> + YY_BREAK
> +-case 129:
> ++case 131:
> + YY_RULE_SETUP
> +-#line 370 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 372 "lexer.l"
> + {
> + /* The start of a type header code block. */
> + codeIdx = 0;
> + return TK_TYPEHEADERCODE;
> + }
> + YY_BREAK
> +-case 130:
> ++case 132:
> + YY_RULE_SETUP
> +-#line 376 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 378 "lexer.l"
> + {
> + /* The start of a pre-initialisation code block. */
> + codeIdx = 0;
> + return TK_PREINITCODE;
> + }
> + YY_BREAK
> +-case 131:
> ++case 133:
> + YY_RULE_SETUP
> +-#line 382 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 384 "lexer.l"
> + {
> + /* The start of an initialisation code block. */
> + codeIdx = 0;
> + return TK_INITCODE;
> + }
> + YY_BREAK
> +-case 132:
> ++case 134:
> + YY_RULE_SETUP
> +-#line 388 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 390 "lexer.l"
> + {
> + /* The start of a post-initialisation code block. */
> + codeIdx = 0;
> + return TK_POSTINITCODE;
> + }
> + YY_BREAK
> +-case 133:
> ++case 135:
> + YY_RULE_SETUP
> +-#line 394 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 396 "lexer.l"
> + {
> + /* The start of a class finalisation code block. */
> + codeIdx = 0;
> + return TK_FINALCODE;
> + }
> + YY_BREAK
> +-case 134:
> ++case 136:
> + YY_RULE_SETUP
> +-#line 400 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 402 "lexer.l"
> + {
> + /* The start of a unit code block. */
> + codeIdx = 0;
> + return TK_UNITCODE;
> + }
> + YY_BREAK
> +-case 135:
> ++case 137:
> + YY_RULE_SETUP
> +-#line 406 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 408 "lexer.l"
> + {
> + /* The start of a unit post-include code block. */
> + codeIdx = 0;
> + return TK_UNITPOSTINCLUDECODE;
> + }
> + YY_BREAK
> +-case 136:
> ++case 138:
> + YY_RULE_SETUP
> +-#line 412 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 414 "lexer.l"
> + {
> + /* The start of a module code block. */
> + codeIdx = 0;
> + return TK_MODCODE;
> + }
> + YY_BREAK
> +-case 137:
> ++case 139:
> + YY_RULE_SETUP
> +-#line 418 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 420 "lexer.l"
> + {
> + /* The start of a type code block. */
> + codeIdx = 0;
> + return TK_TYPECODE;
> + }
> + YY_BREAK
> +-case 138:
> ++case 140:
> + YY_RULE_SETUP
> +-#line 424 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 426 "lexer.l"
> + {
> + /* The start of a C++ method code block. */
> + codeIdx = 0;
> + return TK_METHODCODE;
> + }
> + YY_BREAK
> +-case 139:
> ++case 141:
> + YY_RULE_SETUP
> +-#line 430 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 432 "lexer.l"
> + {
> + /* The start of a C++ code block to insert before the MethodCode. */
> + codeIdx = 0;
> + return TK_PREMETHODCODE;
> + }
> + YY_BREAK
> +-case 140:
> ++case 142:
> + YY_RULE_SETUP
> +-#line 436 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 438 "lexer.l"
> + {
> + /* The start of a C++ virtual call code block. */
> + codeIdx = 0;
> + return TK_VIRTUALCALLCODE;
> + }
> + YY_BREAK
> +-case 141:
> ++case 143:
> + YY_RULE_SETUP
> +-#line 442 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 444 "lexer.l"
> + {
> + /* The start of a C++ virtual code block. */
> + codeIdx = 0;
> + return TK_VIRTUALCATCHERCODE;
> + }
> + YY_BREAK
> +-case 142:
> ++case 144:
> + YY_RULE_SETUP
> +-#line 448 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 450 "lexer.l"
> + {
> + /* The start of a traverse code block. */
> + codeIdx = 0;
> + return TK_TRAVERSECODE;
> + }
> + YY_BREAK
> +-case 143:
> ++case 145:
> + YY_RULE_SETUP
> +-#line 454 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 456 "lexer.l"
> + {
> + /* The start of a clear code block. */
> + codeIdx = 0;
> + return TK_CLEARCODE;
> + }
> + YY_BREAK
> +-case 144:
> ++case 146:
> + YY_RULE_SETUP
> +-#line 460 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 462 "lexer.l"
> + {
> + /* The start of a get buffer code block. */
> + codeIdx = 0;
> + return TK_GETBUFFERCODE;
> + }
> + YY_BREAK
> +-case 145:
> ++case 147:
> + YY_RULE_SETUP
> +-#line 466 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 468 "lexer.l"
> + {
> + /* The start of a release buffer code block. */
> + codeIdx = 0;
> + return TK_RELEASEBUFFERCODE;
> + }
> + YY_BREAK
> +-case 146:
> ++case 148:
> + YY_RULE_SETUP
> +-#line 472 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 474 "lexer.l"
> + {
> + /* The start of a read buffer code block. */
> + codeIdx = 0;
> + return TK_READBUFFERCODE;
> + }
> + YY_BREAK
> +-case 147:
> ++case 149:
> + YY_RULE_SETUP
> +-#line 478 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 480 "lexer.l"
> + {
> + /* The start of a write buffer code block. */
> + codeIdx = 0;
> + return TK_WRITEBUFFERCODE;
> + }
> + YY_BREAK
> +-case 148:
> ++case 150:
> + YY_RULE_SETUP
> +-#line 484 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 486 "lexer.l"
> + {
> + /* The start of a segment count code block. */
> + codeIdx = 0;
> + return TK_SEGCOUNTCODE;
> + }
> + YY_BREAK
> +-case 149:
> ++case 151:
> + YY_RULE_SETUP
> +-#line 490 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 492 "lexer.l"
> + {
> + /* The start of a char buffer code block. */
> + codeIdx = 0;
> + return TK_CHARBUFFERCODE;
> + }
> + YY_BREAK
> +-case 150:
> ++case 152:
> + YY_RULE_SETUP
> +-#line 496 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 498 "lexer.l"
> + {
> + /* The start of a create instance code block. */
> + codeIdx = 0;
> + return TK_INSTANCECODE;
> + }
> + YY_BREAK
> +-case 151:
> ++case 153:
> + YY_RULE_SETUP
> +-#line 502 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 504 "lexer.l"
> + {
> + /* The start of a pickle code block. */
> + codeIdx = 0;
> + return TK_PICKLECODE;
> + }
> + YY_BREAK
> +-case 152:
> ++case 154:
> + YY_RULE_SETUP
> +-#line 508 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 510 "lexer.l"
> + {
> + /* The start of a pre-Python code block. */
> + deprecated("%PrePythonCode is deprecated");
> +@@ -2847,36 +2883,36 @@ YY_RULE_SETUP
> + return TK_PREPYCODE;
> + }
> + YY_BREAK
> +-case 153:
> ++case 155:
> + YY_RULE_SETUP
> +-#line 516 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 518 "lexer.l"
> + {
> + /* The start of a raise Python exception code block. */
> + codeIdx = 0;
> + return TK_RAISECODE;
> + }
> + YY_BREAK
> +-case 154:
> ++case 156:
> + YY_RULE_SETUP
> +-#line 522 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 524 "lexer.l"
> + {
> + /* The start of an exported type hint code block. */
> + codeIdx = 0;
> + return TK_EXPTYPEHINTCODE;
> + }
> + YY_BREAK
> +-case 155:
> ++case 157:
> + YY_RULE_SETUP
> +-#line 528 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 530 "lexer.l"
> + {
> + /* The start of a type hint code block. */
> + codeIdx = 0;
> + return TK_TYPEHINTCODE;
> + }
> + YY_BREAK
> +-case 156:
> ++case 158:
> + YY_RULE_SETUP
> +-#line 534 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 536 "lexer.l"
> + {
> + /* The start of a docstring block. */
> + codeIdx = 0;
> +@@ -2886,9 +2922,9 @@ YY_RULE_SETUP
> + return TK_DOCSTRING;
> + }
> + YY_BREAK
> +-case 157:
> ++case 159:
> + YY_RULE_SETUP
> +-#line 543 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 545 "lexer.l"
> + {
> + /* The start of a documentation block. */
> + deprecated("%Doc is deprecated, use %Extract instead");
> +@@ -2897,9 +2933,9 @@ YY_RULE_SETUP
> + return TK_DOC;
> + }
> + YY_BREAK
> +-case 158:
> ++case 160:
> + YY_RULE_SETUP
> +-#line 551 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 553 "lexer.l"
> + {
> + /* The start of an exported documentation block. */
> + deprecated("%ExportedDoc is deprecated, use %Extract instead");
> +@@ -2908,9 +2944,9 @@ YY_RULE_SETUP
> + return TK_EXPORTEDDOC;
> + }
> + YY_BREAK
> +-case 159:
> ++case 161:
> + YY_RULE_SETUP
> +-#line 559 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 561 "lexer.l"
> + {
> + /* The start of a Makefile code block. */
> + deprecated("%Makefile is deprecated");
> +@@ -2919,36 +2955,36 @@ YY_RULE_SETUP
> + return TK_MAKEFILE;
> + }
> + YY_BREAK
> +-case 160:
> ++case 162:
> + YY_RULE_SETUP
> +-#line 567 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 569 "lexer.l"
> + {
> + /* The start of an access code block. */
> + codeIdx = 0;
> + return TK_ACCESSCODE;
> + }
> + YY_BREAK
> +-case 161:
> ++case 163:
> + YY_RULE_SETUP
> +-#line 573 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 575 "lexer.l"
> + {
> + /* The start of a get code block. */
> + codeIdx = 0;
> + return TK_GETCODE;
> + }
> + YY_BREAK
> +-case 162:
> ++case 164:
> + YY_RULE_SETUP
> +-#line 579 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 581 "lexer.l"
> + {
> + /* The start of a set code block. */
> + codeIdx = 0;
> + return TK_SETCODE;
> + }
> + YY_BREAK
> +-case 163:
> ++case 165:
> + YY_RULE_SETUP
> +-#line 585 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 587 "lexer.l"
> + {
> + /* The start of part of a virtual error handler. */
> + codeIdx = 0;
> +@@ -2958,9 +2994,9 @@ YY_RULE_SETUP
> + return TK_VIRTERRORHANDLER;
> + }
> + YY_BREAK
> +-case 164:
> ++case 166:
> + YY_RULE_SETUP
> +-#line 594 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 596 "lexer.l"
> + {
> + /* The end of a code block. */
> + BEGIN INITIAL;
> +@@ -2968,10 +3004,10 @@ YY_RULE_SETUP
> + return TK_END;
> + }
> + YY_BREAK
> +-case 165:
> +-/* rule 165 can match eol */
> ++case 167:
> ++/* rule 167 can match eol */
> + YY_RULE_SETUP
> +-#line 601 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 603 "lexer.l"
> + {
> + /* The end of a code line . */
> + struct inputFile *ifp;
> +@@ -2991,9 +3027,9 @@ YY_RULE_SETUP
> + return TK_CODELINE;
> + }
> + YY_BREAK
> +-case 166:
> ++case 168:
> + YY_RULE_SETUP
> +-#line 620 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 622 "lexer.l"
> + {
> + /* The contents of a code line. */
> + if (codeIdx == MAX_CODE_LINE_LENGTH)
> +@@ -3002,20 +3038,20 @@ YY_RULE_SETUP
> + codeLine[codeIdx++] = yytext[0];
> + }
> + YY_BREAK
> +-case 167:
> ++case 169:
> + YY_RULE_SETUP
> +-#line 628 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 630 "lexer.l"
> + {
> + /* Anything else is returned as is. */
> + return yytext[0];
> + }
> + YY_BREAK
> +-case 168:
> ++case 170:
> + YY_RULE_SETUP
> +-#line 633 "sip-4.19.23/sipgen/metasrc/lexer.l"
> ++#line 635 "lexer.l"
> + ECHO;
> + YY_BREAK
> +-#line 3019 "sip-4.19.23/sipgen/lexer.c"
> ++#line 3055 "../lexer.c"
> + case YY_STATE_EOF(INITIAL):
> + case YY_STATE_EOF(code):
> + case YY_STATE_EOF(ccomment):
> +@@ -3097,7 +3133,7 @@ case YY_STATE_EOF(directive_start):
> + {
> + (yy_did_buffer_switch_on_eof) = 0;
> +
> +- if ( yywrap( ) )
> ++ if ( yywrap( ) )
> + {
> + /* Note: because we've taken care in
> + * yy_get_next_buffer() to have set up
> +@@ -3150,6 +3186,7 @@ case YY_STATE_EOF(directive_start):
> + "fatal flex scanner internal error--no action found" );
> + } /* end of action switch */
> + } /* end of scanning one token */
> ++ } /* end of user's declarations */
> + } /* end of yylex */
> +
> + /* yy_get_next_buffer - try to read in a new buffer
> +@@ -3161,9 +3198,9 @@ case YY_STATE_EOF(directive_start):
> + */
> + static int yy_get_next_buffer (void)
> + {
> +- register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
> +- register char *source = (yytext_ptr);
> +- register int number_to_move, i;
> ++ char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
> ++ char *source = (yytext_ptr);
> ++ int number_to_move, i;
> + int ret_val;
> +
> + if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
> +@@ -3192,7 +3229,7 @@ static int yy_get_next_buffer (void)
> + /* Try to read more data. */
> +
> + /* First move last chars to start of buffer. */
> +- number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
> ++ number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
> +
> + for ( i = 0; i < number_to_move; ++i )
> + *(dest++) = *(source++);
> +@@ -3205,21 +3242,21 @@ static int yy_get_next_buffer (void)
> +
> + else
> + {
> +- yy_size_t num_to_read =
> ++ int num_to_read =
> + YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
> +
> + while ( num_to_read <= 0 )
> + { /* Not enough room in the buffer - grow it. */
> +
> + /* just a shorter name for the current buffer */
> +- YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
> ++ YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
> +
> + int yy_c_buf_p_offset =
> + (int) ((yy_c_buf_p) - b->yy_ch_buf);
> +
> + if ( b->yy_is_our_buffer )
> + {
> +- yy_size_t new_size = b->yy_buf_size * 2;
> ++ int new_size = b->yy_buf_size * 2;
> +
> + if ( new_size <= 0 )
> + b->yy_buf_size += b->yy_buf_size / 8;
> +@@ -3228,11 +3265,12 @@ static int yy_get_next_buffer (void)
> +
> + b->yy_ch_buf = (char *)
> + /* Include room in for 2 EOB chars. */
> +- yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
> ++ yyrealloc( (void *) b->yy_ch_buf,
> ++ (yy_size_t) (b->yy_buf_size + 2) );
> + }
> + else
> + /* Can't grow it, we don't own it. */
> +- b->yy_ch_buf = 0;
> ++ b->yy_ch_buf = NULL;
> +
> + if ( ! b->yy_ch_buf )
> + YY_FATAL_ERROR(
> +@@ -3260,7 +3298,7 @@ static int yy_get_next_buffer (void)
> + if ( number_to_move == YY_MORE_ADJ )
> + {
> + ret_val = EOB_ACT_END_OF_FILE;
> +- yyrestart(yyin );
> ++ yyrestart( yyin );
> + }
> +
> + else
> +@@ -3274,12 +3312,15 @@ static int yy_get_next_buffer (void)
> + else
> + ret_val = EOB_ACT_CONTINUE_SCAN;
> +
> +- if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
> ++ if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
> + /* Extend the array by 50%, plus the number we really need. */
> +- yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
> +- YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
> ++ int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
> ++ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
> ++ (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
> + if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
> + YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
> ++ /* "- 2" to take care of EOB's */
> ++ YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
> + }
> +
> + (yy_n_chars) += number_to_move;
> +@@ -3295,15 +3336,15 @@ static int yy_get_next_buffer (void)
> +
> + static yy_state_type yy_get_previous_state (void)
> + {
> +- register yy_state_type yy_current_state;
> +- register char *yy_cp;
> ++ yy_state_type yy_current_state;
> ++ char *yy_cp;
> +
> + yy_current_state = (yy_start);
> + yy_current_state += YY_AT_BOL();
> +
> + for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
> + {
> +- register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
> ++ YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
> + if ( yy_accept[yy_current_state] )
> + {
> + (yy_last_accepting_state) = yy_current_state;
> +@@ -3312,10 +3353,10 @@ static int yy_get_next_buffer (void)
> + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
> + {
> + yy_current_state = (int) yy_def[yy_current_state];
> +- if ( yy_current_state >= 1235 )
> +- yy_c = yy_meta[(unsigned int) yy_c];
> ++ if ( yy_current_state >= 1261 )
> ++ yy_c = yy_meta[yy_c];
> + }
> +- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
> ++ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
> + }
> +
> + return yy_current_state;
> +@@ -3328,10 +3369,10 @@ static int yy_get_next_buffer (void)
> + */
> + static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
> + {
> +- register int yy_is_jam;
> +- register char *yy_cp = (yy_c_buf_p);
> ++ int yy_is_jam;
> ++ char *yy_cp = (yy_c_buf_p);
> +
> +- register YY_CHAR yy_c = 1;
> ++ YY_CHAR yy_c = 1;
> + if ( yy_accept[yy_current_state] )
> + {
> + (yy_last_accepting_state) = yy_current_state;
> +@@ -3340,18 +3381,20 @@ static int yy_get_next_buffer (void)
> + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
> + {
> + yy_current_state = (int) yy_def[yy_current_state];
> +- if ( yy_current_state >= 1235 )
> +- yy_c = yy_meta[(unsigned int) yy_c];
> ++ if ( yy_current_state >= 1261 )
> ++ yy_c = yy_meta[yy_c];
> + }
> +- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
> +- yy_is_jam = (yy_current_state == 1234);
> ++ yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
> ++ yy_is_jam = (yy_current_state == 1260);
> +
> +- return yy_is_jam ? 0 : yy_current_state;
> ++ return yy_is_jam ? 0 : yy_current_state;
> + }
> +
> +- static void yyunput (int c, register char * yy_bp )
> ++#ifndef YY_NO_UNPUT
> ++
> ++ static void yyunput (int c, char * yy_bp )
> + {
> +- register char *yy_cp;
> ++ char *yy_cp;
> +
> + yy_cp = (yy_c_buf_p);
> +
> +@@ -3361,10 +3404,10 @@ static int yy_get_next_buffer (void)
> + if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
> + { /* need to shift things up to make room */
> + /* +2 for EOB chars. */
> +- register yy_size_t number_to_move = (yy_n_chars) + 2;
> +- register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
> ++ int number_to_move = (yy_n_chars) + 2;
> ++ char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
> + YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
> +- register char *source =
> ++ char *source =
> + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
> +
> + while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
> +@@ -3373,7 +3416,7 @@ static int yy_get_next_buffer (void)
> + yy_cp += (int) (dest - source);
> + yy_bp += (int) (dest - source);
> + YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
> +- (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
> ++ (yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
> +
> + if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
> + YY_FATAL_ERROR( "flex scanner push-back overflow" );
> +@@ -3386,6 +3429,8 @@ static int yy_get_next_buffer (void)
> + (yy_c_buf_p) = yy_cp;
> + }
> +
> ++#endif
> ++
> + #ifndef YY_NO_INPUT
> + #ifdef __cplusplus
> + static int yyinput (void)
> +@@ -3410,7 +3455,7 @@ static int yy_get_next_buffer (void)
> +
> + else
> + { /* need more input */
> +- yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
> ++ int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
> + ++(yy_c_buf_p);
> +
> + switch ( yy_get_next_buffer( ) )
> +@@ -3427,13 +3472,13 @@ static int yy_get_next_buffer (void)
> + */
> +
> + /* Reset buffer status. */
> +- yyrestart(yyin );
> ++ yyrestart( yyin );
> +
> + /*FALLTHROUGH*/
> +
> + case EOB_ACT_END_OF_FILE:
> + {
> +- if ( yywrap( ) )
> ++ if ( yywrap( ) )
> + return 0;
> +
> + if ( ! (yy_did_buffer_switch_on_eof) )
> +@@ -3473,11 +3518,11 @@ static int yy_get_next_buffer (void)
> + if ( ! YY_CURRENT_BUFFER ){
> + yyensure_buffer_stack ();
> + YY_CURRENT_BUFFER_LVALUE =
> +- yy_create_buffer(yyin,YY_BUF_SIZE );
> ++ yy_create_buffer( yyin, YY_BUF_SIZE );
> + }
> +
> +- yy_init_buffer(YY_CURRENT_BUFFER,input_file );
> +- yy_load_buffer_state( );
> ++ yy_init_buffer( YY_CURRENT_BUFFER, input_file );
> ++ yy_load_buffer_state( );
> + }
> +
> + /** Switch to a different input buffer.
> +@@ -3505,7 +3550,7 @@ static int yy_get_next_buffer (void)
> + }
> +
> + YY_CURRENT_BUFFER_LVALUE = new_buffer;
> +- yy_load_buffer_state( );
> ++ yy_load_buffer_state( );
> +
> + /* We don't actually know whether we did this switch during
> + * EOF (yywrap()) processing, but the only time this flag
> +@@ -3533,7 +3578,7 @@ static void yy_load_buffer_state (void)
> + {
> + YY_BUFFER_STATE b;
> +
> +- b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
> ++ b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
> + if ( ! b )
> + YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
> +
> +@@ -3542,13 +3587,13 @@ static void yy_load_buffer_state (void)
> + /* yy_ch_buf has to be 2 characters longer than the size given because
> + * we need to put in 2 end-of-buffer characters.
> + */
> +- b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
> ++ b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
> + if ( ! b->yy_ch_buf )
> + YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
> +
> + b->yy_is_our_buffer = 1;
> +
> +- yy_init_buffer(b,file );
> ++ yy_init_buffer( b, file );
> +
> + return b;
> + }
> +@@ -3567,15 +3612,11 @@ static void yy_load_buffer_state (void)
> + YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
> +
> + if ( b->yy_is_our_buffer )
> +- yyfree((void *) b->yy_ch_buf );
> ++ yyfree( (void *) b->yy_ch_buf );
> +
> +- yyfree((void *) b );
> ++ yyfree( (void *) b );
> + }
> +
> +-#ifndef __cplusplus
> +-extern int isatty (int );
> +-#endif /* __cplusplus */
> +-
> + /* Initializes or reinitializes a buffer.
> + * This function is sometimes called more than once on the same buffer,
> + * such as during a yyrestart() or at EOF.
> +@@ -3585,7 +3626,7 @@ extern int isatty (int );
> + {
> + int oerrno = errno;
> +
> +- yy_flush_buffer(b );
> ++ yy_flush_buffer( b );
> +
> + b->yy_input_file = file;
> + b->yy_fill_buffer = 1;
> +@@ -3628,7 +3669,7 @@ extern int isatty (int );
> + b->yy_buffer_status = YY_BUFFER_NEW;
> +
> + if ( b == YY_CURRENT_BUFFER )
> +- yy_load_buffer_state( );
> ++ yy_load_buffer_state( );
> + }
> +
> + /** Pushes the new state onto the stack. The new state becomes
> +@@ -3659,7 +3700,7 @@ void yypush_buffer_state (YY_BUFFER_STAT
> + YY_CURRENT_BUFFER_LVALUE = new_buffer;
> +
> + /* copied from yy_switch_to_buffer. */
> +- yy_load_buffer_state( );
> ++ yy_load_buffer_state( );
> + (yy_did_buffer_switch_on_eof) = 1;
> + }
> +
> +@@ -3678,7 +3719,7 @@ void yypop_buffer_state (void)
> + --(yy_buffer_stack_top);
> +
> + if (YY_CURRENT_BUFFER) {
> +- yy_load_buffer_state( );
> ++ yy_load_buffer_state( );
> + (yy_did_buffer_switch_on_eof) = 1;
> + }
> + }
> +@@ -3696,15 +3737,15 @@ static void yyensure_buffer_stack (void)
> + * scanner will even need a stack. We use 2 instead of 1 to avoid an
> + * immediate realloc on the next call.
> + */
> +- num_to_alloc = 1;
> ++ num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
> + (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
> + (num_to_alloc * sizeof(struct yy_buffer_state*)
> + );
> + if ( ! (yy_buffer_stack) )
> + YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
> +-
> ++
> + memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
> +-
> ++
> + (yy_buffer_stack_max) = num_to_alloc;
> + (yy_buffer_stack_top) = 0;
> + return;
> +@@ -3713,7 +3754,7 @@ static void yyensure_buffer_stack (void)
> + if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
> +
> + /* Increase the buffer to prepare for a possible push. */
> +- int grow_size = 8 /* arbitrary grow size */;
> ++ yy_size_t grow_size = 8 /* arbitrary grow size */;
> +
> + num_to_alloc = (yy_buffer_stack_max) + grow_size;
> + (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
> +@@ -3733,7 +3774,7 @@ static void yyensure_buffer_stack (void)
> + * @param base the character buffer
> + * @param size the size in bytes of the character buffer
> + *
> +- * @return the newly allocated buffer state object.
> ++ * @return the newly allocated buffer state object.
> + */
> + YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
> + {
> +@@ -3743,23 +3784,23 @@ YY_BUFFER_STATE yy_scan_buffer (char *
> + base[size-2] != YY_END_OF_BUFFER_CHAR ||
> + base[size-1] != YY_END_OF_BUFFER_CHAR )
> + /* They forgot to leave room for the EOB's. */
> +- return 0;
> ++ return NULL;
> +
> +- b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
> ++ b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
> + if ( ! b )
> + YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
> +
> +- b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
> ++ b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
> + b->yy_buf_pos = b->yy_ch_buf = base;
> + b->yy_is_our_buffer = 0;
> +- b->yy_input_file = 0;
> ++ b->yy_input_file = NULL;
> + b->yy_n_chars = b->yy_buf_size;
> + b->yy_is_interactive = 0;
> + b->yy_at_bol = 1;
> + b->yy_fill_buffer = 0;
> + b->yy_buffer_status = YY_BUFFER_NEW;
> +
> +- yy_switch_to_buffer(b );
> ++ yy_switch_to_buffer( b );
> +
> + return b;
> + }
> +@@ -3772,28 +3813,29 @@ YY_BUFFER_STATE yy_scan_buffer (char *
> + * @note If you want to scan bytes that may contain NUL values, then use
> + * yy_scan_bytes() instead.
> + */
> +-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
> ++YY_BUFFER_STATE yy_scan_string (const char * yystr )
> + {
> +
> +- return yy_scan_bytes(yystr,strlen(yystr) );
> ++ return yy_scan_bytes( yystr, (int) strlen(yystr) );
> + }
> +
> + /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
> + * scan from a @e copy of @a bytes.
> +- * @param bytes the byte buffer to scan
> +- * @param len the number of bytes in the buffer pointed to by @a bytes.
> ++ * @param yybytes the byte buffer to scan
> ++ * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
> + *
> + * @return the newly allocated buffer state object.
> + */
> +-YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
> ++YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
> + {
> + YY_BUFFER_STATE b;
> + char *buf;
> +- yy_size_t n, i;
> ++ yy_size_t n;
> ++ int i;
> +
> + /* Get memory for full buffer, including space for trailing EOB's. */
> +- n = _yybytes_len + 2;
> +- buf = (char *) yyalloc(n );
> ++ n = (yy_size_t) (_yybytes_len + 2);
> ++ buf = (char *) yyalloc( n );
> + if ( ! buf )
> + YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
> +
> +@@ -3802,7 +3844,7 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst
> +
> + buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
> +
> +- b = yy_scan_buffer(buf,n );
> ++ b = yy_scan_buffer( buf, n );
> + if ( ! b )
> + YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
> +
> +@@ -3814,20 +3856,21 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst
> + return b;
> + }
> +
> +- static void yy_push_state (int new_state )
> ++ static void yy_push_state (int _new_state )
> + {
> + if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
> + {
> + yy_size_t new_size;
> +
> + (yy_start_stack_depth) += YY_START_STACK_INCR;
> +- new_size = (yy_start_stack_depth) * sizeof( int );
> ++ new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
> +
> + if ( ! (yy_start_stack) )
> +- (yy_start_stack) = (int *) yyalloc(new_size );
> ++ (yy_start_stack) = (int *) yyalloc( new_size );
> +
> + else
> +- (yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size );
> ++ (yy_start_stack) = (int *) yyrealloc(
> ++ (void *) (yy_start_stack), new_size );
> +
> + if ( ! (yy_start_stack) )
> + YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
> +@@ -3835,7 +3878,7 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst
> +
> + (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
> +
> +- BEGIN(new_state);
> ++ BEGIN(_new_state);
> + }
> +
> + static void yy_pop_state (void)
> +@@ -3855,9 +3898,9 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst
> + #define YY_EXIT_FAILURE 2
> + #endif
> +
> +-static void yy_fatal_error (yyconst char* msg )
> ++static void yynoreturn yy_fatal_error (const char* msg )
> + {
> +- (void) fprintf( stderr, "%s\n", msg );
> ++ fprintf( stderr, "%s\n", msg );
> + exit( YY_EXIT_FAILURE );
> + }
> +
> +@@ -3885,7 +3928,7 @@ static void yy_fatal_error (yyconst char
> + */
> + int yyget_lineno (void)
> + {
> +-
> ++
> + return yylineno;
> + }
> +
> +@@ -3908,7 +3951,7 @@ FILE *yyget_out (void)
> + /** Get the length of the current token.
> + *
> + */
> +-yy_size_t yyget_leng (void)
> ++int yyget_leng (void)
> + {
> + return yyleng;
> + }
> +@@ -3923,29 +3966,29 @@ char *yyget_text (void)
> + }
> +
> + /** Set the current line number.
> +- * @param line_number
> ++ * @param _line_number line number
> + *
> + */
> +-void yyset_lineno (int line_number )
> ++void yyset_lineno (int _line_number )
> + {
> +
> +- yylineno = line_number;
> ++ yylineno = _line_number;
> + }
> +
> + /** Set the input stream. This does not discard the current
> + * input buffer.
> +- * @param in_str A readable stream.
> ++ * @param _in_str A readable stream.
> + *
> + * @see yy_switch_to_buffer
> + */
> +-void yyset_in (FILE * in_str )
> ++void yyset_in (FILE * _in_str )
> + {
> +- yyin = in_str ;
> ++ yyin = _in_str ;
> + }
> +
> +-void yyset_out (FILE * out_str )
> ++void yyset_out (FILE * _out_str )
> + {
> +- yyout = out_str ;
> ++ yyout = _out_str ;
> + }
> +
> + int yyget_debug (void)
> +@@ -3953,9 +3996,9 @@ int yyget_debug (void)
> + return yy_flex_debug;
> + }
> +
> +-void yyset_debug (int bdebug )
> ++void yyset_debug (int _bdebug )
> + {
> +- yy_flex_debug = bdebug ;
> ++ yy_flex_debug = _bdebug ;
> + }
> +
> + static int yy_init_globals (void)
> +@@ -3964,10 +4007,10 @@ static int yy_init_globals (void)
> + * This function is called from yylex_destroy(), so don't allocate here.
> + */
> +
> +- (yy_buffer_stack) = 0;
> ++ (yy_buffer_stack) = NULL;
> + (yy_buffer_stack_top) = 0;
> + (yy_buffer_stack_max) = 0;
> +- (yy_c_buf_p) = (char *) 0;
> ++ (yy_c_buf_p) = NULL;
> + (yy_init) = 0;
> + (yy_start) = 0;
> +
> +@@ -3980,8 +4023,8 @@ static int yy_init_globals (void)
> + yyin = stdin;
> + yyout = stdout;
> + #else
> +- yyin = (FILE *) 0;
> +- yyout = (FILE *) 0;
> ++ yyin = NULL;
> ++ yyout = NULL;
> + #endif
> +
> + /* For future reference: Set errno on error, since we are called by
> +@@ -3996,7 +4039,7 @@ int yylex_destroy (void)
> +
> + /* Pop the buffer stack, destroying each element. */
> + while(YY_CURRENT_BUFFER){
> +- yy_delete_buffer(YY_CURRENT_BUFFER );
> ++ yy_delete_buffer( YY_CURRENT_BUFFER );
> + YY_CURRENT_BUFFER_LVALUE = NULL;
> + yypop_buffer_state();
> + }
> +@@ -4006,7 +4049,7 @@ int yylex_destroy (void)
> + (yy_buffer_stack) = NULL;
> +
> + /* Destroy the start condition stack. */
> +- yyfree((yy_start_stack) );
> ++ yyfree( (yy_start_stack) );
> + (yy_start_stack) = NULL;
> +
> + /* Reset the globals. This is important in a non-reentrant scanner so the next time
> +@@ -4021,18 +4064,19 @@ int yylex_destroy (void)
> + */
> +
> + #ifndef yytext_ptr
> +-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
> ++static void yy_flex_strncpy (char* s1, const char * s2, int n )
> + {
> +- register int i;
> ++
> ++ int i;
> + for ( i = 0; i < n; ++i )
> + s1[i] = s2[i];
> + }
> + #endif
> +
> + #ifdef YY_NEED_STRLEN
> +-static int yy_flex_strlen (yyconst char * s )
> ++static int yy_flex_strlen (const char * s )
> + {
> +- register int n;
> ++ int n;
> + for ( n = 0; s[n]; ++n )
> + ;
> +
> +@@ -4042,11 +4086,12 @@ static int yy_flex_strlen (yyconst char
> +
> + void *yyalloc (yy_size_t size )
> + {
> +- return (void *) malloc( size );
> ++ return malloc(size);
> + }
> +
> + void *yyrealloc (void * ptr, yy_size_t size )
> + {
> ++
> + /* The cast to (char *) in the following accommodates both
> + * implementations that use char* generic pointers, and those
> + * that use void* generic pointers. It works with the latter
> +@@ -4054,18 +4099,17 @@ void *yyrealloc (void * ptr, yy_size_t
> + * any pointer type to void*, and deal with argument conversions
> + * as though doing an assignment.
> + */
> +- return (void *) realloc( (char *) ptr, size );
> ++ return realloc(ptr, size);
> + }
> +
> + void yyfree (void * ptr )
> + {
> +- free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
> ++ free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
> + }
> +
> + #define YYTABLES_NAME "yytables"
> +
> +-#line 633 "sip-4.19.23/sipgen/metasrc/lexer.l"
> +-
> ++#line 635 "lexer.l"
> +
> +
> + /*
> +Index: sip-4.19.23/sipgen/parser.c
> +===================================================================
> +--- sip-4.19.23.orig/sipgen/parser.c
> ++++ sip-4.19.23/sipgen/parser.c
> +@@ -1,14 +1,14 @@
> +-/* A Bison parser, made by GNU Bison 2.3. */
> ++/* A Bison parser, made by GNU Bison 3.8.2. */
> +
> +-/* Skeleton implementation for Bison's Yacc-like parsers in C
> ++/* Bison implementation for Yacc-like parsers in C
> +
> +- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
> +- Free Software Foundation, Inc.
> ++ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
> ++ Inc.
> +
> +- This program is free software; you can redistribute it and/or modify
> ++ 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
> +- the Free Software Foundation; either version 2, or (at your option)
> +- any later version.
> ++ the Free Software Foundation, either version 3 of the License, or
> ++ (at your option) any later version.
> +
> + This program is distributed in the hope that it will be useful,
> + but WITHOUT ANY WARRANTY; without even the implied warranty of
> +@@ -16,9 +16,7 @@
> + GNU General Public License for more details.
> +
> + 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., 51 Franklin Street, Fifth Floor,
> +- Boston, MA 02110-1301, USA. */
> ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */
> +
> + /* As a special exception, you may create a larger work that contains
> + part or all of the Bison parser skeleton and distribute that work
> +@@ -36,6 +34,10 @@
> + /* C LALR(1) parser skeleton written by Richard Stallman, by
> + simplifying the original so-called "semantic" parser. */
> +
> ++/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
> ++ especially those whose name start with YY_ or yy_. They are
> ++ private implementation details that can be changed or removed. */
> ++
> + /* All symbols defined below should begin with yy or YY, to avoid
> + infringing on user name space. This should be done even for local
> + variables, as they might otherwise be expanded by user macros.
> +@@ -43,11 +45,11 @@
> + define necessary library symbols; they are noted "INFRINGES ON
> + USER NAME SPACE" below. */
> +
> +-/* Identify Bison output. */
> +-#define YYBISON 1
> ++/* Identify Bison output, and Bison version. */
> ++#define YYBISON 30802
> +
> +-/* Bison version. */
> +-#define YYBISON_VERSION "2.3"
> ++/* Bison version string. */
> ++#define YYBISON_VERSION "3.8.2"
> +
> + /* Skeleton name. */
> + #define YYSKELETON_NAME "yacc.c"
> +@@ -55,324 +57,17 @@
> + /* Pure parsers. */
> + #define YYPURE 0
> +
> +-/* Using locations. */
> +-#define YYLSP_NEEDED 0
> +-
> ++/* Push parsers. */
> ++#define YYPUSH 0
> +
> +-
> +-/* Tokens. */
> +-#ifndef YYTOKENTYPE
> +-# define YYTOKENTYPE
> +- /* Put the tokens into the symbol table, so that GDB and other debuggers
> +- know about them. */
> +- enum yytokentype {
> +- TK_API = 258,
> +- TK_AUTOPYNAME = 259,
> +- TK_DEFDOCSTRFMT = 260,
> +- TK_DEFDOCSTRSIG = 261,
> +- TK_DEFENCODING = 262,
> +- TK_PLUGIN = 263,
> +- TK_VIRTERRORHANDLER = 264,
> +- TK_EXPTYPEHINTCODE = 265,
> +- TK_TYPEHINTCODE = 266,
> +- TK_DOCSTRING = 267,
> +- TK_DOC = 268,
> +- TK_EXPORTEDDOC = 269,
> +- TK_EXTRACT = 270,
> +- TK_MAKEFILE = 271,
> +- TK_ACCESSCODE = 272,
> +- TK_GETCODE = 273,
> +- TK_SETCODE = 274,
> +- TK_PREINITCODE = 275,
> +- TK_INITCODE = 276,
> +- TK_POSTINITCODE = 277,
> +- TK_FINALCODE = 278,
> +- TK_UNITCODE = 279,
> +- TK_UNITPOSTINCLUDECODE = 280,
> +- TK_MODCODE = 281,
> +- TK_TYPECODE = 282,
> +- TK_PREPYCODE = 283,
> +- TK_COPYING = 284,
> +- TK_MAPPEDTYPE = 285,
> +- TK_CODELINE = 286,
> +- TK_IF = 287,
> +- TK_END = 288,
> +- TK_NAME_VALUE = 289,
> +- TK_PATH_VALUE = 290,
> +- TK_STRING_VALUE = 291,
> +- TK_VIRTUALCATCHERCODE = 292,
> +- TK_TRAVERSECODE = 293,
> +- TK_CLEARCODE = 294,
> +- TK_GETBUFFERCODE = 295,
> +- TK_RELEASEBUFFERCODE = 296,
> +- TK_READBUFFERCODE = 297,
> +- TK_WRITEBUFFERCODE = 298,
> +- TK_SEGCOUNTCODE = 299,
> +- TK_CHARBUFFERCODE = 300,
> +- TK_PICKLECODE = 301,
> +- TK_VIRTUALCALLCODE = 302,
> +- TK_METHODCODE = 303,
> +- TK_PREMETHODCODE = 304,
> +- TK_INSTANCECODE = 305,
> +- TK_FROMTYPE = 306,
> +- TK_TOTYPE = 307,
> +- TK_TOSUBCLASS = 308,
> +- TK_INCLUDE = 309,
> +- TK_OPTINCLUDE = 310,
> +- TK_IMPORT = 311,
> +- TK_EXPHEADERCODE = 312,
> +- TK_MODHEADERCODE = 313,
> +- TK_TYPEHEADERCODE = 314,
> +- TK_MODULE = 315,
> +- TK_CMODULE = 316,
> +- TK_CONSMODULE = 317,
> +- TK_COMPOMODULE = 318,
> +- TK_CLASS = 319,
> +- TK_STRUCT = 320,
> +- TK_PUBLIC = 321,
> +- TK_PROTECTED = 322,
> +- TK_PRIVATE = 323,
> +- TK_SIGNALS = 324,
> +- TK_SIGNAL_METHOD = 325,
> +- TK_SLOTS = 326,
> +- TK_SLOT_METHOD = 327,
> +- TK_BOOL = 328,
> +- TK_SHORT = 329,
> +- TK_INT = 330,
> +- TK_LONG = 331,
> +- TK_FLOAT = 332,
> +- TK_DOUBLE = 333,
> +- TK_CHAR = 334,
> +- TK_WCHAR_T = 335,
> +- TK_VOID = 336,
> +- TK_PYOBJECT = 337,
> +- TK_PYTUPLE = 338,
> +- TK_PYLIST = 339,
> +- TK_PYDICT = 340,
> +- TK_PYCALLABLE = 341,
> +- TK_PYSLICE = 342,
> +- TK_PYTYPE = 343,
> +- TK_PYBUFFER = 344,
> +- TK_VIRTUAL = 345,
> +- TK_ENUM = 346,
> +- TK_SIGNED = 347,
> +- TK_UNSIGNED = 348,
> +- TK_SCOPE = 349,
> +- TK_LOGICAL_OR = 350,
> +- TK_CONST = 351,
> +- TK_STATIC = 352,
> +- TK_SIPSIGNAL = 353,
> +- TK_SIPSLOT = 354,
> +- TK_SIPANYSLOT = 355,
> +- TK_SIPRXCON = 356,
> +- TK_SIPRXDIS = 357,
> +- TK_SIPSLOTCON = 358,
> +- TK_SIPSLOTDIS = 359,
> +- TK_SIPSSIZET = 360,
> +- TK_SIZET = 361,
> +- TK_NUMBER_VALUE = 362,
> +- TK_REAL_VALUE = 363,
> +- TK_TYPEDEF = 364,
> +- TK_NAMESPACE = 365,
> +- TK_TIMELINE = 366,
> +- TK_PLATFORMS = 367,
> +- TK_FEATURE = 368,
> +- TK_LICENSE = 369,
> +- TK_QCHAR_VALUE = 370,
> +- TK_TRUE_VALUE = 371,
> +- TK_FALSE_VALUE = 372,
> +- TK_NULL_VALUE = 373,
> +- TK_OPERATOR = 374,
> +- TK_THROW = 375,
> +- TK_QOBJECT = 376,
> +- TK_EXCEPTION = 377,
> +- TK_RAISECODE = 378,
> +- TK_EXPLICIT = 379,
> +- TK_TEMPLATE = 380,
> +- TK_FINAL = 381,
> +- TK_ELLIPSIS = 382,
> +- TK_DEFMETATYPE = 383,
> +- TK_DEFSUPERTYPE = 384,
> +- TK_PROPERTY = 385,
> +- TK_HIDE_NS = 386,
> +- TK_FORMAT = 387,
> +- TK_GET = 388,
> +- TK_ID = 389,
> +- TK_KWARGS = 390,
> +- TK_LANGUAGE = 391,
> +- TK_LICENSEE = 392,
> +- TK_NAME = 393,
> +- TK_OPTIONAL = 394,
> +- TK_ORDER = 395,
> +- TK_REMOVELEADING = 396,
> +- TK_SET = 397,
> +- TK_SIGNATURE = 398,
> +- TK_TIMESTAMP = 399,
> +- TK_TYPE = 400,
> +- TK_USEARGNAMES = 401,
> +- TK_USELIMITEDAPI = 402,
> +- TK_ALLRAISEPYEXC = 403,
> +- TK_CALLSUPERINIT = 404,
> +- TK_DEFERRORHANDLER = 405,
> +- TK_VERSION = 406
> +- };
> +-#endif
> +-/* Tokens. */
> +-#define TK_API 258
> +-#define TK_AUTOPYNAME 259
> +-#define TK_DEFDOCSTRFMT 260
> +-#define TK_DEFDOCSTRSIG 261
> +-#define TK_DEFENCODING 262
> +-#define TK_PLUGIN 263
> +-#define TK_VIRTERRORHANDLER 264
> +-#define TK_EXPTYPEHINTCODE 265
> +-#define TK_TYPEHINTCODE 266
> +-#define TK_DOCSTRING 267
> +-#define TK_DOC 268
> +-#define TK_EXPORTEDDOC 269
> +-#define TK_EXTRACT 270
> +-#define TK_MAKEFILE 271
> +-#define TK_ACCESSCODE 272
> +-#define TK_GETCODE 273
> +-#define TK_SETCODE 274
> +-#define TK_PREINITCODE 275
> +-#define TK_INITCODE 276
> +-#define TK_POSTINITCODE 277
> +-#define TK_FINALCODE 278
> +-#define TK_UNITCODE 279
> +-#define TK_UNITPOSTINCLUDECODE 280
> +-#define TK_MODCODE 281
> +-#define TK_TYPECODE 282
> +-#define TK_PREPYCODE 283
> +-#define TK_COPYING 284
> +-#define TK_MAPPEDTYPE 285
> +-#define TK_CODELINE 286
> +-#define TK_IF 287
> +-#define TK_END 288
> +-#define TK_NAME_VALUE 289
> +-#define TK_PATH_VALUE 290
> +-#define TK_STRING_VALUE 291
> +-#define TK_VIRTUALCATCHERCODE 292
> +-#define TK_TRAVERSECODE 293
> +-#define TK_CLEARCODE 294
> +-#define TK_GETBUFFERCODE 295
> +-#define TK_RELEASEBUFFERCODE 296
> +-#define TK_READBUFFERCODE 297
> +-#define TK_WRITEBUFFERCODE 298
> +-#define TK_SEGCOUNTCODE 299
> +-#define TK_CHARBUFFERCODE 300
> +-#define TK_PICKLECODE 301
> +-#define TK_VIRTUALCALLCODE 302
> +-#define TK_METHODCODE 303
> +-#define TK_PREMETHODCODE 304
> +-#define TK_INSTANCECODE 305
> +-#define TK_FROMTYPE 306
> +-#define TK_TOTYPE 307
> +-#define TK_TOSUBCLASS 308
> +-#define TK_INCLUDE 309
> +-#define TK_OPTINCLUDE 310
> +-#define TK_IMPORT 311
> +-#define TK_EXPHEADERCODE 312
> +-#define TK_MODHEADERCODE 313
> +-#define TK_TYPEHEADERCODE 314
> +-#define TK_MODULE 315
> +-#define TK_CMODULE 316
> +-#define TK_CONSMODULE 317
> +-#define TK_COMPOMODULE 318
> +-#define TK_CLASS 319
> +-#define TK_STRUCT 320
> +-#define TK_PUBLIC 321
> +-#define TK_PROTECTED 322
> +-#define TK_PRIVATE 323
> +-#define TK_SIGNALS 324
> +-#define TK_SIGNAL_METHOD 325
> +-#define TK_SLOTS 326
> +-#define TK_SLOT_METHOD 327
> +-#define TK_BOOL 328
> +-#define TK_SHORT 329
> +-#define TK_INT 330
> +-#define TK_LONG 331
> +-#define TK_FLOAT 332
> +-#define TK_DOUBLE 333
> +-#define TK_CHAR 334
> +-#define TK_WCHAR_T 335
> +-#define TK_VOID 336
> +-#define TK_PYOBJECT 337
> +-#define TK_PYTUPLE 338
> +-#define TK_PYLIST 339
> +-#define TK_PYDICT 340
> +-#define TK_PYCALLABLE 341
> +-#define TK_PYSLICE 342
> +-#define TK_PYTYPE 343
> +-#define TK_PYBUFFER 344
> +-#define TK_VIRTUAL 345
> +-#define TK_ENUM 346
> +-#define TK_SIGNED 347
> +-#define TK_UNSIGNED 348
> +-#define TK_SCOPE 349
> +-#define TK_LOGICAL_OR 350
> +-#define TK_CONST 351
> +-#define TK_STATIC 352
> +-#define TK_SIPSIGNAL 353
> +-#define TK_SIPSLOT 354
> +-#define TK_SIPANYSLOT 355
> +-#define TK_SIPRXCON 356
> +-#define TK_SIPRXDIS 357
> +-#define TK_SIPSLOTCON 358
> +-#define TK_SIPSLOTDIS 359
> +-#define TK_SIPSSIZET 360
> +-#define TK_SIZET 361
> +-#define TK_NUMBER_VALUE 362
> +-#define TK_REAL_VALUE 363
> +-#define TK_TYPEDEF 364
> +-#define TK_NAMESPACE 365
> +-#define TK_TIMELINE 366
> +-#define TK_PLATFORMS 367
> +-#define TK_FEATURE 368
> +-#define TK_LICENSE 369
> +-#define TK_QCHAR_VALUE 370
> +-#define TK_TRUE_VALUE 371
> +-#define TK_FALSE_VALUE 372
> +-#define TK_NULL_VALUE 373
> +-#define TK_OPERATOR 374
> +-#define TK_THROW 375
> +-#define TK_QOBJECT 376
> +-#define TK_EXCEPTION 377
> +-#define TK_RAISECODE 378
> +-#define TK_EXPLICIT 379
> +-#define TK_TEMPLATE 380
> +-#define TK_FINAL 381
> +-#define TK_ELLIPSIS 382
> +-#define TK_DEFMETATYPE 383
> +-#define TK_DEFSUPERTYPE 384
> +-#define TK_PROPERTY 385
> +-#define TK_HIDE_NS 386
> +-#define TK_FORMAT 387
> +-#define TK_GET 388
> +-#define TK_ID 389
> +-#define TK_KWARGS 390
> +-#define TK_LANGUAGE 391
> +-#define TK_LICENSEE 392
> +-#define TK_NAME 393
> +-#define TK_OPTIONAL 394
> +-#define TK_ORDER 395
> +-#define TK_REMOVELEADING 396
> +-#define TK_SET 397
> +-#define TK_SIGNATURE 398
> +-#define TK_TIMESTAMP 399
> +-#define TK_TYPE 400
> +-#define TK_USEARGNAMES 401
> +-#define TK_USELIMITEDAPI 402
> +-#define TK_ALLRAISEPYEXC 403
> +-#define TK_CALLSUPERINIT 404
> +-#define TK_DEFERRORHANDLER 405
> +-#define TK_VERSION 406
> ++/* Pull parsers. */
> ++#define YYPULL 1
> +
> +
> +
> +
> +-/* Copy the first part of user declarations. */
> +-#line 19 "sip-4.19.23/sipgen/metasrc/parser.y"
> ++/* First part of user prologue. */
> ++#line 19 "parser.y"
> +
> + #include <stdlib.h>
> + #include <string.h>
> +@@ -539,9 +234,9 @@ static void addProperty(sipSpec *pt, mod
> + docstringDef *docstring);
> + static moduleDef *configureModule(sipSpec *pt, moduleDef *module,
> + const char *filename, const char *name, int c_module, KwArgs kwargs,
> +- int use_arg_names, int use_limited_api, int call_super_init,
> +- int all_raise_py_exc, const char *def_error_handler,
> +- docstringDef *docstring);
> ++ int use_arg_names, int py_ssize_t_clean, int use_limited_api,
> ++ int call_super_init, int all_raise_py_exc,
> ++ const char *def_error_handler, docstringDef *docstring);
> + static void addAutoPyName(moduleDef *mod, const char *remove_leading);
> + static KwArgs convertKwArgs(const char *kwargs);
> + static void checkAnnos(optFlags *annos, const char *valid[]);
> +@@ -555,117 +250,555 @@ static int isBackstop(qualDef *qd);
> + static void checkEllipsis(signatureDef *sd);
> + static scopedNameDef *fullyQualifiedName(scopedNameDef *snd);
> +
> ++#line 254 "../parser.c"
> +
> +-/* Enabling traces. */
> +-#ifndef YYDEBUG
> +-# define YYDEBUG 0
> +-#endif
> +-
> +-/* Enabling verbose error messages. */
> +-#ifdef YYERROR_VERBOSE
> +-# undef YYERROR_VERBOSE
> +-# define YYERROR_VERBOSE 1
> +-#else
> +-# define YYERROR_VERBOSE 0
> +-#endif
> +-
> +-/* Enabling the token table. */
> +-#ifndef YYTOKEN_TABLE
> +-# define YYTOKEN_TABLE 0
> +-#endif
> +-
> +-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
> +-typedef union YYSTYPE
> +-#line 202 "sip-4.19.23/sipgen/metasrc/parser.y"
> +-{
> +- char qchar;
> +- char *text;
> +- long number;
> +- double real;
> +- argDef memArg;
> +- signatureDef signature;
> +- signatureDef *optsignature;
> +- throwArgs *throwlist;
> +- codeBlock *codeb;
> +- docstringDef *docstr;
> +- valueDef value;
> +- valueDef *valp;
> +- optFlags optflags;
> +- optFlag flag;
> +- scopedNameDef *scpvalp;
> +- fcallDef fcall;
> +- int boolean;
> +- exceptionDef exceptionbase;
> +- classDef *klass;
> +- apiCfg api;
> +- autoPyNameCfg autopyname;
> +- compModuleCfg compmodule;
> +- consModuleCfg consmodule;
> +- defDocstringFmtCfg defdocstringfmt;
> +- defDocstringSigCfg defdocstringsig;
> +- defEncodingCfg defencoding;
> +- defMetatypeCfg defmetatype;
> +- defSupertypeCfg defsupertype;
> +- hiddenNsCfg hiddenns;
> +- exceptionCfg exception;
> +- docstringCfg docstring;
> +- extractCfg extract;
> +- featureCfg feature;
> +- licenseCfg license;
> +- importCfg import;
> +- includeCfg include;
> +- moduleCfg module;
> +- pluginCfg plugin;
> +- propertyCfg property;
> +- variableCfg variable;
> +- vehCfg veh;
> +- int token;
> +-}
> +-/* Line 193 of yacc.c. */
> +-#line 626 "sip-4.19.23/sipgen/parser.c"
> +- YYSTYPE;
> +-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
> +-# define YYSTYPE_IS_DECLARED 1
> +-# define YYSTYPE_IS_TRIVIAL 1
> +-#endif
> +-
> ++# ifndef YY_CAST
> ++# ifdef __cplusplus
> ++# define YY_CAST(Type, Val) static_cast<Type> (Val)
> ++# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
> ++# else
> ++# define YY_CAST(Type, Val) ((Type) (Val))
> ++# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
> ++# endif
> ++# endif
> ++# ifndef YY_NULLPTR
> ++# if defined __cplusplus
> ++# if 201103L <= __cplusplus
> ++# define YY_NULLPTR nullptr
> ++# else
> ++# define YY_NULLPTR 0
> ++# endif
> ++# else
> ++# define YY_NULLPTR ((void*)0)
> ++# endif
> ++# endif
> +
> ++#include "parser.h"
> ++/* Symbol kind. */
> ++enum yysymbol_kind_t
> ++{
> ++ YYSYMBOL_YYEMPTY = -2,
> ++ YYSYMBOL_YYEOF = 0, /* "end of file" */
> ++ YYSYMBOL_YYerror = 1, /* error */
> ++ YYSYMBOL_YYUNDEF = 2, /* "invalid token" */
> ++ YYSYMBOL_TK_API = 3, /* TK_API */
> ++ YYSYMBOL_TK_AUTOPYNAME = 4, /* TK_AUTOPYNAME */
> ++ YYSYMBOL_TK_DEFDOCSTRFMT = 5, /* TK_DEFDOCSTRFMT */
> ++ YYSYMBOL_TK_DEFDOCSTRSIG = 6, /* TK_DEFDOCSTRSIG */
> ++ YYSYMBOL_TK_DEFENCODING = 7, /* TK_DEFENCODING */
> ++ YYSYMBOL_TK_PLUGIN = 8, /* TK_PLUGIN */
> ++ YYSYMBOL_TK_VIRTERRORHANDLER = 9, /* TK_VIRTERRORHANDLER */
> ++ YYSYMBOL_TK_EXPTYPEHINTCODE = 10, /* TK_EXPTYPEHINTCODE */
> ++ YYSYMBOL_TK_TYPEHINTCODE = 11, /* TK_TYPEHINTCODE */
> ++ YYSYMBOL_TK_DOCSTRING = 12, /* TK_DOCSTRING */
> ++ YYSYMBOL_TK_DOC = 13, /* TK_DOC */
> ++ YYSYMBOL_TK_EXPORTEDDOC = 14, /* TK_EXPORTEDDOC */
> ++ YYSYMBOL_TK_EXTRACT = 15, /* TK_EXTRACT */
> ++ YYSYMBOL_TK_MAKEFILE = 16, /* TK_MAKEFILE */
> ++ YYSYMBOL_TK_ACCESSCODE = 17, /* TK_ACCESSCODE */
> ++ YYSYMBOL_TK_GETCODE = 18, /* TK_GETCODE */
> ++ YYSYMBOL_TK_SETCODE = 19, /* TK_SETCODE */
> ++ YYSYMBOL_TK_PREINITCODE = 20, /* TK_PREINITCODE */
> ++ YYSYMBOL_TK_INITCODE = 21, /* TK_INITCODE */
> ++ YYSYMBOL_TK_POSTINITCODE = 22, /* TK_POSTINITCODE */
> ++ YYSYMBOL_TK_FINALCODE = 23, /* TK_FINALCODE */
> ++ YYSYMBOL_TK_UNITCODE = 24, /* TK_UNITCODE */
> ++ YYSYMBOL_TK_UNITPOSTINCLUDECODE = 25, /* TK_UNITPOSTINCLUDECODE */
> ++ YYSYMBOL_TK_MODCODE = 26, /* TK_MODCODE */
> ++ YYSYMBOL_TK_TYPECODE = 27, /* TK_TYPECODE */
> ++ YYSYMBOL_TK_PREPYCODE = 28, /* TK_PREPYCODE */
> ++ YYSYMBOL_TK_COPYING = 29, /* TK_COPYING */
> ++ YYSYMBOL_TK_MAPPEDTYPE = 30, /* TK_MAPPEDTYPE */
> ++ YYSYMBOL_TK_CODELINE = 31, /* TK_CODELINE */
> ++ YYSYMBOL_TK_IF = 32, /* TK_IF */
> ++ YYSYMBOL_TK_END = 33, /* TK_END */
> ++ YYSYMBOL_TK_NAME_VALUE = 34, /* TK_NAME_VALUE */
> ++ YYSYMBOL_TK_PATH_VALUE = 35, /* TK_PATH_VALUE */
> ++ YYSYMBOL_TK_STRING_VALUE = 36, /* TK_STRING_VALUE */
> ++ YYSYMBOL_TK_VIRTUALCATCHERCODE = 37, /* TK_VIRTUALCATCHERCODE */
> ++ YYSYMBOL_TK_TRAVERSECODE = 38, /* TK_TRAVERSECODE */
> ++ YYSYMBOL_TK_CLEARCODE = 39, /* TK_CLEARCODE */
> ++ YYSYMBOL_TK_GETBUFFERCODE = 40, /* TK_GETBUFFERCODE */
> ++ YYSYMBOL_TK_RELEASEBUFFERCODE = 41, /* TK_RELEASEBUFFERCODE */
> ++ YYSYMBOL_TK_READBUFFERCODE = 42, /* TK_READBUFFERCODE */
> ++ YYSYMBOL_TK_WRITEBUFFERCODE = 43, /* TK_WRITEBUFFERCODE */
> ++ YYSYMBOL_TK_SEGCOUNTCODE = 44, /* TK_SEGCOUNTCODE */
> ++ YYSYMBOL_TK_CHARBUFFERCODE = 45, /* TK_CHARBUFFERCODE */
> ++ YYSYMBOL_TK_PICKLECODE = 46, /* TK_PICKLECODE */
> ++ YYSYMBOL_TK_VIRTUALCALLCODE = 47, /* TK_VIRTUALCALLCODE */
> ++ YYSYMBOL_TK_METHODCODE = 48, /* TK_METHODCODE */
> ++ YYSYMBOL_TK_PREMETHODCODE = 49, /* TK_PREMETHODCODE */
> ++ YYSYMBOL_TK_INSTANCECODE = 50, /* TK_INSTANCECODE */
> ++ YYSYMBOL_TK_FROMTYPE = 51, /* TK_FROMTYPE */
> ++ YYSYMBOL_TK_TOTYPE = 52, /* TK_TOTYPE */
> ++ YYSYMBOL_TK_TOSUBCLASS = 53, /* TK_TOSUBCLASS */
> ++ YYSYMBOL_TK_INCLUDE = 54, /* TK_INCLUDE */
> ++ YYSYMBOL_TK_OPTINCLUDE = 55, /* TK_OPTINCLUDE */
> ++ YYSYMBOL_TK_IMPORT = 56, /* TK_IMPORT */
> ++ YYSYMBOL_TK_EXPHEADERCODE = 57, /* TK_EXPHEADERCODE */
> ++ YYSYMBOL_TK_MODHEADERCODE = 58, /* TK_MODHEADERCODE */
> ++ YYSYMBOL_TK_TYPEHEADERCODE = 59, /* TK_TYPEHEADERCODE */
> ++ YYSYMBOL_TK_MODULE = 60, /* TK_MODULE */
> ++ YYSYMBOL_TK_CMODULE = 61, /* TK_CMODULE */
> ++ YYSYMBOL_TK_CONSMODULE = 62, /* TK_CONSMODULE */
> ++ YYSYMBOL_TK_COMPOMODULE = 63, /* TK_COMPOMODULE */
> ++ YYSYMBOL_TK_CLASS = 64, /* TK_CLASS */
> ++ YYSYMBOL_TK_STRUCT = 65, /* TK_STRUCT */
> ++ YYSYMBOL_TK_PUBLIC = 66, /* TK_PUBLIC */
> ++ YYSYMBOL_TK_PROTECTED = 67, /* TK_PROTECTED */
> ++ YYSYMBOL_TK_PRIVATE = 68, /* TK_PRIVATE */
> ++ YYSYMBOL_TK_SIGNALS = 69, /* TK_SIGNALS */
> ++ YYSYMBOL_TK_SIGNAL_METHOD = 70, /* TK_SIGNAL_METHOD */
> ++ YYSYMBOL_TK_SLOTS = 71, /* TK_SLOTS */
> ++ YYSYMBOL_TK_SLOT_METHOD = 72, /* TK_SLOT_METHOD */
> ++ YYSYMBOL_TK_BOOL = 73, /* TK_BOOL */
> ++ YYSYMBOL_TK_SHORT = 74, /* TK_SHORT */
> ++ YYSYMBOL_TK_INT = 75, /* TK_INT */
> ++ YYSYMBOL_TK_LONG = 76, /* TK_LONG */
> ++ YYSYMBOL_TK_FLOAT = 77, /* TK_FLOAT */
> ++ YYSYMBOL_TK_DOUBLE = 78, /* TK_DOUBLE */
> ++ YYSYMBOL_TK_CHAR = 79, /* TK_CHAR */
> ++ YYSYMBOL_TK_WCHAR_T = 80, /* TK_WCHAR_T */
> ++ YYSYMBOL_TK_VOID = 81, /* TK_VOID */
> ++ YYSYMBOL_TK_PYOBJECT = 82, /* TK_PYOBJECT */
> ++ YYSYMBOL_TK_PYTUPLE = 83, /* TK_PYTUPLE */
> ++ YYSYMBOL_TK_PYLIST = 84, /* TK_PYLIST */
> ++ YYSYMBOL_TK_PYDICT = 85, /* TK_PYDICT */
> ++ YYSYMBOL_TK_PYCALLABLE = 86, /* TK_PYCALLABLE */
> ++ YYSYMBOL_TK_PYSLICE = 87, /* TK_PYSLICE */
> ++ YYSYMBOL_TK_PYTYPE = 88, /* TK_PYTYPE */
> ++ YYSYMBOL_TK_PYBUFFER = 89, /* TK_PYBUFFER */
> ++ YYSYMBOL_TK_VIRTUAL = 90, /* TK_VIRTUAL */
> ++ YYSYMBOL_TK_ENUM = 91, /* TK_ENUM */
> ++ YYSYMBOL_TK_SIGNED = 92, /* TK_SIGNED */
> ++ YYSYMBOL_TK_UNSIGNED = 93, /* TK_UNSIGNED */
> ++ YYSYMBOL_TK_SCOPE = 94, /* TK_SCOPE */
> ++ YYSYMBOL_TK_LOGICAL_OR = 95, /* TK_LOGICAL_OR */
> ++ YYSYMBOL_TK_CONST = 96, /* TK_CONST */
> ++ YYSYMBOL_TK_STATIC = 97, /* TK_STATIC */
> ++ YYSYMBOL_TK_SIPSIGNAL = 98, /* TK_SIPSIGNAL */
> ++ YYSYMBOL_TK_SIPSLOT = 99, /* TK_SIPSLOT */
> ++ YYSYMBOL_TK_SIPANYSLOT = 100, /* TK_SIPANYSLOT */
> ++ YYSYMBOL_TK_SIPRXCON = 101, /* TK_SIPRXCON */
> ++ YYSYMBOL_TK_SIPRXDIS = 102, /* TK_SIPRXDIS */
> ++ YYSYMBOL_TK_SIPSLOTCON = 103, /* TK_SIPSLOTCON */
> ++ YYSYMBOL_TK_SIPSLOTDIS = 104, /* TK_SIPSLOTDIS */
> ++ YYSYMBOL_TK_SIPSSIZET = 105, /* TK_SIPSSIZET */
> ++ YYSYMBOL_TK_SIZET = 106, /* TK_SIZET */
> ++ YYSYMBOL_TK_NUMBER_VALUE = 107, /* TK_NUMBER_VALUE */
> ++ YYSYMBOL_TK_REAL_VALUE = 108, /* TK_REAL_VALUE */
> ++ YYSYMBOL_TK_TYPEDEF = 109, /* TK_TYPEDEF */
> ++ YYSYMBOL_TK_NAMESPACE = 110, /* TK_NAMESPACE */
> ++ YYSYMBOL_TK_TIMELINE = 111, /* TK_TIMELINE */
> ++ YYSYMBOL_TK_PLATFORMS = 112, /* TK_PLATFORMS */
> ++ YYSYMBOL_TK_FEATURE = 113, /* TK_FEATURE */
> ++ YYSYMBOL_TK_LICENSE = 114, /* TK_LICENSE */
> ++ YYSYMBOL_TK_QCHAR_VALUE = 115, /* TK_QCHAR_VALUE */
> ++ YYSYMBOL_TK_TRUE_VALUE = 116, /* TK_TRUE_VALUE */
> ++ YYSYMBOL_TK_FALSE_VALUE = 117, /* TK_FALSE_VALUE */
> ++ YYSYMBOL_TK_NULL_VALUE = 118, /* TK_NULL_VALUE */
> ++ YYSYMBOL_TK_OPERATOR = 119, /* TK_OPERATOR */
> ++ YYSYMBOL_TK_THROW = 120, /* TK_THROW */
> ++ YYSYMBOL_TK_QOBJECT = 121, /* TK_QOBJECT */
> ++ YYSYMBOL_TK_EXCEPTION = 122, /* TK_EXCEPTION */
> ++ YYSYMBOL_TK_RAISECODE = 123, /* TK_RAISECODE */
> ++ YYSYMBOL_TK_EXPLICIT = 124, /* TK_EXPLICIT */
> ++ YYSYMBOL_TK_TEMPLATE = 125, /* TK_TEMPLATE */
> ++ YYSYMBOL_TK_FINAL = 126, /* TK_FINAL */
> ++ YYSYMBOL_TK_ELLIPSIS = 127, /* TK_ELLIPSIS */
> ++ YYSYMBOL_TK_DEFMETATYPE = 128, /* TK_DEFMETATYPE */
> ++ YYSYMBOL_TK_DEFSUPERTYPE = 129, /* TK_DEFSUPERTYPE */
> ++ YYSYMBOL_TK_PROPERTY = 130, /* TK_PROPERTY */
> ++ YYSYMBOL_TK_HIDE_NS = 131, /* TK_HIDE_NS */
> ++ YYSYMBOL_TK_FORMAT = 132, /* TK_FORMAT */
> ++ YYSYMBOL_TK_GET = 133, /* TK_GET */
> ++ YYSYMBOL_TK_ID = 134, /* TK_ID */
> ++ YYSYMBOL_TK_KWARGS = 135, /* TK_KWARGS */
> ++ YYSYMBOL_TK_LANGUAGE = 136, /* TK_LANGUAGE */
> ++ YYSYMBOL_TK_LICENSEE = 137, /* TK_LICENSEE */
> ++ YYSYMBOL_TK_NAME = 138, /* TK_NAME */
> ++ YYSYMBOL_TK_OPTIONAL = 139, /* TK_OPTIONAL */
> ++ YYSYMBOL_TK_ORDER = 140, /* TK_ORDER */
> ++ YYSYMBOL_TK_REMOVELEADING = 141, /* TK_REMOVELEADING */
> ++ YYSYMBOL_TK_SET = 142, /* TK_SET */
> ++ YYSYMBOL_TK_SIGNATURE = 143, /* TK_SIGNATURE */
> ++ YYSYMBOL_TK_TIMESTAMP = 144, /* TK_TIMESTAMP */
> ++ YYSYMBOL_TK_TYPE = 145, /* TK_TYPE */
> ++ YYSYMBOL_TK_USEARGNAMES = 146, /* TK_USEARGNAMES */
> ++ YYSYMBOL_TK_PYSSIZETCLEAN = 147, /* TK_PYSSIZETCLEAN */
> ++ YYSYMBOL_TK_USELIMITEDAPI = 148, /* TK_USELIMITEDAPI */
> ++ YYSYMBOL_TK_ALLRAISEPYEXC = 149, /* TK_ALLRAISEPYEXC */
> ++ YYSYMBOL_TK_CALLSUPERINIT = 150, /* TK_CALLSUPERINIT */
> ++ YYSYMBOL_TK_DEFERRORHANDLER = 151, /* TK_DEFERRORHANDLER */
> ++ YYSYMBOL_TK_VERSION = 152, /* TK_VERSION */
> ++ YYSYMBOL_153_ = 153, /* '(' */
> ++ YYSYMBOL_154_ = 154, /* ')' */
> ++ YYSYMBOL_155_ = 155, /* ',' */
> ++ YYSYMBOL_156_ = 156, /* '=' */
> ++ YYSYMBOL_157_ = 157, /* '{' */
> ++ YYSYMBOL_158_ = 158, /* '}' */
> ++ YYSYMBOL_159_ = 159, /* ';' */
> ++ YYSYMBOL_160_ = 160, /* '!' */
> ++ YYSYMBOL_161_ = 161, /* '-' */
> ++ YYSYMBOL_162_ = 162, /* '+' */
> ++ YYSYMBOL_163_ = 163, /* '*' */
> ++ YYSYMBOL_164_ = 164, /* '/' */
> ++ YYSYMBOL_165_ = 165, /* '&' */
> ++ YYSYMBOL_166_ = 166, /* '|' */
> ++ YYSYMBOL_167_ = 167, /* '~' */
> ++ YYSYMBOL_168_ = 168, /* '<' */
> ++ YYSYMBOL_169_ = 169, /* '>' */
> ++ YYSYMBOL_170_ = 170, /* ':' */
> ++ YYSYMBOL_171_ = 171, /* '[' */
> ++ YYSYMBOL_172_ = 172, /* ']' */
> ++ YYSYMBOL_173_ = 173, /* '%' */
> ++ YYSYMBOL_174_ = 174, /* '^' */
> ++ YYSYMBOL_YYACCEPT = 175, /* $accept */
> ++ YYSYMBOL_specification = 176, /* specification */
> ++ YYSYMBOL_statement = 177, /* statement */
> ++ YYSYMBOL_178_1 = 178, /* $@1 */
> ++ YYSYMBOL_modstatement = 179, /* modstatement */
> ++ YYSYMBOL_nsstatement = 180, /* nsstatement */
> ++ YYSYMBOL_defdocstringfmt = 181, /* defdocstringfmt */
> ++ YYSYMBOL_defdocstringfmt_args = 182, /* defdocstringfmt_args */
> ++ YYSYMBOL_defdocstringfmt_arg_list = 183, /* defdocstringfmt_arg_list */
> ++ YYSYMBOL_defdocstringfmt_arg = 184, /* defdocstringfmt_arg */
> ++ YYSYMBOL_defdocstringsig = 185, /* defdocstringsig */
> ++ YYSYMBOL_defdocstringsig_args = 186, /* defdocstringsig_args */
> ++ YYSYMBOL_defdocstringsig_arg_list = 187, /* defdocstringsig_arg_list */
> ++ YYSYMBOL_defdocstringsig_arg = 188, /* defdocstringsig_arg */
> ++ YYSYMBOL_defencoding = 189, /* defencoding */
> ++ YYSYMBOL_defencoding_args = 190, /* defencoding_args */
> ++ YYSYMBOL_defencoding_arg_list = 191, /* defencoding_arg_list */
> ++ YYSYMBOL_defencoding_arg = 192, /* defencoding_arg */
> ++ YYSYMBOL_plugin = 193, /* plugin */
> ++ YYSYMBOL_plugin_args = 194, /* plugin_args */
> ++ YYSYMBOL_plugin_arg_list = 195, /* plugin_arg_list */
> ++ YYSYMBOL_plugin_arg = 196, /* plugin_arg */
> ++ YYSYMBOL_virterrorhandler = 197, /* virterrorhandler */
> ++ YYSYMBOL_veh_args = 198, /* veh_args */
> ++ YYSYMBOL_veh_arg_list = 199, /* veh_arg_list */
> ++ YYSYMBOL_veh_arg = 200, /* veh_arg */
> ++ YYSYMBOL_api = 201, /* api */
> ++ YYSYMBOL_api_args = 202, /* api_args */
> ++ YYSYMBOL_api_arg_list = 203, /* api_arg_list */
> ++ YYSYMBOL_api_arg = 204, /* api_arg */
> ++ YYSYMBOL_exception = 205, /* exception */
> ++ YYSYMBOL_baseexception = 206, /* baseexception */
> ++ YYSYMBOL_exception_body = 207, /* exception_body */
> ++ YYSYMBOL_exception_body_directives = 208, /* exception_body_directives */
> ++ YYSYMBOL_exception_body_directive = 209, /* exception_body_directive */
> ++ YYSYMBOL_raisecode = 210, /* raisecode */
> ++ YYSYMBOL_mappedtype = 211, /* mappedtype */
> ++ YYSYMBOL_212_2 = 212, /* $@2 */
> ++ YYSYMBOL_mappedtypetmpl = 213, /* mappedtypetmpl */
> ++ YYSYMBOL_214_3 = 214, /* $@3 */
> ++ YYSYMBOL_mtdefinition = 215, /* mtdefinition */
> ++ YYSYMBOL_mtbody = 216, /* mtbody */
> ++ YYSYMBOL_mtline = 217, /* mtline */
> ++ YYSYMBOL_mtfunction = 218, /* mtfunction */
> ++ YYSYMBOL_namespace = 219, /* namespace */
> ++ YYSYMBOL_220_4 = 220, /* $@4 */
> ++ YYSYMBOL_optnsbody = 221, /* optnsbody */
> ++ YYSYMBOL_nsbody = 222, /* nsbody */
> ++ YYSYMBOL_platforms = 223, /* platforms */
> ++ YYSYMBOL_224_5 = 224, /* $@5 */
> ++ YYSYMBOL_platformlist = 225, /* platformlist */
> ++ YYSYMBOL_platform = 226, /* platform */
> ++ YYSYMBOL_feature = 227, /* feature */
> ++ YYSYMBOL_feature_args = 228, /* feature_args */
> ++ YYSYMBOL_feature_arg_list = 229, /* feature_arg_list */
> ++ YYSYMBOL_feature_arg = 230, /* feature_arg */
> ++ YYSYMBOL_timeline = 231, /* timeline */
> ++ YYSYMBOL_232_6 = 232, /* $@6 */
> ++ YYSYMBOL_qualifierlist = 233, /* qualifierlist */
> ++ YYSYMBOL_qualifiername = 234, /* qualifiername */
> ++ YYSYMBOL_ifstart = 235, /* ifstart */
> ++ YYSYMBOL_236_7 = 236, /* $@7 */
> ++ YYSYMBOL_oredqualifiers = 237, /* oredqualifiers */
> ++ YYSYMBOL_qualifiers = 238, /* qualifiers */
> ++ YYSYMBOL_ifend = 239, /* ifend */
> ++ YYSYMBOL_license = 240, /* license */
> ++ YYSYMBOL_license_args = 241, /* license_args */
> ++ YYSYMBOL_license_arg_list = 242, /* license_arg_list */
> ++ YYSYMBOL_license_arg = 243, /* license_arg */
> ++ YYSYMBOL_defmetatype = 244, /* defmetatype */
> ++ YYSYMBOL_defmetatype_args = 245, /* defmetatype_args */
> ++ YYSYMBOL_defmetatype_arg_list = 246, /* defmetatype_arg_list */
> ++ YYSYMBOL_defmetatype_arg = 247, /* defmetatype_arg */
> ++ YYSYMBOL_defsupertype = 248, /* defsupertype */
> ++ YYSYMBOL_defsupertype_args = 249, /* defsupertype_args */
> ++ YYSYMBOL_defsupertype_arg_list = 250, /* defsupertype_arg_list */
> ++ YYSYMBOL_defsupertype_arg = 251, /* defsupertype_arg */
> ++ YYSYMBOL_hiddenns = 252, /* hiddenns */
> ++ YYSYMBOL_hiddenns_args = 253, /* hiddenns_args */
> ++ YYSYMBOL_hiddenns_arg_list = 254, /* hiddenns_arg_list */
> ++ YYSYMBOL_hiddenns_arg = 255, /* hiddenns_arg */
> ++ YYSYMBOL_consmodule = 256, /* consmodule */
> ++ YYSYMBOL_consmodule_args = 257, /* consmodule_args */
> ++ YYSYMBOL_consmodule_arg_list = 258, /* consmodule_arg_list */
> ++ YYSYMBOL_consmodule_arg = 259, /* consmodule_arg */
> ++ YYSYMBOL_consmodule_body = 260, /* consmodule_body */
> ++ YYSYMBOL_consmodule_body_directives = 261, /* consmodule_body_directives */
> ++ YYSYMBOL_consmodule_body_directive = 262, /* consmodule_body_directive */
> ++ YYSYMBOL_compmodule = 263, /* compmodule */
> ++ YYSYMBOL_compmodule_args = 264, /* compmodule_args */
> ++ YYSYMBOL_compmodule_arg_list = 265, /* compmodule_arg_list */
> ++ YYSYMBOL_compmodule_arg = 266, /* compmodule_arg */
> ++ YYSYMBOL_compmodule_body = 267, /* compmodule_body */
> ++ YYSYMBOL_compmodule_body_directives = 268, /* compmodule_body_directives */
> ++ YYSYMBOL_compmodule_body_directive = 269, /* compmodule_body_directive */
> ++ YYSYMBOL_module = 270, /* module */
> ++ YYSYMBOL_module_args = 271, /* module_args */
> ++ YYSYMBOL_272_8 = 272, /* $@8 */
> ++ YYSYMBOL_module_arg_list = 273, /* module_arg_list */
> ++ YYSYMBOL_module_arg = 274, /* module_arg */
> ++ YYSYMBOL_module_body = 275, /* module_body */
> ++ YYSYMBOL_module_body_directives = 276, /* module_body_directives */
> ++ YYSYMBOL_module_body_directive = 277, /* module_body_directive */
> ++ YYSYMBOL_dottedname = 278, /* dottedname */
> ++ YYSYMBOL_optnumber = 279, /* optnumber */
> ++ YYSYMBOL_include = 280, /* include */
> ++ YYSYMBOL_include_args = 281, /* include_args */
> ++ YYSYMBOL_include_arg_list = 282, /* include_arg_list */
> ++ YYSYMBOL_include_arg = 283, /* include_arg */
> ++ YYSYMBOL_optinclude = 284, /* optinclude */
> ++ YYSYMBOL_import = 285, /* import */
> ++ YYSYMBOL_import_args = 286, /* import_args */
> ++ YYSYMBOL_import_arg_list = 287, /* import_arg_list */
> ++ YYSYMBOL_import_arg = 288, /* import_arg */
> ++ YYSYMBOL_optaccesscode = 289, /* optaccesscode */
> ++ YYSYMBOL_optgetcode = 290, /* optgetcode */
> ++ YYSYMBOL_optsetcode = 291, /* optsetcode */
> ++ YYSYMBOL_copying = 292, /* copying */
> ++ YYSYMBOL_exphdrcode = 293, /* exphdrcode */
> ++ YYSYMBOL_modhdrcode = 294, /* modhdrcode */
> ++ YYSYMBOL_typehdrcode = 295, /* typehdrcode */
> ++ YYSYMBOL_travcode = 296, /* travcode */
> ++ YYSYMBOL_clearcode = 297, /* clearcode */
> ++ YYSYMBOL_getbufcode = 298, /* getbufcode */
> ++ YYSYMBOL_releasebufcode = 299, /* releasebufcode */
> ++ YYSYMBOL_readbufcode = 300, /* readbufcode */
> ++ YYSYMBOL_writebufcode = 301, /* writebufcode */
> ++ YYSYMBOL_segcountcode = 302, /* segcountcode */
> ++ YYSYMBOL_charbufcode = 303, /* charbufcode */
> ++ YYSYMBOL_instancecode = 304, /* instancecode */
> ++ YYSYMBOL_picklecode = 305, /* picklecode */
> ++ YYSYMBOL_finalcode = 306, /* finalcode */
> ++ YYSYMBOL_modcode = 307, /* modcode */
> ++ YYSYMBOL_typecode = 308, /* typecode */
> ++ YYSYMBOL_preinitcode = 309, /* preinitcode */
> ++ YYSYMBOL_initcode = 310, /* initcode */
> ++ YYSYMBOL_postinitcode = 311, /* postinitcode */
> ++ YYSYMBOL_unitcode = 312, /* unitcode */
> ++ YYSYMBOL_unitpostinccode = 313, /* unitpostinccode */
> ++ YYSYMBOL_prepycode = 314, /* prepycode */
> ++ YYSYMBOL_exptypehintcode = 315, /* exptypehintcode */
> ++ YYSYMBOL_modtypehintcode = 316, /* modtypehintcode */
> ++ YYSYMBOL_classtypehintcode = 317, /* classtypehintcode */
> ++ YYSYMBOL_doc = 318, /* doc */
> ++ YYSYMBOL_exporteddoc = 319, /* exporteddoc */
> ++ YYSYMBOL_autopyname = 320, /* autopyname */
> ++ YYSYMBOL_autopyname_args = 321, /* autopyname_args */
> ++ YYSYMBOL_autopyname_arg_list = 322, /* autopyname_arg_list */
> ++ YYSYMBOL_autopyname_arg = 323, /* autopyname_arg */
> ++ YYSYMBOL_docstring = 324, /* docstring */
> ++ YYSYMBOL_docstring_args = 325, /* docstring_args */
> ++ YYSYMBOL_docstring_arg_list = 326, /* docstring_arg_list */
> ++ YYSYMBOL_docstring_arg = 327, /* docstring_arg */
> ++ YYSYMBOL_optdocstring = 328, /* optdocstring */
> ++ YYSYMBOL_extract = 329, /* extract */
> ++ YYSYMBOL_extract_args = 330, /* extract_args */
> ++ YYSYMBOL_extract_arg_list = 331, /* extract_arg_list */
> ++ YYSYMBOL_extract_arg = 332, /* extract_arg */
> ++ YYSYMBOL_makefile = 333, /* makefile */
> ++ YYSYMBOL_codeblock = 334, /* codeblock */
> ++ YYSYMBOL_codelines = 335, /* codelines */
> ++ YYSYMBOL_enum = 336, /* enum */
> ++ YYSYMBOL_337_9 = 337, /* $@9 */
> ++ YYSYMBOL_optenumkey = 338, /* optenumkey */
> ++ YYSYMBOL_optfilename = 339, /* optfilename */
> ++ YYSYMBOL_optname = 340, /* optname */
> ++ YYSYMBOL_optenumbody = 341, /* optenumbody */
> ++ YYSYMBOL_enumbody = 342, /* enumbody */
> ++ YYSYMBOL_enumline = 343, /* enumline */
> ++ YYSYMBOL_optcomma = 344, /* optcomma */
> ++ YYSYMBOL_optenumassign = 345, /* optenumassign */
> ++ YYSYMBOL_optassign = 346, /* optassign */
> ++ YYSYMBOL_expr = 347, /* expr */
> ++ YYSYMBOL_binop = 348, /* binop */
> ++ YYSYMBOL_optunop = 349, /* optunop */
> ++ YYSYMBOL_value = 350, /* value */
> ++ YYSYMBOL_optcast = 351, /* optcast */
> ++ YYSYMBOL_scopedname = 352, /* scopedname */
> ++ YYSYMBOL_scopednamehead = 353, /* scopednamehead */
> ++ YYSYMBOL_scopepart = 354, /* scopepart */
> ++ YYSYMBOL_bool_value = 355, /* bool_value */
> ++ YYSYMBOL_simplevalue = 356, /* simplevalue */
> ++ YYSYMBOL_exprlist = 357, /* exprlist */
> ++ YYSYMBOL_typedef = 358, /* typedef */
> ++ YYSYMBOL_struct = 359, /* struct */
> ++ YYSYMBOL_360_10 = 360, /* $@10 */
> ++ YYSYMBOL_361_11 = 361, /* $@11 */
> ++ YYSYMBOL_classtmpl = 362, /* classtmpl */
> ++ YYSYMBOL_363_12 = 363, /* $@12 */
> ++ YYSYMBOL_template = 364, /* template */
> ++ YYSYMBOL_class = 365, /* class */
> ++ YYSYMBOL_366_13 = 366, /* $@13 */
> ++ YYSYMBOL_367_14 = 367, /* $@14 */
> ++ YYSYMBOL_superclasses = 368, /* superclasses */
> ++ YYSYMBOL_superlist = 369, /* superlist */
> ++ YYSYMBOL_superclass = 370, /* superclass */
> ++ YYSYMBOL_class_access = 371, /* class_access */
> ++ YYSYMBOL_optclassbody = 372, /* optclassbody */
> ++ YYSYMBOL_classbody = 373, /* classbody */
> ++ YYSYMBOL_classline = 374, /* classline */
> ++ YYSYMBOL_property = 375, /* property */
> ++ YYSYMBOL_property_args = 376, /* property_args */
> ++ YYSYMBOL_property_arg_list = 377, /* property_arg_list */
> ++ YYSYMBOL_property_arg = 378, /* property_arg */
> ++ YYSYMBOL_property_body = 379, /* property_body */
> ++ YYSYMBOL_property_body_directives = 380, /* property_body_directives */
> ++ YYSYMBOL_property_body_directive = 381, /* property_body_directive */
> ++ YYSYMBOL_name_or_string = 382, /* name_or_string */
> ++ YYSYMBOL_optslot = 383, /* optslot */
> ++ YYSYMBOL_dtor = 384, /* dtor */
> ++ YYSYMBOL_385_15 = 385, /* $@15 */
> ++ YYSYMBOL_dtor_decl = 386, /* dtor_decl */
> ++ YYSYMBOL_ctor = 387, /* ctor */
> ++ YYSYMBOL_388_16 = 388, /* $@16 */
> ++ YYSYMBOL_simplector = 389, /* simplector */
> ++ YYSYMBOL_optctorsig = 390, /* optctorsig */
> ++ YYSYMBOL_391_17 = 391, /* $@17 */
> ++ YYSYMBOL_optsig = 392, /* optsig */
> ++ YYSYMBOL_393_18 = 393, /* $@18 */
> ++ YYSYMBOL_function = 394, /* function */
> ++ YYSYMBOL_operatorname = 395, /* operatorname */
> ++ YYSYMBOL_optconst = 396, /* optconst */
> ++ YYSYMBOL_optfinal = 397, /* optfinal */
> ++ YYSYMBOL_optabstract = 398, /* optabstract */
> ++ YYSYMBOL_optflags = 399, /* optflags */
> ++ YYSYMBOL_flaglist = 400, /* flaglist */
> ++ YYSYMBOL_flag = 401, /* flag */
> ++ YYSYMBOL_flagvalue = 402, /* flagvalue */
> ++ YYSYMBOL_virtualcallcode = 403, /* virtualcallcode */
> ++ YYSYMBOL_methodcode = 404, /* methodcode */
> ++ YYSYMBOL_premethodcode = 405, /* premethodcode */
> ++ YYSYMBOL_virtualcatchercode = 406, /* virtualcatchercode */
> ++ YYSYMBOL_arglist = 407, /* arglist */
> ++ YYSYMBOL_rawarglist = 408, /* rawarglist */
> ++ YYSYMBOL_argvalue = 409, /* argvalue */
> ++ YYSYMBOL_varmember = 410, /* varmember */
> ++ YYSYMBOL_411_19 = 411, /* $@19 */
> ++ YYSYMBOL_412_20 = 412, /* $@20 */
> ++ YYSYMBOL_simple_varmem = 413, /* simple_varmem */
> ++ YYSYMBOL_414_21 = 414, /* $@21 */
> ++ YYSYMBOL_varmem = 415, /* varmem */
> ++ YYSYMBOL_member = 416, /* member */
> ++ YYSYMBOL_417_22 = 417, /* $@22 */
> ++ YYSYMBOL_variable = 418, /* variable */
> ++ YYSYMBOL_variable_body = 419, /* variable_body */
> ++ YYSYMBOL_variable_body_directives = 420, /* variable_body_directives */
> ++ YYSYMBOL_variable_body_directive = 421, /* variable_body_directive */
> ++ YYSYMBOL_cpptype = 422, /* cpptype */
> ++ YYSYMBOL_argtype = 423, /* argtype */
> ++ YYSYMBOL_optref = 424, /* optref */
> ++ YYSYMBOL_deref = 425, /* deref */
> ++ YYSYMBOL_basetype = 426, /* basetype */
> ++ YYSYMBOL_cpptypelist = 427, /* cpptypelist */
> ++ YYSYMBOL_optexceptions = 428, /* optexceptions */
> ++ YYSYMBOL_exceptionlist = 429 /* exceptionlist */
> ++};
> ++typedef enum yysymbol_kind_t yysymbol_kind_t;
> +
> +-/* Copy the second part of user declarations. */
> +
> +
> +-/* Line 216 of yacc.c. */
> +-#line 639 "sip-4.19.23/sipgen/parser.c"
> +
> + #ifdef short
> + # undef short
> + #endif
> +
> +-#ifdef YYTYPE_UINT8
> +-typedef YYTYPE_UINT8 yytype_uint8;
> +-#else
> +-typedef unsigned char yytype_uint8;
> ++/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
> ++ <limits.h> and (if available) <stdint.h> are included
> ++ so that the code can choose integer types of a good width. */
> ++
> ++#ifndef __PTRDIFF_MAX__
> ++# include <limits.h> /* INFRINGES ON USER NAME SPACE */
> ++# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
> ++# include <stdint.h> /* INFRINGES ON USER NAME SPACE */
> ++# define YY_STDINT_H
> ++# endif
> + #endif
> +
> +-#ifdef YYTYPE_INT8
> +-typedef YYTYPE_INT8 yytype_int8;
> +-#elif (defined __STDC__ || defined __C99__FUNC__ \
> +- || defined __cplusplus || defined _MSC_VER)
> ++/* Narrow types that promote to a signed type and that can represent a
> ++ signed or unsigned integer of at least N bits. In tables they can
> ++ save space and decrease cache pressure. Promoting to a signed type
> ++ helps avoid bugs in integer arithmetic. */
> ++
> ++#ifdef __INT_LEAST8_MAX__
> ++typedef __INT_LEAST8_TYPE__ yytype_int8;
> ++#elif defined YY_STDINT_H
> ++typedef int_least8_t yytype_int8;
> ++#else
> + typedef signed char yytype_int8;
> ++#endif
> ++
> ++#ifdef __INT_LEAST16_MAX__
> ++typedef __INT_LEAST16_TYPE__ yytype_int16;
> ++#elif defined YY_STDINT_H
> ++typedef int_least16_t yytype_int16;
> + #else
> +-typedef short int yytype_int8;
> ++typedef short yytype_int16;
> ++#endif
> ++
> ++/* Work around bug in HP-UX 11.23, which defines these macros
> ++ incorrectly for preprocessor constants. This workaround can likely
> ++ be removed in 2023, as HPE has promised support for HP-UX 11.23
> ++ (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
> ++ <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>. */
> ++#ifdef __hpux
> ++# undef UINT_LEAST8_MAX
> ++# undef UINT_LEAST16_MAX
> ++# define UINT_LEAST8_MAX 255
> ++# define UINT_LEAST16_MAX 65535
> + #endif
> +
> +-#ifdef YYTYPE_UINT16
> +-typedef YYTYPE_UINT16 yytype_uint16;
> ++#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
> ++typedef __UINT_LEAST8_TYPE__ yytype_uint8;
> ++#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
> ++ && UINT_LEAST8_MAX <= INT_MAX)
> ++typedef uint_least8_t yytype_uint8;
> ++#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
> ++typedef unsigned char yytype_uint8;
> + #else
> +-typedef unsigned short int yytype_uint16;
> ++typedef short yytype_uint8;
> + #endif
> +
> +-#ifdef YYTYPE_INT16
> +-typedef YYTYPE_INT16 yytype_int16;
> ++#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
> ++typedef __UINT_LEAST16_TYPE__ yytype_uint16;
> ++#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
> ++ && UINT_LEAST16_MAX <= INT_MAX)
> ++typedef uint_least16_t yytype_uint16;
> ++#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
> ++typedef unsigned short yytype_uint16;
> + #else
> +-typedef short int yytype_int16;
> ++typedef int yytype_uint16;
> ++#endif
> ++
> ++#ifndef YYPTRDIFF_T
> ++# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
> ++# define YYPTRDIFF_T __PTRDIFF_TYPE__
> ++# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
> ++# elif defined PTRDIFF_MAX
> ++# ifndef ptrdiff_t
> ++# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
> ++# endif
> ++# define YYPTRDIFF_T ptrdiff_t
> ++# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
> ++# else
> ++# define YYPTRDIFF_T long
> ++# define YYPTRDIFF_MAXIMUM LONG_MAX
> ++# endif
> + #endif
> +
> + #ifndef YYSIZE_T
> +@@ -673,55 +806,106 @@ typedef short int yytype_int16;
> + # define YYSIZE_T __SIZE_TYPE__
> + # elif defined size_t
> + # define YYSIZE_T size_t
> +-# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
> +- || defined __cplusplus || defined _MSC_VER)
> ++# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
> + # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
> + # define YYSIZE_T size_t
> + # else
> +-# define YYSIZE_T unsigned int
> ++# define YYSIZE_T unsigned
> + # endif
> + #endif
> +
> +-#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
> ++#define YYSIZE_MAXIMUM \
> ++ YY_CAST (YYPTRDIFF_T, \
> ++ (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
> ++ ? YYPTRDIFF_MAXIMUM \
> ++ : YY_CAST (YYSIZE_T, -1)))
> ++
> ++#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
> ++
> ++
> ++/* Stored state numbers (used for stacks). */
> ++typedef yytype_int16 yy_state_t;
> ++
> ++/* State numbers in computations. */
> ++typedef int yy_state_fast_t;
> +
> + #ifndef YY_
> + # if defined YYENABLE_NLS && YYENABLE_NLS
> + # if ENABLE_NLS
> + # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
> +-# define YY_(msgid) dgettext ("bison-runtime", msgid)
> ++# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
> + # endif
> + # endif
> + # ifndef YY_
> +-# define YY_(msgid) msgid
> ++# define YY_(Msgid) Msgid
> ++# endif
> ++#endif
> ++
> ++
> ++#ifndef YY_ATTRIBUTE_PURE
> ++# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
> ++# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
> ++# else
> ++# define YY_ATTRIBUTE_PURE
> ++# endif
> ++#endif
> ++
> ++#ifndef YY_ATTRIBUTE_UNUSED
> ++# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
> ++# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
> ++# else
> ++# define YY_ATTRIBUTE_UNUSED
> + # endif
> + #endif
> +
> + /* Suppress unused-variable warnings by "using" E. */
> + #if ! defined lint || defined __GNUC__
> +-# define YYUSE(e) ((void) (e))
> ++# define YY_USE(E) ((void) (E))
> + #else
> +-# define YYUSE(e) /* empty */
> ++# define YY_USE(E) /* empty */
> + #endif
> +
> +-/* Identity function, used to suppress warnings about constant conditions. */
> +-#ifndef lint
> +-# define YYID(n) (n)
> +-#else
> +-#if (defined __STDC__ || defined __C99__FUNC__ \
> +- || defined __cplusplus || defined _MSC_VER)
> +-static int
> +-YYID (int i)
> ++/* Suppress an incorrect diagnostic about yylval being uninitialized. */
> ++#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
> ++# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
> ++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
> ++ _Pragma ("GCC diagnostic push") \
> ++ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
> ++# else
> ++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
> ++ _Pragma ("GCC diagnostic push") \
> ++ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
> ++ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
> ++# endif
> ++# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
> ++ _Pragma ("GCC diagnostic pop")
> + #else
> +-static int
> +-YYID (i)
> +- int i;
> ++# define YY_INITIAL_VALUE(Value) Value
> + #endif
> +-{
> +- return i;
> +-}
> ++#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
> ++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
> ++# define YY_IGNORE_MAYBE_UNINITIALIZED_END
> ++#endif
> ++#ifndef YY_INITIAL_VALUE
> ++# define YY_INITIAL_VALUE(Value) /* Nothing. */
> ++#endif
> ++
> ++#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
> ++# define YY_IGNORE_USELESS_CAST_BEGIN \
> ++ _Pragma ("GCC diagnostic push") \
> ++ _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
> ++# define YY_IGNORE_USELESS_CAST_END \
> ++ _Pragma ("GCC diagnostic pop")
> + #endif
> ++#ifndef YY_IGNORE_USELESS_CAST_BEGIN
> ++# define YY_IGNORE_USELESS_CAST_BEGIN
> ++# define YY_IGNORE_USELESS_CAST_END
> ++#endif
> ++
> ++
> ++#define YY_ASSERT(E) ((void) (0 && (E)))
> +
> +-#if ! defined yyoverflow || YYERROR_VERBOSE
> ++#if !defined yyoverflow
> +
> + /* The parser invokes alloca or malloc; define the necessary symbols. */
> +
> +@@ -738,11 +922,11 @@ YYID (i)
> + # define alloca _alloca
> + # else
> + # define YYSTACK_ALLOC alloca
> +-# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
> +- || defined __cplusplus || defined _MSC_VER)
> ++# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
> + # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
> +-# ifndef _STDLIB_H
> +-# define _STDLIB_H 1
> ++ /* Use EXIT_SUCCESS as a witness for stdlib.h. */
> ++# ifndef EXIT_SUCCESS
> ++# define EXIT_SUCCESS 0
> + # endif
> + # endif
> + # endif
> +@@ -750,8 +934,8 @@ YYID (i)
> + # endif
> +
> + # ifdef YYSTACK_ALLOC
> +- /* Pacify GCC's `empty if-body' warning. */
> +-# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
> ++ /* Pacify GCC's 'empty if-body' warning. */
> ++# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
> + # ifndef 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
> +@@ -765,125 +949,131 @@ YYID (i)
> + # ifndef YYSTACK_ALLOC_MAXIMUM
> + # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
> + # endif
> +-# if (defined __cplusplus && ! defined _STDLIB_H \
> ++# if (defined __cplusplus && ! defined EXIT_SUCCESS \
> + && ! ((defined YYMALLOC || defined malloc) \
> +- && (defined YYFREE || defined free)))
> ++ && (defined YYFREE || defined free)))
> + # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
> +-# ifndef _STDLIB_H
> +-# define _STDLIB_H 1
> ++# ifndef EXIT_SUCCESS
> ++# define EXIT_SUCCESS 0
> + # endif
> + # endif
> + # ifndef YYMALLOC
> + # define YYMALLOC malloc
> +-# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
> +- || defined __cplusplus || defined _MSC_VER)
> ++# if ! defined malloc && ! defined EXIT_SUCCESS
> + void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
> + # endif
> + # endif
> + # ifndef YYFREE
> + # define YYFREE free
> +-# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
> +- || defined __cplusplus || defined _MSC_VER)
> ++# if ! defined free && ! defined EXIT_SUCCESS
> + void free (void *); /* INFRINGES ON USER NAME SPACE */
> + # endif
> + # endif
> + # endif
> +-#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
> +-
> ++#endif /* !defined yyoverflow */
> +
> + #if (! defined yyoverflow \
> + && (! defined __cplusplus \
> +- || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
> ++ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
> +
> + /* A type that is properly aligned for any stack member. */
> + union yyalloc
> + {
> +- yytype_int16 yyss;
> +- YYSTYPE yyvs;
> +- };
> ++ yy_state_t yyss_alloc;
> ++ YYSTYPE yyvs_alloc;
> ++};
> +
> + /* The size of the maximum gap between one aligned stack and the next. */
> +-# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
> ++# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
> +
> + /* The size of an array large to enough to hold all stacks, each with
> + N elements. */
> + # define YYSTACK_BYTES(N) \
> +- ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
> ++ ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
> + + YYSTACK_GAP_MAXIMUM)
> +
> +-/* Copy COUNT objects from FROM to TO. The source and destination do
> +- not overlap. */
> +-# ifndef YYCOPY
> +-# if defined __GNUC__ && 1 < __GNUC__
> +-# define YYCOPY(To, From, Count) \
> +- __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
> +-# else
> +-# define YYCOPY(To, From, Count) \
> +- do \
> +- { \
> +- YYSIZE_T yyi; \
> +- for (yyi = 0; yyi < (Count); yyi++) \
> +- (To)[yyi] = (From)[yyi]; \
> +- } \
> +- while (YYID (0))
> +-# endif
> +-# endif
> ++# define YYCOPY_NEEDED 1
> +
> + /* Relocate STACK from its old location to the new one. The
> + local variables YYSIZE and YYSTACKSIZE give the old and new number of
> + elements in the stack, and YYPTR gives the new location of the
> + stack. Advance YYPTR to a properly aligned location for the next
> + stack. */
> +-# define YYSTACK_RELOCATE(Stack) \
> +- do \
> +- { \
> +- YYSIZE_T yynewbytes; \
> +- YYCOPY (&yyptr->Stack, Stack, yysize); \
> +- Stack = &yyptr->Stack; \
> +- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
> +- yyptr += yynewbytes / sizeof (*yyptr); \
> +- } \
> +- while (YYID (0))
> ++# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
> ++ do \
> ++ { \
> ++ YYPTRDIFF_T yynewbytes; \
> ++ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
> ++ Stack = &yyptr->Stack_alloc; \
> ++ yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
> ++ yyptr += yynewbytes / YYSIZEOF (*yyptr); \
> ++ } \
> ++ while (0)
> +
> + #endif
> +
> ++#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
> ++/* Copy COUNT objects from SRC to DST. The source and destination do
> ++ not overlap. */
> ++# ifndef YYCOPY
> ++# if defined __GNUC__ && 1 < __GNUC__
> ++# define YYCOPY(Dst, Src, Count) \
> ++ __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
> ++# else
> ++# define YYCOPY(Dst, Src, Count) \
> ++ do \
> ++ { \
> ++ YYPTRDIFF_T yyi; \
> ++ for (yyi = 0; yyi < (Count); yyi++) \
> ++ (Dst)[yyi] = (Src)[yyi]; \
> ++ } \
> ++ while (0)
> ++# endif
> ++# endif
> ++#endif /* !YYCOPY_NEEDED */
> ++
> + /* YYFINAL -- State number of the termination state. */
> + #define YYFINAL 4
> + /* YYLAST -- Last index in YYTABLE. */
> +-#define YYLAST 1630
> ++#define YYLAST 1669
> +
> + /* YYNTOKENS -- Number of terminals. */
> +-#define YYNTOKENS 174
> ++#define YYNTOKENS 175
> + /* YYNNTS -- Number of nonterminals. */
> + #define YYNNTS 255
> + /* YYNRULES -- Number of rules. */
> +-#define YYNRULES 597
> +-/* YYNRULES -- Number of states. */
> +-#define YYNSTATES 1047
> +-
> +-/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
> +-#define YYUNDEFTOK 2
> +-#define YYMAXUTOK 406
> +-
> +-#define YYTRANSLATE(YYX) \
> +- ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
> ++#define YYNRULES 598
> ++/* YYNSTATES -- Number of states. */
> ++#define YYNSTATES 1050
> ++
> ++/* YYMAXUTOK -- Last valid token kind. */
> ++#define YYMAXUTOK 407
> ++
> ++
> ++/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
> ++ as returned by yylex, with out-of-bounds checking. */
> ++#define YYTRANSLATE(YYX) \
> ++ (0 <= (YYX) && (YYX) <= YYMAXUTOK \
> ++ ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
> ++ : YYSYMBOL_YYUNDEF)
> +
> +-/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
> ++/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
> ++ as returned by yylex. */
> + static const yytype_uint8 yytranslate[] =
> + {
> + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> +- 2, 2, 2, 159, 2, 2, 2, 172, 164, 2,
> +- 152, 153, 162, 161, 154, 160, 2, 163, 2, 2,
> +- 2, 2, 2, 2, 2, 2, 2, 2, 169, 158,
> +- 167, 155, 168, 2, 2, 2, 2, 2, 2, 2,
> ++ 2, 2, 2, 160, 2, 2, 2, 173, 165, 2,
> ++ 153, 154, 163, 162, 155, 161, 2, 164, 2, 2,
> ++ 2, 2, 2, 2, 2, 2, 2, 2, 170, 159,
> ++ 168, 156, 169, 2, 2, 2, 2, 2, 2, 2,
> + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> +- 2, 170, 2, 171, 173, 2, 2, 2, 2, 2,
> ++ 2, 171, 2, 172, 174, 2, 2, 2, 2, 2,
> + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> +- 2, 2, 2, 156, 165, 157, 166, 2, 2, 2,
> ++ 2, 2, 2, 157, 166, 158, 167, 2, 2, 2,
> + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> +@@ -911,334 +1101,97 @@ static const yytype_uint8 yytranslate[]
> + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
> + 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
> + 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
> +- 145, 146, 147, 148, 149, 150, 151
> ++ 145, 146, 147, 148, 149, 150, 151, 152
> + };
> +
> + #if YYDEBUG
> +-/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
> +- YYRHS. */
> +-static const yytype_uint16 yyprhs[] =
> +-{
> +- 0, 0, 3, 5, 8, 9, 12, 14, 16, 18,
> +- 20, 22, 24, 26, 28, 30, 32, 34, 36, 38,
> +- 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
> +- 60, 62, 64, 66, 68, 70, 72, 74, 76, 78,
> +- 80, 82, 84, 86, 88, 90, 92, 94, 96, 98,
> +- 100, 102, 104, 106, 108, 110, 112, 115, 117, 121,
> +- 123, 127, 131, 134, 136, 140, 142, 146, 150, 153,
> +- 155, 159, 161, 165, 169, 172, 174, 178, 180, 184,
> +- 188, 192, 194, 198, 200, 204, 208, 211, 214, 218,
> +- 220, 224, 228, 232, 238, 239, 243, 248, 250, 253,
> +- 255, 257, 259, 261, 264, 265, 271, 272, 279, 284,
> +- 286, 289, 291, 293, 295, 297, 300, 303, 305, 307,
> +- 309, 324, 325, 331, 332, 336, 338, 341, 342, 348,
> +- 350, 353, 355, 358, 360, 364, 366, 370, 374, 375,
> +- 381, 383, 386, 388, 389, 395, 397, 400, 404, 409,
> +- 411, 415, 417, 421, 422, 424, 428, 430, 434, 438,
> +- 442, 446, 450, 453, 455, 459, 461, 465, 469, 472,
> +- 474, 478, 480, 484, 488, 491, 493, 497, 499, 503,
> +- 507, 511, 513, 517, 519, 523, 527, 528, 533, 535,
> +- 538, 540, 542, 544, 548, 550, 554, 556, 560, 564,
> +- 565, 570, 572, 575, 577, 579, 581, 585, 589, 590,
> +- 594, 598, 600, 604, 608, 612, 616, 620, 624, 628,
> +- 632, 636, 640, 641, 646, 648, 651, 653, 655, 657,
> +- 659, 661, 663, 664, 666, 669, 671, 675, 677, 681,
> +- 685, 689, 692, 695, 697, 701, 703, 707, 711, 712,
> +- 715, 716, 719, 720, 723, 726, 729, 732, 735, 738,
> +- 741, 744, 747, 750, 753, 756, 759, 762, 765, 768,
> +- 771, 774, 777, 780, 783, 786, 789, 792, 795, 798,
> +- 801, 804, 807, 810, 814, 816, 820, 824, 828, 829,
> +- 831, 835, 837, 841, 845, 849, 850, 852, 856, 858,
> +- 862, 864, 868, 872, 876, 881, 884, 886, 889, 890,
> +- 900, 901, 903, 905, 906, 908, 909, 911, 912, 914,
> +- 916, 919, 921, 923, 928, 929, 931, 932, 935, 936,
> +- 939, 941, 945, 947, 949, 951, 953, 955, 957, 958,
> +- 960, 962, 964, 966, 968, 970, 974, 975, 979, 982,
> +- 984, 986, 990, 992, 994, 996, 998, 1003, 1006, 1008,
> +- 1010, 1012, 1014, 1016, 1018, 1019, 1021, 1025, 1032, 1045,
> +- 1046, 1047, 1056, 1057, 1061, 1066, 1067, 1068, 1077, 1078,
> +- 1081, 1083, 1087, 1090, 1091, 1093, 1095, 1097, 1098, 1102,
> +- 1103, 1105, 1108, 1110, 1112, 1114, 1116, 1118, 1120, 1122,
> +- 1124, 1126, 1128, 1130, 1132, 1134, 1136, 1138, 1140, 1142,
> +- 1144, 1146, 1148, 1150, 1152, 1154, 1156, 1158, 1160, 1162,
> +- 1164, 1167, 1170, 1173, 1177, 1181, 1185, 1188, 1192, 1196,
> +- 1198, 1202, 1206, 1210, 1214, 1215, 1220, 1222, 1225, 1227,
> +- 1229, 1231, 1233, 1235, 1236, 1238, 1239, 1243, 1245, 1257,
> +- 1258, 1262, 1264, 1276, 1277, 1278, 1285, 1286, 1287, 1295,
> +- 1313, 1321, 1339, 1356, 1358, 1360, 1362, 1364, 1366, 1368,
> +- 1370, 1372, 1375, 1378, 1381, 1384, 1387, 1390, 1393, 1396,
> +- 1399, 1402, 1406, 1410, 1412, 1415, 1418, 1420, 1423, 1426,
> +- 1429, 1431, 1434, 1435, 1437, 1438, 1440, 1441, 1444, 1445,
> +- 1449, 1451, 1455, 1457, 1461, 1463, 1469, 1471, 1473, 1474,
> +- 1477, 1478, 1481, 1482, 1485, 1486, 1489, 1491, 1492, 1494,
> +- 1498, 1503, 1508, 1513, 1517, 1521, 1528, 1535, 1539, 1542,
> +- 1543, 1547, 1548, 1552, 1554, 1555, 1559, 1561, 1563, 1565,
> +- 1566, 1570, 1572, 1581, 1582, 1586, 1588, 1591, 1593, 1595,
> +- 1598, 1601, 1604, 1609, 1613, 1617, 1618, 1620, 1621, 1625,
> +- 1628, 1630, 1635, 1638, 1641, 1643, 1645, 1648, 1650, 1652,
> +- 1655, 1658, 1662, 1664, 1666, 1668, 1671, 1674, 1676, 1678,
> +- 1680, 1682, 1684, 1686, 1688, 1690, 1692, 1694, 1696, 1698,
> +- 1700, 1702, 1704, 1708, 1709, 1714, 1715, 1717
> +-};
> +-
> +-/* YYRHS -- A `-1'-separated list of the rules' RHS. */
> +-static const yytype_int16 yyrhs[] =
> +-{
> +- 175, 0, -1, 176, -1, 175, 176, -1, -1, 177,
> +- 178, -1, 269, -1, 255, -1, 262, -1, 192, -1,
> +- 291, -1, 279, -1, 283, -1, 284, -1, 200, -1,
> +- 230, -1, 222, -1, 226, -1, 239, -1, 180, -1,
> +- 184, -1, 188, -1, 243, -1, 247, -1, 251, -1,
> +- 292, -1, 293, -1, 306, -1, 308, -1, 309, -1,
> +- 310, -1, 311, -1, 312, -1, 313, -1, 314, -1,
> +- 315, -1, 317, -1, 318, -1, 328, -1, 332, -1,
> +- 210, -1, 212, -1, 196, -1, 179, -1, 234, -1,
> +- 238, -1, 218, -1, 358, -1, 364, -1, 361, -1,
> +- 204, -1, 357, -1, 335, -1, 393, -1, 417, -1,
> +- 294, -1, 5, 181, -1, 36, -1, 152, 182, 153,
> +- -1, 183, -1, 182, 154, 183, -1, 138, 155, 36,
> +- -1, 6, 185, -1, 36, -1, 152, 186, 153, -1,
> +- 187, -1, 186, 154, 187, -1, 138, 155, 36, -1,
> +- 7, 189, -1, 36, -1, 152, 190, 153, -1, 191,
> +- -1, 190, 154, 191, -1, 138, 155, 36, -1, 8,
> +- 193, -1, 34, -1, 152, 194, 153, -1, 195, -1,
> +- 194, 154, 195, -1, 138, 155, 34, -1, 9, 197,
> +- 333, -1, 34, -1, 152, 198, 153, -1, 199, -1,
> +- 198, 154, 199, -1, 138, 155, 34, -1, 3, 201,
> +- -1, 34, 107, -1, 152, 202, 153, -1, 203, -1,
> +- 202, 154, 203, -1, 138, 155, 381, -1, 151, 155,
> +- 107, -1, 122, 351, 205, 398, 206, -1, -1, 152,
> +- 351, 153, -1, 156, 207, 157, 158, -1, 208, -1,
> +- 207, 208, -1, 234, -1, 238, -1, 209, -1, 294,
> +- -1, 123, 333, -1, -1, 30, 425, 398, 211, 214,
> +- -1, -1, 363, 30, 425, 398, 213, 214, -1, 156,
> +- 215, 157, 158, -1, 216, -1, 215, 216, -1, 234,
> +- -1, 238, -1, 294, -1, 307, -1, 51, 333, -1,
> +- 52, 333, -1, 303, -1, 335, -1, 217, -1, 97,
> +- 421, 34, 152, 406, 153, 395, 427, 398, 391, 158,
> +- 327, 404, 403, -1, -1, 110, 34, 219, 220, 158,
> +- -1, -1, 156, 221, 157, -1, 179, -1, 221, 179,
> +- -1, -1, 112, 223, 156, 224, 157, -1, 225, -1,
> +- 224, 225, -1, 34, -1, 113, 227, -1, 34, -1,
> +- 152, 228, 153, -1, 229, -1, 228, 154, 229, -1,
> +- 138, 155, 381, -1, -1, 111, 231, 156, 232, 157,
> +- -1, 233, -1, 232, 233, -1, 34, -1, -1, 32,
> +- 152, 235, 237, 153, -1, 34, -1, 159, 34, -1,
> +- 236, 95, 34, -1, 236, 95, 159, 34, -1, 236,
> +- -1, 339, 160, 339, -1, 33, -1, 114, 240, 398,
> +- -1, -1, 36, -1, 152, 241, 153, -1, 242, -1,
> +- 241, 154, 242, -1, 145, 155, 36, -1, 137, 155,
> +- 36, -1, 143, 155, 36, -1, 144, 155, 36, -1,
> +- 128, 244, -1, 277, -1, 152, 245, 153, -1, 246,
> +- -1, 245, 154, 246, -1, 138, 155, 277, -1, 129,
> +- 248, -1, 277, -1, 152, 249, 153, -1, 250, -1,
> +- 249, 154, 250, -1, 138, 155, 277, -1, 131, 252,
> +- -1, 351, -1, 152, 253, 153, -1, 254, -1, 253,
> +- 154, 254, -1, 138, 155, 351, -1, 62, 256, 259,
> +- -1, 277, -1, 152, 257, 153, -1, 258, -1, 257,
> +- 154, 258, -1, 138, 155, 277, -1, -1, 156, 260,
> +- 157, 158, -1, 261, -1, 260, 261, -1, 234, -1,
> +- 238, -1, 323, -1, 63, 263, 266, -1, 277, -1,
> +- 152, 264, 153, -1, 265, -1, 264, 154, 265, -1,
> +- 138, 155, 277, -1, -1, 156, 267, 157, 158, -1,
> +- 268, -1, 267, 268, -1, 234, -1, 238, -1, 323,
> +- -1, 60, 270, 274, -1, 61, 277, 278, -1, -1,
> +- 277, 271, 278, -1, 152, 272, 153, -1, 273, -1,
> +- 272, 154, 273, -1, 135, 155, 36, -1, 136, 155,
> +- 36, -1, 138, 155, 277, -1, 146, 155, 354, -1,
> +- 147, 155, 354, -1, 148, 155, 354, -1, 149, 155,
> +- 354, -1, 150, 155, 34, -1, 151, 155, 107, -1,
> +- -1, 156, 275, 157, 158, -1, 276, -1, 275, 276,
> +- -1, 234, -1, 238, -1, 319, -1, 323, -1, 34,
> +- -1, 35, -1, -1, 107, -1, 54, 280, -1, 35,
> +- -1, 152, 281, 153, -1, 282, -1, 281, 154, 282,
> +- -1, 138, 155, 35, -1, 139, 155, 354, -1, 55,
> +- 35, -1, 56, 285, -1, 35, -1, 152, 286, 153,
> +- -1, 287, -1, 286, 154, 287, -1, 138, 155, 35,
> +- -1, -1, 17, 333, -1, -1, 18, 333, -1, -1,
> +- 19, 333, -1, 29, 333, -1, 57, 333, -1, 58,
> +- 333, -1, 59, 333, -1, 38, 333, -1, 39, 333,
> +- -1, 40, 333, -1, 41, 333, -1, 42, 333, -1,
> +- 43, 333, -1, 44, 333, -1, 45, 333, -1, 50,
> +- 333, -1, 46, 333, -1, 23, 333, -1, 26, 333,
> +- -1, 27, 333, -1, 20, 333, -1, 21, 333, -1,
> +- 22, 333, -1, 24, 333, -1, 25, 333, -1, 28,
> +- 333, -1, 10, 333, -1, 11, 333, -1, 11, 333,
> +- -1, 13, 333, -1, 14, 333, -1, 4, 320, -1,
> +- 152, 321, 153, -1, 322, -1, 321, 154, 322, -1,
> +- 141, 155, 36, -1, 12, 324, 333, -1, -1, 36,
> +- -1, 152, 325, 153, -1, 326, -1, 325, 154, 326,
> +- -1, 132, 155, 36, -1, 143, 155, 36, -1, -1,
> +- 323, -1, 15, 329, 333, -1, 34, -1, 152, 330,
> +- 153, -1, 331, -1, 330, 154, 331, -1, 134, 155,
> +- 34, -1, 140, 155, 107, -1, 16, 35, 338, 333,
> +- -1, 334, 33, -1, 31, -1, 334, 31, -1, -1,
> +- 91, 337, 339, 398, 336, 156, 340, 157, 158, -1,
> +- -1, 64, -1, 65, -1, -1, 35, -1, -1, 34,
> +- -1, -1, 341, -1, 342, -1, 341, 342, -1, 234,
> +- -1, 238, -1, 34, 344, 398, 343, -1, -1, 154,
> +- -1, -1, 155, 349, -1, -1, 155, 346, -1, 349,
> +- -1, 346, 347, 349, -1, 160, -1, 161, -1, 162,
> +- -1, 163, -1, 164, -1, 165, -1, -1, 159, -1,
> +- 166, -1, 160, -1, 161, -1, 162, -1, 164, -1,
> +- 350, 348, 355, -1, -1, 152, 351, 153, -1, 94,
> +- 352, -1, 352, -1, 353, -1, 352, 94, 353, -1,
> +- 34, -1, 116, -1, 117, -1, 351, -1, 425, 152,
> +- 356, 153, -1, 156, 157, -1, 108, -1, 107, -1,
> +- 354, -1, 118, -1, 36, -1, 115, -1, -1, 346,
> +- -1, 356, 154, 346, -1, 109, 421, 34, 398, 158,
> +- 327, -1, 109, 421, 152, 162, 34, 153, 152, 426,
> +- 153, 398, 158, 327, -1, -1, -1, 65, 351, 359,
> +- 367, 398, 360, 371, 158, -1, -1, 363, 362, 364,
> +- -1, 125, 167, 426, 168, -1, -1, -1, 64, 351,
> +- 365, 367, 398, 366, 371, 158, -1, -1, 169, 368,
> +- -1, 369, -1, 368, 154, 369, -1, 370, 351, -1,
> +- -1, 66, -1, 67, -1, 68, -1, -1, 156, 372,
> +- 157, -1, -1, 373, -1, 372, 373, -1, 234, -1,
> +- 238, -1, 218, -1, 358, -1, 364, -1, 361, -1,
> +- 204, -1, 357, -1, 335, -1, 374, -1, 323, -1,
> +- 307, -1, 294, -1, 295, -1, 296, -1, 297, -1,
> +- 298, -1, 299, -1, 300, -1, 301, -1, 302, -1,
> +- 303, -1, 304, -1, 305, -1, 316, -1, 386, -1,
> +- 383, -1, 409, -1, 53, 333, -1, 52, 333, -1,
> +- 51, 333, -1, 66, 382, 169, -1, 67, 382, 169,
> +- -1, 68, 382, 169, -1, 69, 169, -1, 130, 375,
> +- 378, -1, 152, 376, 153, -1, 377, -1, 376, 154,
> +- 377, -1, 133, 155, 34, -1, 138, 155, 381, -1,
> +- 142, 155, 34, -1, -1, 156, 379, 157, 158, -1,
> +- 380, -1, 379, 380, -1, 234, -1, 238, -1, 323,
> +- -1, 34, -1, 36, -1, -1, 71, -1, -1, 90,
> +- 384, 385, -1, 385, -1, 166, 34, 152, 153, 427,
> +- 397, 398, 158, 404, 403, 405, -1, -1, 124, 387,
> +- 388, -1, 388, -1, 34, 152, 406, 153, 427, 398,
> +- 389, 158, 327, 404, 403, -1, -1, -1, 170, 390,
> +- 152, 406, 153, 171, -1, -1, -1, 170, 392, 421,
> +- 152, 406, 153, 171, -1, 421, 34, 152, 406, 153,
> +- 395, 396, 427, 397, 398, 391, 158, 327, 404, 403,
> +- 405, 402, -1, 421, 119, 155, 152, 421, 153, 158,
> +- -1, 421, 119, 394, 152, 406, 153, 395, 396, 427,
> +- 397, 398, 391, 158, 404, 403, 405, 402, -1, 119,
> +- 421, 152, 406, 153, 395, 396, 427, 397, 398, 391,
> +- 158, 404, 403, 405, 402, -1, 161, -1, 160, -1,
> +- 162, -1, 163, -1, 172, -1, 164, -1, 165, -1,
> +- 173, -1, 167, 167, -1, 168, 168, -1, 161, 155,
> +- -1, 160, 155, -1, 162, 155, -1, 163, 155, -1,
> +- 172, 155, -1, 164, 155, -1, 165, 155, -1, 173,
> +- 155, -1, 167, 167, 155, -1, 168, 168, 155, -1,
> +- 166, -1, 152, 153, -1, 170, 171, -1, 167, -1,
> +- 167, 155, -1, 155, 155, -1, 159, 155, -1, 168,
> +- -1, 168, 155, -1, -1, 96, -1, -1, 126, -1,
> +- -1, 155, 107, -1, -1, 163, 399, 163, -1, 400,
> +- -1, 399, 154, 400, -1, 34, -1, 34, 155, 401,
> +- -1, 277, -1, 34, 169, 278, 160, 278, -1, 36,
> +- -1, 107, -1, -1, 47, 333, -1, -1, 48, 333,
> +- -1, -1, 49, 333, -1, -1, 37, 333, -1, 407,
> +- -1, -1, 408, -1, 407, 154, 408, -1, 98, 339,
> +- 398, 345, -1, 99, 339, 398, 345, -1, 100, 339,
> +- 398, 345, -1, 101, 339, 398, -1, 102, 339, 398,
> +- -1, 103, 152, 406, 153, 339, 398, -1, 104, 152,
> +- 406, 153, 339, 398, -1, 121, 339, 398, -1, 422,
> +- 345, -1, -1, 70, 410, 412, -1, -1, 72, 411,
> +- 412, -1, 412, -1, -1, 97, 413, 414, -1, 414,
> +- -1, 415, -1, 417, -1, -1, 90, 416, 393, -1,
> +- 393, -1, 421, 34, 398, 418, 158, 288, 289, 290,
> +- -1, -1, 156, 419, 157, -1, 420, -1, 419, 420,
> +- -1, 234, -1, 238, -1, 17, 333, -1, 18, 333,
> +- -1, 19, 333, -1, 96, 425, 424, 423, -1, 425,
> +- 424, 423, -1, 421, 339, 398, -1, -1, 164, -1,
> +- -1, 424, 162, 96, -1, 424, 162, -1, 351, -1,
> +- 351, 167, 426, 168, -1, 65, 351, -1, 93, 74,
> +- -1, 74, -1, 93, -1, 93, 75, -1, 75, -1,
> +- 76, -1, 93, 76, -1, 76, 76, -1, 93, 76,
> +- 76, -1, 77, -1, 78, -1, 73, -1, 92, 79,
> +- -1, 93, 79, -1, 79, -1, 80, -1, 81, -1,
> +- 82, -1, 83, -1, 84, -1, 85, -1, 86, -1,
> +- 87, -1, 88, -1, 89, -1, 105, -1, 106, -1,
> +- 127, -1, 421, -1, 426, 154, 421, -1, -1, 120,
> +- 152, 428, 153, -1, -1, 351, -1, 428, 154, 351,
> +- -1
> +-};
> +-
> +-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
> +-static const yytype_uint16 yyrline[] =
> ++/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
> ++static const yytype_int16 yyrline[] =
> + {
> +- 0, 574, 574, 575, 578, 578, 597, 598, 599, 600,
> +- 601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
> +- 611, 612, 613, 614, 615, 616, 617, 618, 619, 620,
> +- 621, 622, 623, 624, 625, 626, 627, 628, 629, 630,
> +- 631, 632, 633, 634, 637, 638, 639, 640, 641, 642,
> +- 643, 644, 645, 646, 647, 648, 661, 667, 672, 677,
> +- 678, 688, 695, 701, 706, 711, 712, 722, 729, 738,
> +- 743, 748, 749, 759, 766, 777, 782, 787, 788, 798,
> +- 805, 834, 839, 844, 845, 855, 862, 888, 896, 901,
> +- 902, 913, 919, 927, 974, 978, 1085, 1090, 1091, 1102,
> +- 1105, 1108, 1122, 1138, 1143, 1143, 1166, 1166, 1233, 1247,
> +- 1248, 1251, 1252, 1253, 1257, 1261, 1270, 1279, 1288, 1289,
> +- 1292, 1307, 1307, 1344, 1345, 1348, 1349, 1352, 1352, 1381,
> +- 1382, 1385, 1391, 1397, 1402, 1407, 1408, 1418, 1425, 1425,
> +- 1451, 1452, 1455, 1461, 1461, 1480, 1483, 1486, 1489, 1494,
> +- 1495, 1500, 1508, 1545, 1553, 1559, 1564, 1565, 1578, 1586,
> +- 1594, 1602, 1612, 1623, 1628, 1633, 1634, 1644, 1651, 1662,
> +- 1667, 1672, 1673, 1683, 1690, 1702, 1707, 1712, 1713, 1723,
> +- 1730, 1750, 1755, 1760, 1761, 1771, 1778, 1782, 1787, 1788,
> +- 1798, 1801, 1804, 1818, 1836, 1841, 1846, 1847, 1857, 1864,
> +- 1868, 1873, 1874, 1884, 1887, 1890, 1904, 1915, 1925, 1925,
> +- 1938, 1943, 1944, 1961, 1973, 1991, 2003, 2015, 2027, 2039,
> +- 2051, 2063, 2082, 2086, 2091, 2092, 2102, 2105, 2108, 2111,
> +- 2125, 2126, 2142, 2145, 2148, 2157, 2163, 2168, 2169, 2180,
> +- 2186, 2194, 2202, 2208, 2213, 2218, 2219, 2229, 2236, 2239,
> +- 2244, 2247, 2252, 2255, 2260, 2266, 2272, 2278, 2283, 2288,
> +- 2293, 2298, 2303, 2308, 2313, 2318, 2323, 2328, 2333, 2338,
> +- 2344, 2349, 2355, 2361, 2367, 2373, 2379, 2384, 2390, 2396,
> +- 2401, 2407, 2413, 2419, 2424, 2425, 2435, 2442, 2526, 2530,
> +- 2536, 2541, 2542, 2553, 2559, 2567, 2570, 2573, 2582, 2588,
> +- 2593, 2594, 2605, 2611, 2622, 2627, 2630, 2631, 2641, 2641,
> +- 2665, 2668, 2671, 2676, 2679, 2684, 2687, 2692, 2693, 2696,
> +- 2697, 2700, 2701, 2702, 2746, 2747, 2750, 2751, 2754, 2757,
> +- 2762, 2763, 2781, 2784, 2787, 2790, 2793, 2796, 2801, 2804,
> +- 2807, 2810, 2813, 2816, 2819, 2824, 2839, 2842, 2847, 2853,
> +- 2856, 2857, 2865, 2870, 2873, 2878, 2887, 2897, 2900, 2904,
> +- 2908, 2912, 2916, 2920, 2926, 2931, 2937, 2955, 2977, 3016,
> +- 3022, 3016, 3066, 3066, 3092, 3097, 3103, 3097, 3143, 3144,
> +- 3147, 3148, 3151, 3203, 3206, 3209, 3212, 3217, 3220, 3225,
> +- 3226, 3227, 3230, 3231, 3232, 3233, 3234, 3235, 3236, 3237,
> +- 3238, 3239, 3240, 3251, 3255, 3259, 3270, 3281, 3292, 3303,
> +- 3314, 3325, 3336, 3347, 3358, 3369, 3380, 3391, 3392, 3393,
> +- 3394, 3405, 3416, 3427, 3434, 3441, 3448, 3457, 3470, 3475,
> +- 3476, 3488, 3495, 3502, 3511, 3515, 3520, 3521, 3531, 3534,
> +- 3537, 3551, 3552, 3555, 3558, 3564, 3564, 3565, 3568, 3634,
> +- 3634, 3635, 3638, 3684, 3687, 3687, 3698, 3701, 3701, 3713,
> +- 3731, 3751, 3795, 3876, 3877, 3878, 3879, 3880, 3881, 3882,
> +- 3883, 3884, 3885, 3886, 3887, 3888, 3889, 3890, 3891, 3892,
> +- 3893, 3894, 3895, 3896, 3897, 3898, 3899, 3900, 3901, 3902,
> +- 3903, 3904, 3907, 3910, 3915, 3918, 3923, 3926, 3934, 3937,
> +- 3943, 3947, 3959, 3963, 3969, 3973, 3996, 4000, 4006, 4009,
> +- 4014, 4017, 4022, 4025, 4030, 4033, 4038, 4090, 4095, 4101,
> +- 4124, 4136, 4148, 4160, 4179, 4190, 4207, 4224, 4233, 4240,
> +- 4240, 4241, 4241, 4242, 4246, 4246, 4247, 4251, 4252, 4256,
> +- 4256, 4257, 4260, 4315, 4321, 4326, 4327, 4339, 4342, 4345,
> +- 4360, 4375, 4392, 4397, 4411, 4521, 4524, 4532, 4535, 4538,
> +- 4543, 4551, 4562, 4577, 4581, 4585, 4589, 4593, 4597, 4601,
> +- 4605, 4609, 4613, 4617, 4621, 4625, 4629, 4633, 4637, 4641,
> +- 4645, 4649, 4653, 4657, 4661, 4665, 4669, 4673, 4677, 4681,
> +- 4685, 4691, 4697, 4713, 4716, 4724, 4730, 4737
> ++ 0, 575, 575, 576, 579, 579, 598, 599, 600, 601,
> ++ 602, 603, 604, 605, 606, 607, 608, 609, 610, 611,
> ++ 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
> ++ 622, 623, 624, 625, 626, 627, 628, 629, 630, 631,
> ++ 632, 633, 634, 635, 638, 639, 640, 641, 642, 643,
> ++ 644, 645, 646, 647, 648, 649, 662, 668, 673, 678,
> ++ 679, 689, 696, 702, 707, 712, 713, 723, 730, 739,
> ++ 744, 749, 750, 760, 767, 778, 783, 788, 789, 799,
> ++ 806, 835, 840, 845, 846, 856, 863, 889, 897, 902,
> ++ 903, 914, 920, 928, 975, 979, 1086, 1091, 1092, 1103,
> ++ 1106, 1109, 1123, 1139, 1144, 1144, 1167, 1167, 1234, 1248,
> ++ 1249, 1252, 1253, 1254, 1258, 1262, 1271, 1280, 1289, 1290,
> ++ 1293, 1308, 1308, 1345, 1346, 1349, 1350, 1353, 1353, 1382,
> ++ 1383, 1386, 1392, 1398, 1403, 1408, 1409, 1419, 1426, 1426,
> ++ 1452, 1453, 1456, 1462, 1462, 1481, 1484, 1487, 1490, 1495,
> ++ 1496, 1501, 1509, 1546, 1554, 1560, 1565, 1566, 1579, 1587,
> ++ 1595, 1603, 1613, 1624, 1629, 1634, 1635, 1645, 1652, 1663,
> ++ 1668, 1673, 1674, 1684, 1691, 1703, 1708, 1713, 1714, 1724,
> ++ 1731, 1751, 1756, 1761, 1762, 1772, 1779, 1783, 1788, 1789,
> ++ 1799, 1802, 1805, 1819, 1837, 1842, 1847, 1848, 1858, 1865,
> ++ 1869, 1874, 1875, 1885, 1888, 1891, 1905, 1917, 1927, 1927,
> ++ 1941, 1946, 1947, 1965, 1978, 1997, 2010, 2023, 2036, 2049,
> ++ 2062, 2075, 2088, 2108, 2112, 2117, 2118, 2128, 2131, 2134,
> ++ 2137, 2151, 2152, 2168, 2171, 2174, 2183, 2189, 2194, 2195,
> ++ 2206, 2212, 2220, 2228, 2234, 2239, 2244, 2245, 2255, 2262,
> ++ 2265, 2270, 2273, 2278, 2281, 2286, 2292, 2298, 2304, 2309,
> ++ 2314, 2319, 2324, 2329, 2334, 2339, 2344, 2349, 2354, 2359,
> ++ 2364, 2370, 2375, 2381, 2387, 2393, 2399, 2405, 2410, 2416,
> ++ 2422, 2427, 2433, 2439, 2445, 2450, 2451, 2461, 2468, 2552,
> ++ 2556, 2562, 2567, 2568, 2579, 2585, 2593, 2596, 2599, 2608,
> ++ 2614, 2619, 2620, 2631, 2637, 2648, 2653, 2656, 2657, 2667,
> ++ 2667, 2691, 2694, 2697, 2702, 2705, 2710, 2713, 2718, 2719,
> ++ 2722, 2723, 2726, 2727, 2728, 2772, 2773, 2776, 2777, 2780,
> ++ 2783, 2788, 2789, 2807, 2810, 2813, 2816, 2819, 2822, 2827,
> ++ 2830, 2833, 2836, 2839, 2842, 2845, 2850, 2865, 2868, 2873,
> ++ 2879, 2882, 2883, 2891, 2896, 2899, 2904, 2913, 2923, 2926,
> ++ 2930, 2934, 2938, 2942, 2946, 2952, 2957, 2963, 2981, 3003,
> ++ 3042, 3048, 3042, 3092, 3092, 3118, 3123, 3129, 3123, 3169,
> ++ 3170, 3173, 3174, 3177, 3229, 3232, 3235, 3238, 3243, 3246,
> ++ 3251, 3252, 3253, 3256, 3257, 3258, 3259, 3260, 3261, 3262,
> ++ 3263, 3264, 3265, 3266, 3277, 3281, 3285, 3296, 3307, 3318,
> ++ 3329, 3340, 3351, 3362, 3373, 3384, 3395, 3406, 3417, 3418,
> ++ 3419, 3420, 3431, 3442, 3453, 3460, 3467, 3474, 3483, 3496,
> ++ 3501, 3502, 3514, 3521, 3528, 3537, 3541, 3546, 3547, 3557,
> ++ 3560, 3563, 3577, 3578, 3581, 3584, 3590, 3590, 3591, 3594,
> ++ 3660, 3660, 3661, 3664, 3710, 3713, 3713, 3724, 3727, 3727,
> ++ 3739, 3757, 3777, 3821, 3902, 3903, 3904, 3905, 3906, 3907,
> ++ 3908, 3909, 3910, 3911, 3912, 3913, 3914, 3915, 3916, 3917,
> ++ 3918, 3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926, 3927,
> ++ 3928, 3929, 3930, 3933, 3936, 3941, 3944, 3949, 3952, 3960,
> ++ 3963, 3969, 3973, 3985, 3989, 3995, 3999, 4022, 4026, 4032,
> ++ 4035, 4040, 4043, 4048, 4051, 4056, 4059, 4064, 4116, 4121,
> ++ 4127, 4150, 4162, 4174, 4186, 4205, 4216, 4233, 4250, 4259,
> ++ 4266, 4266, 4267, 4267, 4268, 4272, 4272, 4273, 4277, 4278,
> ++ 4282, 4282, 4283, 4286, 4341, 4347, 4352, 4353, 4365, 4368,
> ++ 4371, 4386, 4401, 4418, 4423, 4437, 4547, 4550, 4558, 4561,
> ++ 4564, 4569, 4577, 4588, 4603, 4607, 4611, 4615, 4619, 4623,
> ++ 4627, 4631, 4635, 4639, 4643, 4647, 4651, 4655, 4659, 4663,
> ++ 4667, 4671, 4675, 4679, 4683, 4687, 4691, 4695, 4699, 4703,
> ++ 4707, 4711, 4717, 4723, 4739, 4742, 4750, 4756, 4763
> + };
> + #endif
> +
> +-#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
> ++/** Accessing symbol of state STATE. */
> ++#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
> ++
> ++#if YYDEBUG || 0
> ++/* The user-facing name of the symbol whose (internal) number is
> ++ YYSYMBOL. No bounds checking. */
> ++static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
> ++
> + /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
> + First, the terminals, then, starting at YYNTOKENS, nonterminals. */
> + static const char *const yytname[] =
> + {
> +- "$end", "error", "$undefined", "TK_API", "TK_AUTOPYNAME",
> +- "TK_DEFDOCSTRFMT", "TK_DEFDOCSTRSIG", "TK_DEFENCODING", "TK_PLUGIN",
> +- "TK_VIRTERRORHANDLER", "TK_EXPTYPEHINTCODE", "TK_TYPEHINTCODE",
> +- "TK_DOCSTRING", "TK_DOC", "TK_EXPORTEDDOC", "TK_EXTRACT", "TK_MAKEFILE",
> +- "TK_ACCESSCODE", "TK_GETCODE", "TK_SETCODE", "TK_PREINITCODE",
> +- "TK_INITCODE", "TK_POSTINITCODE", "TK_FINALCODE", "TK_UNITCODE",
> +- "TK_UNITPOSTINCLUDECODE", "TK_MODCODE", "TK_TYPECODE", "TK_PREPYCODE",
> +- "TK_COPYING", "TK_MAPPEDTYPE", "TK_CODELINE", "TK_IF", "TK_END",
> +- "TK_NAME_VALUE", "TK_PATH_VALUE", "TK_STRING_VALUE",
> ++ "\"end of file\"", "error", "\"invalid token\"", "TK_API",
> ++ "TK_AUTOPYNAME", "TK_DEFDOCSTRFMT", "TK_DEFDOCSTRSIG", "TK_DEFENCODING",
> ++ "TK_PLUGIN", "TK_VIRTERRORHANDLER", "TK_EXPTYPEHINTCODE",
> ++ "TK_TYPEHINTCODE", "TK_DOCSTRING", "TK_DOC", "TK_EXPORTEDDOC",
> ++ "TK_EXTRACT", "TK_MAKEFILE", "TK_ACCESSCODE", "TK_GETCODE", "TK_SETCODE",
> ++ "TK_PREINITCODE", "TK_INITCODE", "TK_POSTINITCODE", "TK_FINALCODE",
> ++ "TK_UNITCODE", "TK_UNITPOSTINCLUDECODE", "TK_MODCODE", "TK_TYPECODE",
> ++ "TK_PREPYCODE", "TK_COPYING", "TK_MAPPEDTYPE", "TK_CODELINE", "TK_IF",
> ++ "TK_END", "TK_NAME_VALUE", "TK_PATH_VALUE", "TK_STRING_VALUE",
> + "TK_VIRTUALCATCHERCODE", "TK_TRAVERSECODE", "TK_CLEARCODE",
> + "TK_GETBUFFERCODE", "TK_RELEASEBUFFERCODE", "TK_READBUFFERCODE",
> + "TK_WRITEBUFFERCODE", "TK_SEGCOUNTCODE", "TK_CHARBUFFERCODE",
> +@@ -1264,13 +1217,13 @@ static const char *const yytname[] =
> + "TK_DEFSUPERTYPE", "TK_PROPERTY", "TK_HIDE_NS", "TK_FORMAT", "TK_GET",
> + "TK_ID", "TK_KWARGS", "TK_LANGUAGE", "TK_LICENSEE", "TK_NAME",
> + "TK_OPTIONAL", "TK_ORDER", "TK_REMOVELEADING", "TK_SET", "TK_SIGNATURE",
> +- "TK_TIMESTAMP", "TK_TYPE", "TK_USEARGNAMES", "TK_USELIMITEDAPI",
> +- "TK_ALLRAISEPYEXC", "TK_CALLSUPERINIT", "TK_DEFERRORHANDLER",
> +- "TK_VERSION", "'('", "')'", "','", "'='", "'{'", "'}'", "';'", "'!'",
> +- "'-'", "'+'", "'*'", "'/'", "'&'", "'|'", "'~'", "'<'", "'>'", "':'",
> +- "'['", "']'", "'%'", "'^'", "$accept", "specification", "statement",
> +- "@1", "modstatement", "nsstatement", "defdocstringfmt",
> +- "defdocstringfmt_args", "defdocstringfmt_arg_list",
> ++ "TK_TIMESTAMP", "TK_TYPE", "TK_USEARGNAMES", "TK_PYSSIZETCLEAN",
> ++ "TK_USELIMITEDAPI", "TK_ALLRAISEPYEXC", "TK_CALLSUPERINIT",
> ++ "TK_DEFERRORHANDLER", "TK_VERSION", "'('", "')'", "','", "'='", "'{'",
> ++ "'}'", "';'", "'!'", "'-'", "'+'", "'*'", "'/'", "'&'", "'|'", "'~'",
> ++ "'<'", "'>'", "':'", "'['", "']'", "'%'", "'^'", "$accept",
> ++ "specification", "statement", "$@1", "modstatement", "nsstatement",
> ++ "defdocstringfmt", "defdocstringfmt_args", "defdocstringfmt_arg_list",
> + "defdocstringfmt_arg", "defdocstringsig", "defdocstringsig_args",
> + "defdocstringsig_arg_list", "defdocstringsig_arg", "defencoding",
> + "defencoding_args", "defencoding_arg_list", "defencoding_arg", "plugin",
> +@@ -1278,13 +1231,13 @@ static const char *const yytname[] =
> + "veh_args", "veh_arg_list", "veh_arg", "api", "api_args", "api_arg_list",
> + "api_arg", "exception", "baseexception", "exception_body",
> + "exception_body_directives", "exception_body_directive", "raisecode",
> +- "mappedtype", "@2", "mappedtypetmpl", "@3", "mtdefinition", "mtbody",
> +- "mtline", "mtfunction", "namespace", "@4", "optnsbody", "nsbody",
> +- "platforms", "@5", "platformlist", "platform", "feature", "feature_args",
> +- "feature_arg_list", "feature_arg", "timeline", "@6", "qualifierlist",
> +- "qualifiername", "ifstart", "@7", "oredqualifiers", "qualifiers",
> +- "ifend", "license", "license_args", "license_arg_list", "license_arg",
> +- "defmetatype", "defmetatype_args", "defmetatype_arg_list",
> ++ "mappedtype", "$@2", "mappedtypetmpl", "$@3", "mtdefinition", "mtbody",
> ++ "mtline", "mtfunction", "namespace", "$@4", "optnsbody", "nsbody",
> ++ "platforms", "$@5", "platformlist", "platform", "feature",
> ++ "feature_args", "feature_arg_list", "feature_arg", "timeline", "$@6",
> ++ "qualifierlist", "qualifiername", "ifstart", "$@7", "oredqualifiers",
> ++ "qualifiers", "ifend", "license", "license_args", "license_arg_list",
> ++ "license_arg", "defmetatype", "defmetatype_args", "defmetatype_arg_list",
> + "defmetatype_arg", "defsupertype", "defsupertype_args",
> + "defsupertype_arg_list", "defsupertype_arg", "hiddenns", "hiddenns_args",
> + "hiddenns_arg_list", "hiddenns_arg", "consmodule", "consmodule_args",
> +@@ -1292,7 +1245,7 @@ static const char *const yytname[] =
> + "consmodule_body_directives", "consmodule_body_directive", "compmodule",
> + "compmodule_args", "compmodule_arg_list", "compmodule_arg",
> + "compmodule_body", "compmodule_body_directives",
> +- "compmodule_body_directive", "module", "module_args", "@8",
> ++ "compmodule_body_directive", "module", "module_args", "$@8",
> + "module_arg_list", "module_arg", "module_body", "module_body_directives",
> + "module_body_directive", "dottedname", "optnumber", "include",
> + "include_args", "include_arg_list", "include_arg", "optinclude",
> +@@ -1307,1011 +1260,950 @@ static const char *const yytname[] =
> + "autopyname_args", "autopyname_arg_list", "autopyname_arg", "docstring",
> + "docstring_args", "docstring_arg_list", "docstring_arg", "optdocstring",
> + "extract", "extract_args", "extract_arg_list", "extract_arg", "makefile",
> +- "codeblock", "codelines", "enum", "@9", "optenumkey", "optfilename",
> ++ "codeblock", "codelines", "enum", "$@9", "optenumkey", "optfilename",
> + "optname", "optenumbody", "enumbody", "enumline", "optcomma",
> + "optenumassign", "optassign", "expr", "binop", "optunop", "value",
> + "optcast", "scopedname", "scopednamehead", "scopepart", "bool_value",
> +- "simplevalue", "exprlist", "typedef", "struct", "@10", "@11",
> +- "classtmpl", "@12", "template", "class", "@13", "@14", "superclasses",
> ++ "simplevalue", "exprlist", "typedef", "struct", "$@10", "$@11",
> ++ "classtmpl", "$@12", "template", "class", "$@13", "$@14", "superclasses",
> + "superlist", "superclass", "class_access", "optclassbody", "classbody",
> + "classline", "property", "property_args", "property_arg_list",
> + "property_arg", "property_body", "property_body_directives",
> +- "property_body_directive", "name_or_string", "optslot", "dtor", "@15",
> +- "dtor_decl", "ctor", "@16", "simplector", "optctorsig", "@17", "optsig",
> +- "@18", "function", "operatorname", "optconst", "optfinal", "optabstract",
> +- "optflags", "flaglist", "flag", "flagvalue", "virtualcallcode",
> +- "methodcode", "premethodcode", "virtualcatchercode", "arglist",
> +- "rawarglist", "argvalue", "varmember", "@19", "@20", "simple_varmem",
> +- "@21", "varmem", "member", "@22", "variable", "variable_body",
> +- "variable_body_directives", "variable_body_directive", "cpptype",
> +- "argtype", "optref", "deref", "basetype", "cpptypelist", "optexceptions",
> +- "exceptionlist", 0
> ++ "property_body_directive", "name_or_string", "optslot", "dtor", "$@15",
> ++ "dtor_decl", "ctor", "$@16", "simplector", "optctorsig", "$@17",
> ++ "optsig", "$@18", "function", "operatorname", "optconst", "optfinal",
> ++ "optabstract", "optflags", "flaglist", "flag", "flagvalue",
> ++ "virtualcallcode", "methodcode", "premethodcode", "virtualcatchercode",
> ++ "arglist", "rawarglist", "argvalue", "varmember", "$@19", "$@20",
> ++ "simple_varmem", "$@21", "varmem", "member", "$@22", "variable",
> ++ "variable_body", "variable_body_directives", "variable_body_directive",
> ++ "cpptype", "argtype", "optref", "deref", "basetype", "cpptypelist",
> ++ "optexceptions", "exceptionlist", YY_NULLPTR
> + };
> ++
> ++static const char *
> ++yysymbol_name (yysymbol_kind_t yysymbol)
> ++{
> ++ return yytname[yysymbol];
> ++}
> + #endif
> +
> +-# ifdef YYPRINT
> +-/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
> +- token YYLEX-NUM. */
> +-static const yytype_uint16 yytoknum[] =
> +-{
> +- 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
> +- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
> +- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
> +- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
> +- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
> +- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
> +- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
> +- 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
> +- 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
> +- 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
> +- 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
> +- 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
> +- 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
> +- 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
> +- 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
> +- 405, 406, 40, 41, 44, 61, 123, 125, 59, 33,
> +- 45, 43, 42, 47, 38, 124, 126, 60, 62, 58,
> +- 91, 93, 37, 94
> +-};
> +-# endif
> ++#define YYPACT_NINF (-840)
> +
> +-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
> +-static const yytype_uint16 yyr1[] =
> +-{
> +- 0, 174, 175, 175, 177, 176, 178, 178, 178, 178,
> +- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
> +- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
> +- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
> +- 178, 178, 178, 178, 179, 179, 179, 179, 179, 179,
> +- 179, 179, 179, 179, 179, 179, 180, 181, 181, 182,
> +- 182, 183, 184, 185, 185, 186, 186, 187, 188, 189,
> +- 189, 190, 190, 191, 192, 193, 193, 194, 194, 195,
> +- 196, 197, 197, 198, 198, 199, 200, 201, 201, 202,
> +- 202, 203, 203, 204, 205, 205, 206, 207, 207, 208,
> +- 208, 208, 208, 209, 211, 210, 213, 212, 214, 215,
> +- 215, 216, 216, 216, 216, 216, 216, 216, 216, 216,
> +- 217, 219, 218, 220, 220, 221, 221, 223, 222, 224,
> +- 224, 225, 226, 227, 227, 228, 228, 229, 231, 230,
> +- 232, 232, 233, 235, 234, 236, 236, 236, 236, 237,
> +- 237, 238, 239, 240, 240, 240, 241, 241, 242, 242,
> +- 242, 242, 243, 244, 244, 245, 245, 246, 247, 248,
> +- 248, 249, 249, 250, 251, 252, 252, 253, 253, 254,
> +- 255, 256, 256, 257, 257, 258, 259, 259, 260, 260,
> +- 261, 261, 261, 262, 263, 263, 264, 264, 265, 266,
> +- 266, 267, 267, 268, 268, 268, 269, 269, 271, 270,
> +- 270, 272, 272, 273, 273, 273, 273, 273, 273, 273,
> +- 273, 273, 274, 274, 275, 275, 276, 276, 276, 276,
> +- 277, 277, 278, 278, 279, 280, 280, 281, 281, 282,
> +- 282, 283, 284, 285, 285, 286, 286, 287, 288, 288,
> +- 289, 289, 290, 290, 291, 292, 293, 294, 295, 296,
> +- 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
> +- 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
> +- 317, 318, 319, 320, 321, 321, 322, 323, 324, 324,
> +- 324, 325, 325, 326, 326, 327, 327, 328, 329, 329,
> +- 330, 330, 331, 331, 332, 333, 334, 334, 336, 335,
> +- 337, 337, 337, 338, 338, 339, 339, 340, 340, 341,
> +- 341, 342, 342, 342, 343, 343, 344, 344, 345, 345,
> +- 346, 346, 347, 347, 347, 347, 347, 347, 348, 348,
> +- 348, 348, 348, 348, 348, 349, 350, 350, 351, 351,
> +- 352, 352, 353, 354, 354, 355, 355, 355, 355, 355,
> +- 355, 355, 355, 355, 356, 356, 356, 357, 357, 359,
> +- 360, 358, 362, 361, 363, 365, 366, 364, 367, 367,
> +- 368, 368, 369, 370, 370, 370, 370, 371, 371, 372,
> +- 372, 372, 373, 373, 373, 373, 373, 373, 373, 373,
> +- 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
> +- 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
> +- 373, 373, 373, 373, 373, 373, 373, 374, 375, 376,
> +- 376, 377, 377, 377, 378, 378, 379, 379, 380, 380,
> +- 380, 381, 381, 382, 382, 384, 383, 383, 385, 387,
> +- 386, 386, 388, 389, 390, 389, 391, 392, 391, 393,
> +- 393, 393, 393, 394, 394, 394, 394, 394, 394, 394,
> +- 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
> +- 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
> +- 394, 394, 395, 395, 396, 396, 397, 397, 398, 398,
> +- 399, 399, 400, 400, 401, 401, 401, 401, 402, 402,
> +- 403, 403, 404, 404, 405, 405, 406, 407, 407, 407,
> +- 408, 408, 408, 408, 408, 408, 408, 408, 408, 410,
> +- 409, 411, 409, 409, 413, 412, 412, 414, 414, 416,
> +- 415, 415, 417, 418, 418, 419, 419, 420, 420, 420,
> +- 420, 420, 421, 421, 422, 423, 423, 424, 424, 424,
> +- 425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
> +- 425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
> +- 425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
> +- 425, 426, 426, 427, 427, 428, 428, 428
> +-};
> ++#define yypact_value_is_default(Yyn) \
> ++ ((Yyn) == YYPACT_NINF)
> +
> +-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
> +-static const yytype_uint8 yyr2[] =
> ++#define YYTABLE_NINF (-564)
> ++
> ++#define yytable_value_is_error(Yyn) \
> ++ 0
> ++
> ++/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
> ++ STATE-NUM. */
> ++static const yytype_int16 yypact[] =
> + {
> +- 0, 2, 1, 2, 0, 2, 1, 1, 1, 1,
> +- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
> +- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
> +- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
> +- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
> +- 1, 1, 1, 1, 1, 1, 2, 1, 3, 1,
> +- 3, 3, 2, 1, 3, 1, 3, 3, 2, 1,
> +- 3, 1, 3, 3, 2, 1, 3, 1, 3, 3,
> +- 3, 1, 3, 1, 3, 3, 2, 2, 3, 1,
> +- 3, 3, 3, 5, 0, 3, 4, 1, 2, 1,
> +- 1, 1, 1, 2, 0, 5, 0, 6, 4, 1,
> +- 2, 1, 1, 1, 1, 2, 2, 1, 1, 1,
> +- 14, 0, 5, 0, 3, 1, 2, 0, 5, 1,
> +- 2, 1, 2, 1, 3, 1, 3, 3, 0, 5,
> +- 1, 2, 1, 0, 5, 1, 2, 3, 4, 1,
> +- 3, 1, 3, 0, 1, 3, 1, 3, 3, 3,
> +- 3, 3, 2, 1, 3, 1, 3, 3, 2, 1,
> +- 3, 1, 3, 3, 2, 1, 3, 1, 3, 3,
> +- 3, 1, 3, 1, 3, 3, 0, 4, 1, 2,
> +- 1, 1, 1, 3, 1, 3, 1, 3, 3, 0,
> +- 4, 1, 2, 1, 1, 1, 3, 3, 0, 3,
> +- 3, 1, 3, 3, 3, 3, 3, 3, 3, 3,
> +- 3, 3, 0, 4, 1, 2, 1, 1, 1, 1,
> +- 1, 1, 0, 1, 2, 1, 3, 1, 3, 3,
> +- 3, 2, 2, 1, 3, 1, 3, 3, 0, 2,
> +- 0, 2, 0, 2, 2, 2, 2, 2, 2, 2,
> +- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> +- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> +- 2, 2, 2, 3, 1, 3, 3, 3, 0, 1,
> +- 3, 1, 3, 3, 3, 0, 1, 3, 1, 3,
> +- 1, 3, 3, 3, 4, 2, 1, 2, 0, 9,
> +- 0, 1, 1, 0, 1, 0, 1, 0, 1, 1,
> +- 2, 1, 1, 4, 0, 1, 0, 2, 0, 2,
> +- 1, 3, 1, 1, 1, 1, 1, 1, 0, 1,
> +- 1, 1, 1, 1, 1, 3, 0, 3, 2, 1,
> +- 1, 3, 1, 1, 1, 1, 4, 2, 1, 1,
> +- 1, 1, 1, 1, 0, 1, 3, 6, 12, 0,
> +- 0, 8, 0, 3, 4, 0, 0, 8, 0, 2,
> +- 1, 3, 2, 0, 1, 1, 1, 0, 3, 0,
> +- 1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
> +- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
> +- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
> +- 2, 2, 2, 3, 3, 3, 2, 3, 3, 1,
> +- 3, 3, 3, 3, 0, 4, 1, 2, 1, 1,
> +- 1, 1, 1, 0, 1, 0, 3, 1, 11, 0,
> +- 3, 1, 11, 0, 0, 6, 0, 0, 7, 17,
> +- 7, 17, 16, 1, 1, 1, 1, 1, 1, 1,
> +- 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> +- 2, 3, 3, 1, 2, 2, 1, 2, 2, 2,
> +- 1, 2, 0, 1, 0, 1, 0, 2, 0, 3,
> +- 1, 3, 1, 3, 1, 5, 1, 1, 0, 2,
> +- 0, 2, 0, 2, 0, 2, 1, 0, 1, 3,
> +- 4, 4, 4, 3, 3, 6, 6, 3, 2, 0,
> +- 3, 0, 3, 1, 0, 3, 1, 1, 1, 0,
> +- 3, 1, 8, 0, 3, 1, 2, 1, 1, 2,
> +- 2, 2, 4, 3, 3, 0, 1, 0, 3, 2,
> +- 1, 4, 2, 2, 1, 1, 2, 1, 1, 2,
> +- 2, 3, 1, 1, 1, 2, 2, 1, 1, 1,
> +- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
> +- 1, 1, 3, 0, 4, 0, 1, 3
> ++ -840, 125, -840, 1218, -840, -840, 42, -2, 54, 55,
> ++ 58, 74, 100, 100, 100, 100, 75, 181, 100, 100,
> ++ 100, 100, 100, 100, 100, 100, 1542, 51, -840, -840,
> ++ 23, 228, 46, 100, 100, 100, 48, 238, 62, 64,
> ++ 84, 84, -840, -840, -840, 190, -840, -840, -840, -840,
> ++ -840, -840, -840, -840, -840, -840, -840, -840, -840, 218,
> ++ 224, 277, 279, 1542, -840, -840, 1506, 309, -840, -840,
> ++ 76, 59, 1506, 84, 203, -840, 66, 68, 53, -840,
> ++ -840, -840, -840, -840, -840, -840, -840, -840, -840, -840,
> ++ -840, -840, -840, -840, -840, -840, -840, -840, -840, -840,
> ++ -840, -840, -840, -840, -840, -840, -840, -840, -840, -840,
> ++ -840, -840, -840, -840, -840, -840, -840, -840, -840, -840,
> ++ -840, -840, -840, -840, 206, 285, -840, -840, -840, -840,
> ++ 359, -840, -840, -840, 79, -840, 297, -26, -840, -840,
> ++ 254, -840, -840, 268, -840, -840, 271, -840, -840, 281,
> ++ -840, -840, 286, 100, -840, -840, 257, -840, -840, -840,
> ++ -840, 101, 100, 395, -840, -840, -840, -840, -840, -840,
> ++ -840, -840, 84, 276, -840, -840, 158, -840, -840, -840,
> ++ 298, -840, -840, -840, -840, -840, -840, 338, 287, -840,
> ++ 335, 324, 342, -840, 331, 344, -840, -840, 18, -840,
> ++ -840, -840, 418, -840, -840, -840, 447, -840, 285, -840,
> ++ 77, -840, 378, 380, -840, 400, -840, -840, 171, 276,
> ++ 388, 390, 1506, 404, -840, -840, 406, -840, -840, 407,
> ++ -840, -840, 1506, 279, 1542, 482, -49, 234, 146, -840,
> ++ 391, 392, 169, -840, 393, 210, -840, 396, 214, -840,
> ++ 399, 222, -840, 401, 295, -840, 402, 306, -840, -840,
> ++ -840, -840, 403, 405, 312, -840, -840, -840, 100, -840,
> ++ 516, -840, 4, 408, 409, 316, -840, 410, 323, -840,
> ++ 412, 413, 414, 416, 417, 419, 420, 421, 422, 423,
> ++ 326, -840, 244, -840, 335, -840, -840, 424, 337, -840,
> ++ 267, -840, 425, 339, -840, 267, -840, 381, 381, -840,
> ++ 276, -840, 146, 276, 397, 426, 528, 529, 428, 341,
> ++ -840, 429, 430, 431, 432, 343, -840, -840, 1279, 84,
> ++ 276, -840, -21, 433, 349, -840, 435, 352, -840, 436,
> ++ 354, -840, -9, -840, 276, -840, 1279, 437, 439, 105,
> ++ 440, 441, 442, 443, 444, 449, 450, -840, 34, -34,
> ++ 438, 451, 452, 456, 486, -840, -840, 314, 488, -840,
> ++ -26, 567, -840, 254, 575, -840, 268, 576, -840, 271,
> ++ 579, -840, 281, 580, -840, 286, 581, 513, -840, 101,
> ++ -840, 465, -11, -840, 466, 461, 590, 530, 472, 467,
> ++ 592, 394, -840, 158, 594, -840, 298, 595, 596, 238,
> ++ 394, 394, 394, 394, 394, 599, 523, -840, 338, 485,
> ++ 81, -840, -840, 36, -840, -840, -840, -840, 238, -840,
> ++ 324, -840, -840, 38, -840, -840, 238, -840, 331, -840,
> ++ -840, 45, -840, -840, 315, 276, 276, -840, -840, 480,
> ++ 606, 253, 483, -840, -1, -840, -840, 33, -840, 314,
> ++ -840, 400, 605, 607, 608, 609, -840, 171, 418, 418,
> ++ 418, 418, 418, 493, 494, 418, 495, 497, -840, 418,
> ++ 492, 496, 498, 1506, -840, 238, -840, 404, 238, -840,
> ++ 406, 84, -840, 407, -840, -840, 499, 288, 500, -840,
> ++ 1506, -840, -840, -840, -840, -840, -840, -840, -840, -840,
> ++ 502, -840, 504, -840, -840, -840, 1279, -840, -840, -840,
> ++ -840, -840, -840, -840, -840, -840, -840, -840, -840, -840,
> ++ -840, -840, -840, -840, -840, -840, 93, 516, -840, 334,
> ++ -840, -840, 11, -840, 418, -840, -840, -840, -840, -840,
> ++ -840, -840, -840, -840, -840, -840, -840, -840, -840, -840,
> ++ -840, -840, -840, 515, -840, -840, 128, 100, 505, -840,
> ++ -840, -840, 506, -840, -840, -840, 507, -840, -840, -840,
> ++ -840, 508, -840, 84, -840, -840, 510, 642, 517, -840,
> ++ 735, -840, -840, -840, -840, -840, -840, -840, -840, -840,
> ++ -840, -840, -840, -840, 276, 276, 276, 276, 276, 1279,
> ++ 1279, 276, 573, 1279, 276, 519, -840, -840, 232, -840,
> ++ -840, -840, -840, -840, -840, -840, -840, 466, 573, 100,
> ++ 100, 100, -840, -840, 56, -840, 656, 520, -840, -840,
> ++ 521, 509, -840, -840, -840, -840, -840, 100, 100, 100,
> ++ 100, 1506, 134, -840, -840, -840, -840, -840, -840, -840,
> ++ -840, -840, 643, -840, 522, 358, -840, 525, 526, 360,
> ++ -840, -840, -840, -840, -840, 315, -840, 527, 527, 389,
> ++ -840, -840, 533, -840, -840, 492, 492, 492, -840, -840,
> ++ 535, 536, -840, -840, 561, -840, -840, 84, 293, -840,
> ++ 272, 100, 47, -840, -840, -840, -840, -840, -840, 561,
> ++ -840, -840, -840, -840, -840, 100, 673, 534, 573, 335,
> ++ -840, -840, -840, -840, 658, 537, -840, -840, 659, -840,
> ++ 515, 661, 662, -840, 128, -840, 1092, 540, 541, 538,
> ++ -840, -840, 545, 389, -840, 1506, -840, -840, -840, 418,
> ++ 418, -840, 584, 552, -840, -840, -840, -840, -840, -840,
> ++ 519, -840, -840, -840, -840, -840, -840, 843, -840, 548,
> ++ -840, 584, -840, 100, 690, -840, 561, 549, 558, -840,
> ++ -840, -840, -840, -840, -840, 100, 100, 559, 100, 100,
> ++ 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
> ++ 644, 644, 644, 543, -840, -840, 547, -840, -840, 563,
> ++ 683, -840, -840, -840, -840, -840, -840, -840, -840, -840,
> ++ -840, -840, -840, -840, -840, -840, -840, -840, -840, -840,
> ++ -840, -840, -840, -840, -840, 983, -840, -840, -840, -840,
> ++ -840, -840, -840, -840, -840, -840, -840, -840, -840, -840,
> ++ 519, 276, 562, -840, 362, 276, 276, 565, 564, -840,
> ++ -840, -840, -840, -840, -840, -840, 568, -30, -840, -840,
> ++ 569, -840, 564, -840, 100, -840, 584, 335, 1279, -840,
> ++ -840, 1279, -840, -840, -840, -840, -840, -840, -840, -840,
> ++ -840, -840, -840, -840, -840, 553, 555, 560, -840, 1336,
> ++ 1336, 566, 1450, 1393, 694, 156, 572, 578, -840, -840,
> ++ -840, 577, -840, 276, -840, -840, 84, 627, 276, -840,
> ++ 274, 276, -840, 564, -840, 583, 585, -840, -840, -840,
> ++ -840, -840, -840, -840, -840, 90, -840, 559, -840, 582,
> ++ 586, 587, 364, -840, 267, -840, 593, -840, -840, 589,
> ++ -840, 367, -840, 570, 293, 373, 570, 276, 573, 584,
> ++ 591, 701, 314, 712, -840, 156, -840, -840, -840, 52,
> ++ -840, 584, 642, -840, 84, -840, 597, -840, 519, 600,
> ++ 570, 584, 276, -840, -840, -840, -840, 602, -840, 564,
> ++ -840, -840, 1506, 700, 293, 642, 603, 276, 616, -840,
> ++ 276, 598, 100, 702, 700, 700, 570, -840, 611, 612,
> ++ 1279, -840, 100, 715, 702, 702, 615, 601, 642, 700,
> ++ 604, -840, 100, 706, 715, 715, 642, 1279, 700, 702,
> ++ 617, -840, 100, -840, 706, 706, 700, 610, 702, 715,
> ++ -840, -840, -840, -840, 702, 618, -840, -840, -840, -840
> + };
> +
> +-/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
> +- STATE-NUM when YYTABLE doesn't specify something else to do. Zero
> ++/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
> ++ Performed when YYTABLE does not specify something else to do. Zero
> + means the default is an error. */
> +-static const yytype_uint16 yydefact[] =
> ++static const yytype_int16 yydefact[] =
> + {
> + 4, 4, 2, 0, 1, 3, 0, 0, 0, 0,
> + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 151, 352,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 151, 353,
> + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 574, 564, 567, 568, 572, 573, 577, 578,
> +- 579, 580, 581, 582, 583, 584, 585, 586, 587, 310,
> +- 0, 565, 0, 0, 588, 589, 0, 0, 138, 127,
> +- 0, 153, 0, 0, 0, 590, 0, 0, 0, 5,
> ++ 0, 0, 575, 565, 568, 569, 573, 574, 578, 579,
> ++ 580, 581, 582, 583, 584, 585, 586, 587, 588, 311,
> ++ 0, 566, 0, 0, 589, 590, 0, 0, 138, 127,
> ++ 0, 153, 0, 0, 0, 591, 0, 0, 0, 5,
> + 43, 19, 20, 21, 9, 42, 14, 50, 40, 41,
> + 46, 16, 17, 15, 44, 45, 18, 22, 23, 24,
> + 7, 8, 6, 11, 12, 13, 10, 25, 26, 55,
> + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
> +- 37, 38, 39, 52, 560, 349, 350, 51, 47, 49,
> +- 372, 48, 53, 54, 0, 557, 0, 0, 86, 57,
> ++ 37, 38, 39, 52, 561, 350, 351, 51, 47, 49,
> ++ 373, 48, 53, 54, 0, 558, 0, 0, 86, 57,
> + 0, 56, 63, 0, 62, 69, 0, 68, 75, 0,
> +- 74, 81, 0, 0, 306, 277, 0, 278, 280, 281,
> +- 298, 0, 0, 313, 271, 272, 273, 274, 275, 269,
> +- 276, 254, 0, 498, 143, 235, 0, 234, 241, 243,
> +- 0, 242, 255, 256, 257, 230, 231, 0, 222, 208,
> +- 232, 0, 186, 181, 0, 199, 194, 375, 369, 570,
> +- 311, 312, 315, 575, 563, 566, 569, 576, 348, 557,
> +- 0, 121, 0, 0, 133, 0, 132, 154, 0, 498,
> ++ 74, 81, 0, 0, 307, 278, 0, 279, 281, 282,
> ++ 299, 0, 0, 314, 272, 273, 274, 275, 276, 270,
> ++ 277, 255, 0, 499, 143, 236, 0, 235, 242, 244,
> ++ 0, 243, 256, 257, 258, 231, 232, 0, 223, 208,
> ++ 233, 0, 186, 181, 0, 199, 194, 376, 370, 571,
> ++ 312, 313, 316, 576, 564, 567, 570, 577, 349, 558,
> ++ 0, 121, 0, 0, 133, 0, 132, 154, 0, 499,
> + 0, 94, 0, 0, 162, 163, 0, 168, 169, 0,
> +- 174, 175, 0, 0, 0, 0, 498, 0, 555, 87,
> ++ 174, 175, 0, 0, 0, 0, 499, 0, 556, 87,
> + 0, 0, 0, 89, 0, 0, 59, 0, 0, 65,
> + 0, 0, 71, 0, 0, 77, 0, 0, 83, 80,
> +- 307, 305, 0, 0, 0, 300, 297, 314, 0, 562,
> +- 0, 104, 315, 0, 0, 0, 237, 0, 0, 245,
> ++ 308, 306, 0, 0, 0, 301, 298, 315, 0, 563,
> ++ 0, 104, 316, 0, 0, 0, 238, 0, 0, 246,
> + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 211, 0, 206, 232, 233, 207, 0, 0, 183, 0,
> +- 180, 0, 0, 196, 0, 193, 378, 378, 316, 498,
> +- 571, 555, 498, 0, 123, 0, 0, 0, 0, 135,
> +- 0, 0, 0, 0, 0, 156, 152, 517, 0, 498,
> +- 591, 0, 0, 0, 165, 0, 0, 171, 0, 0,
> +- 177, 0, 351, 498, 373, 517, 543, 0, 0, 0,
> +- 464, 463, 465, 466, 468, 469, 483, 486, 490, 0,
> +- 467, 470, 0, 559, 556, 553, 0, 0, 88, 0,
> +- 0, 58, 0, 0, 64, 0, 0, 70, 0, 0,
> +- 76, 0, 0, 82, 0, 0, 0, 299, 0, 304,
> +- 502, 0, 500, 0, 145, 0, 149, 0, 0, 0,
> +- 0, 236, 0, 0, 244, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 210, 0, 0, 288, 226,
> +- 227, 0, 224, 228, 229, 209, 0, 182, 0, 190,
> +- 191, 0, 188, 192, 0, 195, 0, 203, 204, 0,
> +- 201, 205, 383, 498, 498, 308, 552, 0, 0, 0,
> +- 0, 142, 0, 140, 131, 0, 129, 0, 134, 0,
> +- 0, 0, 0, 0, 155, 0, 315, 315, 315, 315,
> +- 315, 0, 0, 315, 0, 516, 518, 315, 328, 0,
> +- 0, 0, 374, 0, 164, 0, 0, 170, 0, 0,
> +- 176, 0, 561, 106, 0, 0, 0, 484, 0, 488,
> +- 489, 474, 473, 475, 476, 478, 479, 487, 471, 491,
> +- 472, 485, 477, 480, 517, 558, 441, 442, 91, 92,
> +- 90, 61, 60, 67, 66, 73, 72, 79, 78, 85,
> +- 84, 302, 303, 301, 0, 0, 499, 0, 105, 146,
> +- 0, 144, 315, 239, 353, 354, 240, 238, 247, 246,
> +- 213, 214, 215, 216, 217, 218, 219, 220, 221, 212,
> +- 0, 282, 289, 0, 0, 0, 225, 185, 184, 0,
> +- 189, 198, 197, 0, 202, 384, 385, 386, 379, 380,
> +- 0, 376, 370, 0, 295, 0, 125, 0, 372, 122,
> +- 139, 141, 128, 130, 137, 136, 159, 160, 161, 158,
> +- 157, 498, 498, 498, 498, 498, 517, 517, 498, 492,
> +- 0, 498, 346, 528, 95, 0, 93, 592, 167, 166,
> +- 173, 172, 179, 178, 0, 492, 0, 0, 0, 547,
> +- 548, 0, 545, 248, 0, 481, 482, 0, 230, 506,
> +- 507, 504, 503, 501, 0, 0, 0, 0, 0, 0,
> +- 109, 119, 111, 112, 113, 117, 114, 118, 147, 0,
> +- 150, 0, 0, 284, 0, 0, 0, 291, 287, 223,
> +- 187, 200, 383, 382, 387, 387, 317, 296, 367, 0,
> +- 124, 126, 328, 328, 328, 523, 524, 0, 0, 527,
> +- 493, 494, 519, 554, 0, 329, 330, 338, 0, 0,
> +- 97, 101, 99, 100, 102, 107, 494, 549, 550, 551,
> +- 544, 546, 0, 250, 0, 492, 232, 270, 266, 115,
> +- 116, 0, 0, 110, 148, 0, 283, 0, 0, 0,
> +- 290, 0, 381, 389, 0, 0, 326, 321, 322, 0,
> +- 318, 319, 0, 520, 521, 522, 315, 315, 495, 593,
> +- 0, 332, 333, 334, 335, 336, 337, 346, 339, 341,
> +- 342, 343, 344, 340, 0, 103, 0, 98, 593, 249,
> +- 0, 252, 460, 494, 0, 0, 108, 286, 285, 293,
> +- 294, 292, 0, 0, 352, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 443, 443, 443,
> +- 0, 529, 531, 539, 534, 449, 0, 0, 398, 394,
> +- 392, 393, 404, 405, 406, 407, 408, 409, 410, 411,
> +- 412, 413, 414, 415, 403, 416, 402, 400, 399, 395,
> +- 397, 396, 0, 390, 401, 418, 447, 417, 451, 541,
> +- 419, 533, 536, 537, 538, 377, 371, 346, 498, 0,
> +- 320, 0, 498, 498, 0, 496, 347, 331, 362, 359,
> +- 358, 363, 361, 0, 355, 360, 345, 0, 96, 496,
> +- 251, 0, 542, 593, 232, 517, 279, 268, 517, 258,
> +- 259, 260, 261, 262, 263, 264, 265, 267, 422, 421,
> +- 420, 444, 0, 0, 0, 426, 0, 0, 0, 0,
> +- 0, 0, 0, 434, 0, 388, 391, 327, 324, 309,
> +- 498, 525, 526, 595, 0, 498, 357, 346, 498, 253,
> +- 496, 505, 0, 0, 423, 424, 425, 539, 530, 532,
> +- 446, 540, 0, 535, 0, 450, 0, 0, 0, 0,
> +- 429, 0, 427, 0, 325, 323, 0, 596, 0, 497,
> +- 456, 365, 0, 456, 498, 492, 593, 0, 0, 0,
> +- 0, 428, 0, 438, 439, 440, 0, 436, 593, 295,
> +- 594, 0, 457, 0, 356, 346, 0, 456, 593, 498,
> +- 431, 432, 433, 430, 0, 437, 496, 368, 597, 0,
> +- 512, 366, 295, 0, 498, 453, 435, 498, 0, 0,
> +- 510, 512, 512, 456, 454, 0, 0, 517, 513, 0,
> +- 514, 510, 510, 0, 0, 295, 512, 0, 511, 0,
> +- 508, 514, 514, 295, 517, 512, 510, 0, 515, 0,
> +- 462, 508, 508, 512, 0, 510, 514, 458, 509, 459,
> +- 461, 510, 0, 452, 448, 120, 455
> ++ 0, 211, 0, 206, 233, 234, 207, 0, 0, 183,
> ++ 0, 180, 0, 0, 196, 0, 193, 379, 379, 317,
> ++ 499, 572, 556, 499, 0, 123, 0, 0, 0, 0,
> ++ 135, 0, 0, 0, 0, 0, 156, 152, 518, 0,
> ++ 499, 592, 0, 0, 0, 165, 0, 0, 171, 0,
> ++ 0, 177, 0, 352, 499, 374, 518, 544, 0, 0,
> ++ 0, 465, 464, 466, 467, 469, 470, 484, 487, 491,
> ++ 0, 468, 471, 0, 560, 557, 554, 0, 0, 88,
> ++ 0, 0, 58, 0, 0, 64, 0, 0, 70, 0,
> ++ 0, 76, 0, 0, 82, 0, 0, 0, 300, 0,
> ++ 305, 503, 0, 501, 0, 145, 0, 149, 0, 0,
> ++ 0, 0, 237, 0, 0, 245, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 210, 0, 0,
> ++ 289, 227, 228, 0, 225, 229, 230, 209, 0, 182,
> ++ 0, 190, 191, 0, 188, 192, 0, 195, 0, 203,
> ++ 204, 0, 201, 205, 384, 499, 499, 309, 553, 0,
> ++ 0, 0, 0, 142, 0, 140, 131, 0, 129, 0,
> ++ 134, 0, 0, 0, 0, 0, 155, 0, 316, 316,
> ++ 316, 316, 316, 0, 0, 316, 0, 517, 519, 316,
> ++ 329, 0, 0, 0, 375, 0, 164, 0, 0, 170,
> ++ 0, 0, 176, 0, 562, 106, 0, 0, 0, 485,
> ++ 0, 489, 490, 475, 474, 476, 477, 479, 480, 488,
> ++ 472, 492, 473, 486, 478, 481, 518, 559, 442, 443,
> ++ 91, 92, 90, 61, 60, 67, 66, 73, 72, 79,
> ++ 78, 85, 84, 303, 304, 302, 0, 0, 500, 0,
> ++ 105, 146, 0, 144, 316, 240, 354, 355, 241, 239,
> ++ 248, 247, 213, 214, 215, 216, 217, 218, 219, 220,
> ++ 221, 222, 212, 0, 283, 290, 0, 0, 0, 226,
> ++ 185, 184, 0, 189, 198, 197, 0, 202, 385, 386,
> ++ 387, 380, 381, 0, 377, 371, 0, 296, 0, 125,
> ++ 0, 373, 122, 139, 141, 128, 130, 137, 136, 159,
> ++ 160, 161, 158, 157, 499, 499, 499, 499, 499, 518,
> ++ 518, 499, 493, 0, 499, 347, 529, 95, 0, 93,
> ++ 593, 167, 166, 173, 172, 179, 178, 0, 493, 0,
> ++ 0, 0, 548, 549, 0, 546, 249, 0, 482, 483,
> ++ 0, 231, 507, 508, 505, 504, 502, 0, 0, 0,
> ++ 0, 0, 0, 109, 119, 111, 112, 113, 117, 114,
> ++ 118, 147, 0, 150, 0, 0, 285, 0, 0, 0,
> ++ 292, 288, 224, 187, 200, 384, 383, 388, 388, 318,
> ++ 297, 368, 0, 124, 126, 329, 329, 329, 524, 525,
> ++ 0, 0, 528, 494, 495, 520, 555, 0, 330, 331,
> ++ 339, 0, 0, 97, 101, 99, 100, 102, 107, 495,
> ++ 550, 551, 552, 545, 547, 0, 251, 0, 493, 233,
> ++ 271, 267, 115, 116, 0, 0, 110, 148, 0, 284,
> ++ 0, 0, 0, 291, 0, 382, 390, 0, 0, 327,
> ++ 322, 323, 0, 319, 320, 0, 521, 522, 523, 316,
> ++ 316, 496, 594, 0, 333, 334, 335, 336, 337, 338,
> ++ 347, 340, 342, 343, 344, 345, 341, 0, 103, 0,
> ++ 98, 594, 250, 0, 253, 461, 495, 0, 0, 108,
> ++ 287, 286, 294, 295, 293, 0, 0, 353, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 444, 444, 444, 0, 530, 532, 540, 535, 450, 0,
> ++ 0, 399, 395, 393, 394, 405, 406, 407, 408, 409,
> ++ 410, 411, 412, 413, 414, 415, 416, 404, 417, 403,
> ++ 401, 400, 396, 398, 397, 0, 391, 402, 419, 448,
> ++ 418, 452, 542, 420, 534, 537, 538, 539, 378, 372,
> ++ 347, 499, 0, 321, 0, 499, 499, 0, 497, 348,
> ++ 332, 363, 360, 359, 364, 362, 0, 356, 361, 346,
> ++ 0, 96, 497, 252, 0, 543, 594, 233, 518, 280,
> ++ 269, 518, 259, 260, 261, 262, 263, 264, 265, 266,
> ++ 268, 423, 422, 421, 445, 0, 0, 0, 427, 0,
> ++ 0, 0, 0, 0, 0, 0, 435, 0, 389, 392,
> ++ 328, 325, 310, 499, 526, 527, 596, 0, 499, 358,
> ++ 347, 499, 254, 497, 506, 0, 0, 424, 425, 426,
> ++ 540, 531, 533, 447, 541, 0, 536, 0, 451, 0,
> ++ 0, 0, 0, 430, 0, 428, 0, 326, 324, 0,
> ++ 597, 0, 498, 457, 366, 0, 457, 499, 493, 594,
> ++ 0, 0, 0, 0, 429, 0, 439, 440, 441, 0,
> ++ 437, 594, 296, 595, 0, 458, 0, 357, 347, 0,
> ++ 457, 594, 499, 432, 433, 434, 431, 0, 438, 497,
> ++ 369, 598, 0, 513, 367, 296, 0, 499, 454, 436,
> ++ 499, 0, 0, 511, 513, 513, 457, 455, 0, 0,
> ++ 518, 514, 0, 515, 511, 511, 0, 0, 296, 513,
> ++ 0, 512, 0, 509, 515, 515, 296, 518, 513, 511,
> ++ 0, 516, 0, 463, 509, 509, 513, 0, 511, 515,
> ++ 459, 510, 460, 462, 511, 0, 453, 449, 120, 456
> ++};
> ++
> ++/* YYPGOTO[NTERM-NUM]. */
> ++static const yytype_int16 yypgoto[] =
> ++{
> ++ -840, -840, 754, -840, -840, -408, -840, -840, -840, 434,
> ++ -840, -840, -840, 415, -840, -840, -840, 386, -840, -840,
> ++ -840, 384, -840, -840, -840, 411, -840, -840, -840, 427,
> ++ -622, -840, -840, -840, 91, -840, -840, -840, -840, -840,
> ++ 165, -840, 143, -840, -615, -840, -840, -840, -840, -840,
> ++ -840, 345, -840, -840, -840, 340, -840, -840, -840, 350,
> ++ -264, -840, -840, -840, -261, -840, -840, -840, 363, -840,
> ++ -840, -840, 311, -840, -840, -840, 346, -840, -840, -840,
> ++ 332, -840, -840, -840, 375, -840, -840, 445, -840, -840,
> ++ -840, 446, -840, -840, 398, -840, -840, -840, -840, 448,
> ++ -840, -840, 453, 17, -276, -840, -840, -840, 455, -840,
> ++ -840, -840, -840, 457, -840, -840, -840, -840, -840, -840,
> ++ -513, -840, -840, -840, -840, -840, -840, -840, -840, -595,
> ++ -840, -840, -840, -593, -840, -840, -840, -840, -840, -840,
> ++ -840, -840, -840, -840, -840, -840, -840, -840, 102, -268,
> ++ -840, -840, 99, -839, -840, -840, -840, 454, -840, -13,
> ++ -840, -510, -840, -840, -840, -225, -840, -840, 94, -840,
> ++ -840, -239, -790, -840, -840, -653, -840, -27, 772, 613,
> ++ -351, -840, -840, -578, -573, -840, -840, -561, -840, 835,
> ++ -216, -840, -840, 539, -840, 167, -840, 170, -840, 15,
> ++ -840, -840, -840, -116, -840, -840, -118, -436, -272, -840,
> ++ -840, -48, -840, -840, -52, -840, -840, -788, -840, 12,
> ++ -840, -598, -644, -837, -194, -840, 318, -840, -503, -734,
> ++ -735, -786, -342, -840, 243, -840, -840, -840, -366, -840,
> ++ -44, -840, -840, 14, -840, -840, 230, 0, -840, 556,
> ++ 660, -10, -205, -722, -840
> + };
> +
> + /* YYDEFGOTO[NTERM-NUM]. */
> + static const yytype_int16 yydefgoto[] =
> + {
> +- -1, 1, 2, 3, 79, 80, 81, 141, 245, 246,
> ++ 0, 1, 2, 3, 79, 80, 81, 141, 245, 246,
> + 82, 144, 248, 249, 83, 147, 251, 252, 84, 150,
> + 254, 255, 85, 153, 257, 258, 86, 138, 242, 243,
> +- 87, 329, 616, 699, 700, 701, 88, 393, 89, 624,
> +- 538, 649, 650, 651, 90, 314, 450, 587, 91, 213,
> +- 455, 456, 92, 216, 318, 319, 93, 212, 452, 453,
> +- 94, 272, 396, 397, 95, 96, 219, 324, 325, 97,
> +- 224, 333, 334, 98, 227, 336, 337, 99, 230, 339,
> +- 340, 100, 192, 297, 298, 300, 431, 432, 101, 195,
> +- 302, 303, 305, 439, 440, 102, 188, 293, 289, 290,
> +- 292, 421, 422, 189, 295, 103, 177, 275, 276, 104,
> +- 105, 181, 278, 279, 713, 771, 872, 106, 107, 108,
> +- 109, 813, 814, 815, 816, 817, 818, 819, 820, 655,
> +- 822, 823, 110, 656, 111, 112, 113, 114, 115, 116,
> +- 117, 118, 825, 119, 120, 423, 561, 662, 663, 677,
> +- 564, 666, 667, 678, 121, 162, 264, 265, 122, 155,
> +- 156, 123, 583, 202, 268, 309, 739, 740, 741, 945,
> +- 848, 613, 695, 757, 764, 696, 697, 124, 125, 126,
> +- 546, 866, 952, 127, 128, 307, 675, 129, 235, 588,
> +- 131, 306, 674, 443, 578, 579, 580, 734, 832, 833,
> +- 834, 903, 939, 940, 942, 966, 967, 518, 892, 835,
> +- 898, 836, 837, 901, 838, 1005, 1014, 973, 989, 839,
> +- 362, 691, 749, 915, 271, 391, 392, 642, 1030, 1010,
> +- 1000, 1020, 474, 475, 476, 840, 896, 897, 841, 900,
> +- 842, 843, 899, 844, 496, 631, 632, 477, 478, 365,
> +- 238, 135, 331, 855, 948
> +-};
> +-
> +-/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
> +- STATE-NUM. */
> +-#define YYPACT_NINF -823
> +-static const yytype_int16 yypact[] =
> +-{
> +- -823, 143, -823, 1215, -823, -823, -1, 60, 86, 87,
> +- 68, 69, 119, 119, 119, 119, 71, 24, 119, 119,
> +- 119, 119, 119, 119, 119, 119, 1503, 8, -823, -823,
> +- 13, 137, 34, 119, 119, 119, 46, 322, 50, 52,
> +- 85, 85, -823, -823, -823, 111, -823, -823, -823, -823,
> +- -823, -823, -823, -823, -823, -823, -823, -823, -823, 364,
> +- 154, 296, 217, 1503, -823, -823, 497, 270, -823, -823,
> +- 74, 89, 497, 85, 102, -823, 63, 65, 67, -823,
> +- -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
> +- -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
> +- -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
> +- -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
> +- -823, -823, -823, -823, 140, 167, -823, -823, -823, -823,
> +- 311, -823, -823, -823, 94, -823, 219, 160, -823, -823,
> +- 207, -823, -823, 214, -823, -823, 216, -823, -823, 221,
> +- -823, -823, 231, 119, -823, -823, 175, -823, -823, -823,
> +- -823, 28, 119, 341, -823, -823, -823, -823, -823, -823,
> +- -823, -823, 85, 215, -823, -823, 309, -823, -823, -823,
> +- 243, -823, -823, -823, -823, -823, -823, 295, 242, -823,
> +- 276, 263, 249, -823, 285, 265, -823, -823, 45, -823,
> +- -823, -823, 405, -823, -823, -823, 384, -823, 167, -823,
> +- 75, -823, 308, 366, -823, 406, -823, -823, 259, 215,
> +- 336, 345, 497, 407, -823, -823, 408, -823, -823, 409,
> +- -823, -823, 497, 217, 1503, 479, 107, 227, 138, -823,
> +- 393, 394, 313, -823, 395, 320, -823, 399, 324, -823,
> +- 400, 326, -823, 401, 329, -823, 402, 331, -823, -823,
> +- -823, -823, 403, 410, 333, -823, -823, -823, 119, -823,
> +- 518, -823, 18, 411, 414, 337, -823, 433, 340, -823,
> +- 437, 439, 440, 441, 442, 443, 445, 449, 450, 342,
> +- -823, 332, -823, 276, -823, -823, 451, 346, -823, 306,
> +- -823, 452, 348, -823, 306, -823, 390, 390, -823, 215,
> +- -823, 138, 215, 398, 453, 527, 529, 455, 350, -823,
> +- 457, 462, 463, 464, 352, -823, -823, 1276, 85, 215,
> +- -823, -22, 465, 354, -823, 466, 356, -823, 467, 358,
> +- -823, 29, -823, 215, -823, 1276, 469, 470, 108, 471,
> +- 472, 473, 474, 475, 480, 481, -823, -40, 185, 468,
> +- 482, 483, 456, 544, -823, -823, 287, 534, -823, 160,
> +- 606, -823, 207, 607, -823, 214, 608, -823, 216, 611,
> +- -823, 221, 612, -823, 231, 613, 542, -823, 28, -823,
> +- 495, -21, -823, 496, 491, 620, 560, 503, 499, 625,
> +- 397, -823, 309, 626, -823, 243, 627, 628, 322, 397,
> +- 397, 397, 397, 631, 555, -823, 295, 516, 90, -823,
> +- -823, 38, -823, -823, -823, -823, 322, -823, 263, -823,
> +- -823, 25, -823, -823, 322, -823, 285, -823, -823, 35,
> +- -823, -823, 359, 215, 215, -823, -823, 511, 636, 842,
> +- 513, -823, 21, -823, -823, 31, -823, 287, -823, 406,
> +- 638, 639, 642, 643, -823, 259, 405, 405, 405, 405,
> +- 405, 520, 528, 405, 531, 532, -823, 405, 526, 535,
> +- 533, 497, -823, 322, -823, 407, 322, -823, 408, 85,
> +- -823, 409, -823, -823, 537, 330, 524, -823, 497, -823,
> +- -823, -823, -823, -823, -823, -823, -823, -823, 536, -823,
> +- 538, -823, -823, -823, 1276, -823, -823, -823, -823, -823,
> +- -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
> +- -823, -823, -823, -823, 103, 518, -823, 283, -823, -823,
> +- 22, -823, 405, -823, -823, -823, -823, -823, -823, -823,
> +- -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
> +- 546, -823, -823, 171, 119, 539, -823, -823, -823, 545,
> +- -823, -823, -823, 547, -823, -823, -823, -823, 540, -823,
> +- 85, -823, -823, 548, 680, 543, -823, 203, -823, -823,
> +- -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
> +- -823, 215, 215, 215, 215, 215, 1276, 1276, 215, 599,
> +- 1276, 215, 554, -823, -823, 152, -823, -823, -823, -823,
> +- -823, -823, -823, -823, 496, 599, 119, 119, 119, -823,
> +- -823, 59, -823, 683, 556, -823, -823, 557, 549, -823,
> +- -823, -823, -823, -823, 119, 119, 119, 119, 497, 61,
> +- -823, -823, -823, -823, -823, -823, -823, -823, -823, 673,
> +- -823, 553, 362, -823, 558, 559, 365, -823, -823, -823,
> +- -823, -823, 359, -823, 561, 561, 404, -823, -823, 564,
> +- -823, -823, 526, 526, 526, -823, -823, 566, 568, -823,
> +- -823, 585, -823, -823, 85, 294, -823, 258, 119, 57,
> +- -823, -823, -823, -823, -823, -823, 585, -823, -823, -823,
> +- -823, -823, 119, 694, 567, 599, 276, -823, -823, -823,
> +- -823, 688, 569, -823, -823, 690, -823, 546, 692, 693,
> +- -823, 171, -823, 1089, 572, 573, 577, -823, -823, 578,
> +- 404, -823, 497, -823, -823, -823, 405, 405, -823, 604,
> +- 581, -823, -823, -823, -823, -823, -823, 554, -823, -823,
> +- -823, -823, -823, -823, 732, -823, 580, -823, 604, -823,
> +- 119, 717, -823, 585, 579, 588, -823, -823, -823, -823,
> +- -823, -823, 119, 119, 589, 119, 119, 119, 119, 119,
> +- 119, 119, 119, 119, 119, 119, 119, 672, 672, 672,
> +- 575, -823, -823, 582, -823, -823, 593, 712, -823, -823,
> +- -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
> +- -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
> +- -823, -823, 980, -823, -823, -823, -823, -823, -823, -823,
> +- -823, -823, -823, -823, -823, -823, -823, 554, 215, 591,
> +- -823, 367, 215, 215, 595, 596, -823, -823, -823, -823,
> +- -823, -823, -823, 598, -31, -823, -823, 600, -823, 596,
> +- -823, 119, -823, 604, 276, 1276, -823, -823, 1276, -823,
> +- -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
> +- -823, -823, 584, 587, 592, -823, 1333, 1333, 594, 1447,
> +- 1390, 716, 235, 602, 610, -823, -823, -823, 609, -823,
> +- 215, -823, -823, 85, 657, 215, -823, 298, 215, -823,
> +- 596, -823, 614, 618, -823, -823, -823, -823, -823, -823,
> +- -823, -823, 121, -823, 589, -823, 630, 632, 633, 372,
> +- -823, 306, -823, 637, -823, -823, 634, -823, 376, -823,
> +- 616, 294, 379, 616, 215, 599, 604, 641, 731, 287,
> +- 755, -823, 235, -823, -823, -823, 42, -823, 604, 680,
> +- -823, 85, -823, 640, -823, 554, 645, 616, 604, 215,
> +- -823, -823, -823, -823, 646, -823, 596, -823, -823, 497,
> +- 742, 294, 680, 664, 215, 624, -823, 215, 644, 119,
> +- 747, 742, 742, 616, -823, 665, 669, 1276, -823, 119,
> +- 763, 747, 747, 670, 649, 680, 742, 676, -823, 119,
> +- 783, 763, 763, 680, 1276, 742, 747, 660, -823, 119,
> +- -823, 783, 783, 742, 681, 747, 763, -823, -823, -823,
> +- -823, 747, 662, -823, -823, -823, -823
> ++ 87, 330, 619, 702, 703, 704, 88, 394, 89, 627,
> ++ 540, 652, 653, 654, 90, 315, 452, 590, 91, 213,
> ++ 457, 458, 92, 216, 319, 320, 93, 212, 454, 455,
> ++ 94, 272, 397, 398, 95, 96, 219, 325, 326, 97,
> ++ 224, 334, 335, 98, 227, 337, 338, 99, 230, 340,
> ++ 341, 100, 192, 298, 299, 301, 433, 434, 101, 195,
> ++ 303, 304, 306, 441, 442, 102, 188, 294, 290, 291,
> ++ 293, 423, 424, 189, 296, 103, 177, 275, 276, 104,
> ++ 105, 181, 278, 279, 716, 774, 875, 106, 107, 108,
> ++ 109, 816, 817, 818, 819, 820, 821, 822, 823, 658,
> ++ 825, 826, 110, 659, 111, 112, 113, 114, 115, 116,
> ++ 117, 118, 828, 119, 120, 425, 564, 665, 666, 680,
> ++ 567, 669, 670, 681, 121, 162, 264, 265, 122, 155,
> ++ 156, 123, 586, 202, 268, 310, 742, 743, 744, 948,
> ++ 851, 616, 698, 760, 767, 699, 700, 124, 125, 126,
> ++ 548, 869, 955, 127, 128, 308, 678, 129, 235, 591,
> ++ 131, 307, 677, 445, 581, 582, 583, 737, 835, 836,
> ++ 837, 906, 942, 943, 945, 969, 970, 520, 895, 838,
> ++ 901, 839, 840, 904, 841, 1008, 1017, 976, 992, 842,
> ++ 363, 694, 752, 918, 271, 392, 393, 645, 1033, 1013,
> ++ 1003, 1023, 476, 477, 478, 843, 899, 900, 844, 903,
> ++ 845, 846, 902, 847, 498, 634, 635, 479, 480, 366,
> ++ 238, 135, 332, 858, 951
> + };
> +
> +-/* YYPGOTO[NTERM-NUM]. */
> +-static const yytype_int16 yypgoto[] =
> +-{
> +- -823, -823, 834, -823, -823, -411, -823, -823, -823, 484,
> +- -823, -823, -823, 461, -823, -823, -823, 476, -823, -823,
> +- -823, 460, -823, -823, -823, 458, -823, -823, -823, 477,
> +- -638, -823, -823, -823, 144, -823, -823, -823, -823, -823,
> +- 220, -823, 196, -823, -629, -823, -823, -823, -823, -823,
> +- -823, 396, -823, -823, -823, 412, -823, -823, -823, 413,
> +- -265, -823, -823, -823, -264, -823, -823, -823, 387, -823,
> +- -823, -823, 368, -823, -823, -823, 369, -823, -823, -823,
> +- 370, -823, -823, -823, 427, -823, -823, 429, -823, -823,
> +- -823, 426, -823, -823, 424, -823, -823, -823, -823, 448,
> +- -823, -823, 446, 6, -263, -823, -823, -823, 478, -823,
> +- -823, -823, -823, 485, -823, -823, -823, -823, -823, -823,
> +- -508, -823, -823, -823, -823, -823, -823, -823, -823, -627,
> +- -823, -823, -823, -603, -823, -823, -823, -823, -823, -823,
> +- -823, -823, -823, -823, -823, -823, -823, -823, 139, -268,
> +- -823, -823, 141, -822, -823, -823, -823, 489, -823, -13,
> +- -823, -505, -823, -823, -823, -223, -823, -823, 128, -823,
> +- -823, -212, -786, -823, -823, -647, -823, -27, 807, 648,
> +- -349, -823, -823, -598, -579, -823, -823, -574, -823, 867,
> +- -216, -823, -823, 571, -823, 201, -823, 204, -823, 51,
> +- -823, -823, -823, -80, -823, -823, -82, -432, -260, -823,
> +- -823, -11, -823, -823, -16, -823, -823, -660, -823, 12,
> +- -823, -597, -577, -796, -195, -823, 357, -823, -496, -680,
> +- -696, -765, -341, -823, 279, -823, -823, -823, -355, -823,
> +- -9, -823, -823, 14, -823, -823, 262, 0, -823, 583,
> +- 686, -10, -214, -704, -823
> +-};
> +-
> +-/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
> +- positive, shift that token. If negative, reduce the rule which
> +- number is the opposite. If zero, do what YYDEFACT says.
> +- If YYTABLE_NINF, syntax error. */
> +-#define YYTABLE_NINF -563
> ++/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
> ++ positive, shift that token. If negative, reduce the rule whose
> ++ number is the opposite. If YYTABLE_NINF, syntax error. */
> + static const yytype_int16 yytable[] =
> + {
> +- 157, 158, 159, 134, 494, 164, 165, 166, 167, 168,
> +- 169, 170, 171, 197, 198, 132, 173, 133, 341, 344,
> +- 182, 183, 184, 424, 326, 594, 419, 420, 706, 654,
> +- 425, 433, 657, 136, 429, 430, 441, 418, 586, 437,
> +- 438, 346, 417, 190, 193, 196, 221, 418, 175, 398,
> +- 418, 231, 394, 209, 418, 451, 658, 27, 28, 163,
> +- 553, 554, 555, 556, 869, 454, 210, 27, 28, 179,
> +- 27, 28, 220, 918, 27, 28, 626, 627, 628, -562,
> +- 185, 186, 225, 228, 185, 186, 185, 186, 644, 27,
> +- 28, 27, 28, 27, 28, 808, 139, 185, 186, 185,
> +- 186, 29, 148, 151, 809, 160, 821, 704, 214, 312,
> +- 857, 645, 646, 647, 445, 507, 35, 447, 773, 29,
> +- 35, -560, 142, 145, 954, 217, 562, 508, 236, 768,
> +- 824, 951, 481, 535, 480, 828, 232, 638, 186, 639,
> +- 259, 654, 536, 4, 657, 269, 482, 987, 493, 266,
> +- 154, 137, 59, 424, 829, 957, 419, 420, 648, 830,
> +- 174, 62, 262, 433, -562, 176, 429, 430, 263, 920,
> +- 1001, 441, 178, 637, 437, 438, 681, 395, 590, 62,
> +- 698, 659, 569, 481, 27, 28, 180, 199, 592, 991,
> +- 997, 704, 573, 1025, 808, 565, 873, 492, 187, 984,
> +- 907, 1033, 191, 809, 194, 821, 260, -562, 261, -562,
> +- 640, 35, 140, 237, 766, 223, 710, 226, 722, 229,
> +- 149, 152, 330, 161, 343, 812, 215, 313, 827, 824,
> +- 629, 630, 330, 203, 828, 27, 28, 29, 143, 146,
> +- 237, 218, 563, 601, 602, 603, 604, 605, 581, 582,
> +- 608, 29, 979, 829, 611, 389, 1031, 1032, 830, 345,
> +- 498, 233, 35, 499, 986, 687, 688, 40, 41, 222,
> +- 270, 1044, 652, 653, 994, 698, 42, 43, 44, 45,
> ++ 157, 158, 159, 134, 496, 164, 165, 166, 167, 168,
> ++ 169, 170, 171, 197, 198, 132, 173, 133, 427, 345,
> ++ 182, 183, 184, 597, 426, 327, 657, 342, 421, 660,
> ++ 709, 422, 435, 453, 139, 921, 431, 443, 395, 432,
> ++ 419, 439, 347, 589, 440, 661, 221, 399, 420, 872,
> ++ 420, 231, -563, 209, 190, 193, 196, 420, 175, 555,
> ++ 556, 557, 558, 559, 420, 771, 210, 456, 27, 28,
> ++ 27, 28, 220, 629, 630, 631, 136, 27, 28, 27,
> ++ 28, 179, 185, 186, 27, 28, 957, 29, 27, 28,
> ++ 142, 145, 148, 225, 228, 217, 185, 186, 185, 186,
> ++ 185, 186, 185, 186, 346, 707, 35, 860, 151, 160,
> ++ 214, 313, 240, 236, 811, 270, 447, 565, 29, 449,
> ++ 776, 812, 511, -561, 960, 4, 241, 641, 186, 642,
> ++ 954, 154, 876, 990, 483, 512, 482, -563, 232, 657,
> ++ 259, 824, 660, 827, 537, 269, 483, 62, 484, 266,
> ++ 495, 140, 1000, 538, 923, 426, 1004, 593, 831, 421,
> ++ 494, 647, 422, 832, 396, 435, 27, 28, 979, 431,
> ++ 701, 662, 432, 443, 640, 833, 176, 439, 62, 1028,
> ++ 440, -563, 684, -563, 648, 649, 650, 1036, 994, 707,
> ++ 509, 595, 996, 35, 568, 137, 572, 910, 237, 180,
> ++ 643, 187, 510, 576, 174, 769, 229, 143, 146, 237,
> ++ 987, 149, 218, 811, 713, 191, 163, 194, 1016, 223,
> ++ 812, 226, 331, 815, 344, 59, 830, 152, 161, 215,
> ++ 314, 651, 331, 632, 566, 262, 633, 982, 1034, 1035,
> ++ 824, 263, 827, 604, 605, 606, 607, 608, 419, 989,
> ++ 611, 584, 585, 1047, 614, 390, 420, 831, 500, 997,
> ++ 667, 501, 832, 178, 27, 28, 199, 690, 691, 1014,
> ++ 1015, 668, 185, 186, 833, 655, 27, 28, 656, 420,
> ++ 1024, 1025, 200, 201, 1029, 27, 28, 29, 260, 939,
> ++ 261, 35, 725, 1038, 940, 1039, 273, 274, 941, 27,
> ++ 28, 1044, 481, 203, 1046, 629, 630, 631, 321, 364,
> ++ 1048, 365, 35, 29, 322, 323, 324, 40, 41, 663,
> ++ 27, 28, 815, 369, 370, 830, 42, 43, 44, 45,
> + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
> +- 56, 57, 58, 976, 59, 60, 61, 62, 240, 63,
> +- 363, 479, 364, 664, 211, 1011, 1012, 232, 64, 65,
> +- 644, 241, 66, 67, 665, 27, 28, 993, 418, 660,
> +- 1026, 516, 72, 517, 812, 73, 239, 827, 74, 1035,
> +- 75, 1021, 1022, 645, 646, 647, 417, 1041, 27, 28,
> +- 509, 234, 35, 1013, 418, 244, 1036, 626, 627, 628,
> +- 702, 703, 247, 510, 250, 1043, 185, 186, 978, 253,
> +- 680, 1045, 27, 28, 27, 28, 629, 630, 936, 256,
> +- 204, 205, 206, 937, 59, 207, 267, 938, 270, 347,
> +- 648, 277, 348, 294, 652, 653, 349, 350, 351, 352,
> +- 353, 354, 355, 356, 357, 358, 320, 359, 291, 360,
> +- 361, 296, 321, 322, 323, 299, 682, 683, 684, 685,
> +- 686, 737, 738, 689, 552, 865, 693, 758, 759, 760,
> +- 761, 304, 762, 301, 763, 575, 576, 577, 200, 201,
> +- 280, 281, 567, 282, 702, 703, 27, 28, 736, 308,
> +- 571, 283, 284, 285, 286, 287, 288, 273, 274, 134,
> +- 694, -364, -364, 774, 751, 752, 753, 754, 755, 756,
> +- 310, 132, 622, 133, 315, 826, 368, 369, 810, 811,
> +- 743, 744, 745, 371, 372, 737, 738, 374, 375, 377,
> +- 378, 617, 380, 381, 383, 384, 387, 388, 327, 618,
> +- 401, 402, 620, 404, 405, 415, 416, 328, 634, 427,
> +- 428, 435, 436, 458, 459, 464, 465, 484, 485, 487,
> +- 488, 490, 491, 544, 545, 726, 727, 831, 730, 731,
> +- 910, 481, 316, 852, 853, 961, 962, 981, 851, 970,
> +- 971, 29, 974, 975, 922, 1039, 1040, 923, 893, 894,
> +- 641, 928, 929, 40, 317, 332, 335, 338, 366, 367,
> +- 370, 668, 390, 673, 373, 376, 379, 382, 385, 442,
> +- 448, 451, 172, 454, 826, 386, 399, 810, 811, 400,
> +- 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
> +- 52, 53, 54, 55, 56, 57, 58, 134, 403, 60,
> +- 61, 62, 406, 63, 407, 408, 409, 410, 411, 132,
> +- 412, 133, 64, 65, 413, 414, 426, 434, 514, 449,
> +- 457, 921, 460, 707, 708, 709, 831, 461, 462, 463,
> +- 483, 486, 489, 497, 75, 495, 500, 501, 502, 503,
> +- 504, 717, 718, 719, 720, 505, 506, 512, 513, 511,
> +- 515, 519, 521, 523, 525, 527, 529, 531, 721, 532,
> +- 534, -316, 537, 908, 539, 540, 541, 911, 912, 542,
> +- 543, 548, 558, 550, 551, 557, 1017, 750, 560, 584,
> +- 585, 589, 606, 965, 596, 597, 963, 964, 598, 599,
> +- 607, 612, 633, 1034, 609, 765, 610, 661, 614, 615,
> +- 625, 635, 418, 636, 672, 690, 679, 669, 965, 769,
> +- 712, 963, 964, 670, 676, 671, 694, 724, 725, 714,
> +- 715, 748, 770, 728, 729, 946, 742, 733, 716, 746,
> +- 950, 747, 775, 953, 854, 772, 777, 776, 779, 780,
> +- 845, 846, 847, 134, 856, 849, 871, 864, 868, 874,
> +- 875, 878, 330, 891, 895, 902, 904, 913, -445, 909,
> +- 934, 914, 917, 924, 867, 916, 925, 870, 941, 977,
> +- 807, 926, 943, 944, 949, 980, 29, 955, 858, 876,
> +- 877, 956, 879, 880, 881, 882, 883, 884, 885, 886,
> +- 887, 888, 889, 890, 995, 958, 972, 959, 960, 982,
> +- 968, 999, 969, 345, 1004, 1009, 1007, 172, 990, 1003,
> +- 1019, 1024, 1006, 992, 996, 42, 43, 44, 45, 46,
> +- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
> +- 57, 58, 1002, 1015, 60, 61, 62, 1016, 1023, 1027,
> +- 1029, 1037, 134, 1046, 1042, 5, 524, 64, 65, 859,
> +- 860, 528, 530, 767, 705, 723, 520, 861, 544, 545,
> +- 862, 593, 600, 619, 526, 568, 522, 621, 919, 75,
> +- 570, 623, 572, 574, 559, 591, 778, 566, 850, 208,
> +- 130, 595, 781, 732, 27, 28, 29, 533, 444, 735,
> +- 547, 342, 983, 906, 985, 935, 947, 930, 863, 692,
> +- 549, 933, 643, 711, 446, 311, 134, 134, 0, 932,
> +- 134, 35, 0, 0, 0, 0, 40, 41, 0, 0,
> +- 0, 931, 0, 0, 0, 42, 43, 44, 45, 46,
> ++ 56, 57, 58, 211, 59, 60, 61, 62, 518, 63,
> ++ 519, 204, 205, 206, 705, 701, 207, 706, 64, 65,
> ++ 981, 647, 66, 67, 372, 373, 27, 28, 375, 376,
> ++ 632, 222, 72, 633, 232, 73, 378, 379, 74, 233,
> ++ 75, 578, 579, 580, 648, 649, 650, 348, 655, 234,
> ++ 349, 656, 244, 35, 350, 351, 352, 353, 354, 355,
> ++ 356, 357, 358, 359, 239, 360, 247, 361, 362, 250,
> ++ 685, 686, 687, 688, 689, 740, 868, 692, 741, 253,
> ++ 696, 27, 28, 739, 256, 59, 554, 697, -365, -365,
> ++ 267, 651, 761, 762, 763, 764, 277, 765, 705, 766,
> ++ 270, 706, 295, 777, 292, 570, 746, 747, 748, 381,
> ++ 382, 134, 309, 574, 754, 755, 756, 757, 758, 759,
> ++ 384, 385, 297, 132, 625, 133, 388, 389, 829, 302,
> ++ 402, 403, 813, 280, 281, 814, 282, 405, 406, 740,
> ++ 417, 418, 741, 620, 283, 284, 285, 286, 287, 288,
> ++ 289, 429, 430, 437, 438, 460, 461, 466, 467, 300,
> ++ 637, 305, 621, 486, 487, 623, 489, 490, 492, 493,
> ++ 546, 547, 729, 730, 733, 734, 913, 483, 964, 965,
> ++ 834, 973, 974, 311, 855, 856, 984, 977, 978, 896,
> ++ 897, 1042, 1043, 931, 932, 316, 925, 317, 318, 926,
> ++ 854, 328, 333, 329, 336, 339, 40, 367, 368, 371,
> ++ 391, 444, 374, 644, 671, 377, 676, 380, 383, 386,
> ++ 450, 387, 453, 456, 400, 401, 404, 829, 407, 408,
> ++ 409, 813, 410, 411, 814, 412, 413, 414, 415, 416,
> ++ 428, 436, 517, 451, 459, 462, 463, 464, 465, 485,
> ++ 134, 488, 491, 499, 497, 521, 502, 503, 504, 505,
> ++ 506, 924, 132, 523, 133, 507, 508, 514, 515, 516,
> ++ 513, 525, 527, 529, 531, 533, 710, 711, 712, 834,
> ++ 534, 536, -317, 539, 541, 542, 543, 545, 544, 550,
> ++ 561, 552, 553, 560, 720, 721, 722, 723, 563, 587,
> ++ 588, 599, 592, 600, 601, 602, 609, 610, 615, 612,
> ++ 617, 724, 613, 628, 420, 618, 664, 911, 638, 636,
> ++ 639, 914, 915, 675, 672, 673, 674, 679, 1020, 693,
> ++ 753, 682, 697, 715, 717, 718, 968, 727, 728, 719,
> ++ 966, 731, 732, 967, 736, 1037, 745, 751, 768, 749,
> ++ 750, 773, 778, 775, 850, 780, 779, 782, 783, 848,
> ++ 849, 968, 772, 852, 857, 966, 859, 871, 967, 874,
> ++ 877, 878, 881, 898, -446, 894, 905, 907, 916, 949,
> ++ 917, 912, 920, 927, 953, 928, 919, 956, 937, 944,
> ++ 929, 946, 947, 810, 952, 983, 134, 958, 961, 959,
> ++ 867, 975, 962, 963, 346, 331, 985, 971, 972, 1002,
> ++ 1012, 1010, 1022, 1032, 1027, 5, 993, 870, 1030, 995,
> ++ 873, 999, 1005, 980, 1045, 528, 530, 27, 28, 29,
> ++ 1018, 1019, 879, 880, 1026, 882, 883, 884, 885, 886,
> ++ 887, 888, 889, 890, 891, 892, 893, 1007, 998, 1040,
> ++ 1049, 526, 708, 770, 35, 726, 532, 522, 622, 40,
> ++ 41, 598, 596, 1006, 594, 571, 1009, 524, 42, 43,
> ++ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
> ++ 54, 55, 56, 57, 58, 626, 59, 60, 61, 62,
> ++ 603, 63, 781, 784, 208, 134, 624, 853, 130, 577,
> ++ 64, 65, 735, 535, 66, 67, 343, 446, 738, 986,
> ++ 909, 988, 938, 933, 72, 646, 695, 73, 549, 936,
> ++ 74, 922, 75, 551, 714, 0, 562, 0, 448, 312,
> ++ 0, 0, 0, 0, 0, 0, 569, 29, 573, 861,
> ++ 0, 0, 0, 0, 575, 0, 0, 0, 0, 950,
> ++ 0, 0, 0, 683, 0, 0, 0, 0, 0, 134,
> ++ 134, 0, 935, 134, 0, 0, 0, 0, 172, 0,
> ++ 0, 0, 0, 0, 934, 0, 42, 43, 44, 45,
> ++ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
> ++ 56, 57, 58, 0, 0, 60, 61, 62, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 991, 64, 65,
> ++ 862, 863, 0, 0, 0, 0, 0, 0, 864, 546,
> ++ 547, 865, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1011,
> ++ 0, 0, 1001, 0, 785, 420, 0, 0, 0, 1021,
> ++ 866, 0, 0, 0, 0, 0, 786, 0, 0, 1031,
> ++ 647, 0, 0, 0, 0, 27, 28, 787, 0, 1041,
> ++ 0, 788, 789, 790, 791, 792, 793, 794, 795, 796,
> ++ 0, 0, 0, 648, 797, 798, 799, 0, 0, 0,
> ++ 0, 0, 35, 0, 0, 0, 0, 40, 41, 800,
> ++ 801, 802, 803, 804, 0, 805, 42, 43, 44, 45,
> ++ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
> ++ 56, 57, 58, 806, 59, 60, 61, 62, 0, 63,
> ++ 807, 0, 0, 0, 0, 0, 0, 0, 64, 65,
> ++ 0, 0, 66, 67, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 72, 785, 420, 73, 0, 808, 74, 0,
> ++ 75, 0, 0, 809, 0, 786, 0, 0, 0, 647,
> ++ 0, 0, 0, 0, 27, 28, 787, 0, 0, 0,
> ++ 788, 789, 790, 791, 792, 793, 794, 795, 796, 0,
> ++ 0, 908, 648, 797, 798, 799, 0, 0, 0, 0,
> ++ 810, 35, 0, 0, 0, 0, 40, 41, 800, 801,
> ++ 802, 803, 804, 0, 805, 42, 43, 44, 45, 46,
> + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
> +- 57, 58, 0, 59, 60, 61, 62, 0, 63, 0,
> +- 0, 0, 0, 0, 988, 0, 0, 64, 65, 0,
> ++ 57, 58, 806, 59, 60, 61, 62, 0, 63, 807,
> ++ 0, 0, 0, 0, 0, 0, 0, 64, 65, 0,
> + 0, 66, 67, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 72, 0, 0, 73, 0, 0, 74, 0, 75,
> ++ 0, 72, 0, 0, 73, 0, 808, 74, 0, 75,
> ++ 0, 6, 809, 7, 8, 9, 10, 11, 12, 13,
> ++ 0, 14, 15, 16, 17, 0, 0, 0, 18, 19,
> ++ 20, 0, 21, 22, 23, 0, 24, 25, 26, 0,
> ++ 27, 28, 29, 0, 0, 0, 0, 0, 0, 810,
> + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 1008, 0, 0, 998,
> +- 0, 782, 418, 0, 0, 0, 1018, 0, 0, 0,
> +- 0, 0, 0, 783, 0, 0, 1028, 644, 0, 0,
> +- 0, 0, 27, 28, 784, 0, 1038, 0, 785, 786,
> +- 787, 788, 789, 790, 791, 792, 793, 0, 0, 0,
> +- 645, 794, 795, 796, 0, 0, 0, 0, 0, 35,
> +- 0, 0, 0, 0, 40, 41, 797, 798, 799, 800,
> +- 801, 0, 802, 42, 43, 44, 45, 46, 47, 48,
> +- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
> +- 803, 59, 60, 61, 62, 0, 63, 804, 0, 0,
> +- 0, 0, 0, 0, 0, 64, 65, 0, 0, 66,
> +- 67, 0, 0, 0, 0, 0, 0, 0, 0, 72,
> +- 782, 418, 73, 0, 805, 74, 0, 75, 0, 0,
> +- 806, 0, 783, 0, 0, 0, 644, 0, 0, 0,
> +- 0, 27, 28, 784, 0, 0, 0, 785, 786, 787,
> +- 788, 789, 790, 791, 792, 793, 0, 905, 0, 645,
> +- 794, 795, 796, 0, 0, 0, 807, 0, 35, 0,
> +- 0, 0, 0, 40, 41, 797, 798, 799, 800, 801,
> +- 0, 802, 42, 43, 44, 45, 46, 47, 48, 49,
> +- 50, 51, 52, 53, 54, 55, 56, 57, 58, 803,
> +- 59, 60, 61, 62, 0, 63, 804, 0, 0, 0,
> +- 0, 0, 0, 0, 64, 65, 0, 0, 66, 67,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 72, 0,
> +- 0, 73, 0, 805, 74, 0, 75, 0, 6, 806,
> +- 7, 8, 9, 10, 11, 12, 13, 0, 14, 15,
> +- 16, 17, 0, 0, 0, 18, 19, 20, 0, 21,
> +- 22, 23, 0, 24, 25, 26, 0, 27, 28, 29,
> +- 0, 0, 0, 0, 0, 807, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,
> +- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
> +- 41, 0, 0, 0, 0, 0, 0, 0, 42, 43,
> +- 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
> +- 54, 55, 56, 57, 58, 0, 59, 60, 61, 62,
> +- 29, 63, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 64, 65, 0, 0, 66, 67, 68, 69, 70, 71,
> +- 0, 0, 0, 0, 72, 0, 0, 73, 0, 0,
> +- 74, 172, 75, 76, 77, 0, 78, 0, 0, 42,
> ++ 0, 0, 30, 31, 32, 33, 34, 35, 36, 37,
> ++ 38, 39, 40, 41, 0, 0, 0, 0, 0, 0,
> ++ 0, 42, 43, 44, 45, 46, 47, 48, 49, 50,
> ++ 51, 52, 53, 54, 55, 56, 57, 58, 0, 59,
> ++ 60, 61, 62, 29, 63, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 64, 65, 0, 0, 66, 67, 68,
> ++ 69, 70, 71, 0, 0, 0, 0, 72, 0, 0,
> ++ 73, 0, 0, 74, 172, 75, 76, 77, 0, 78,
> ++ 0, 0, 42, 43, 44, 45, 46, 47, 48, 49,
> ++ 50, 51, 52, 53, 54, 55, 56, 57, 58, 0,
> ++ 29, 60, 61, 62, 0, 63, 0, 468, 469, 470,
> ++ 471, 472, 473, 474, 64, 65, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 475, 172, 0, 0, 0, 0, 75, 0, 0, 42,
> + 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
> +- 53, 54, 55, 56, 57, 58, 0, 29, 60, 61,
> +- 62, 0, 63, 0, 466, 467, 468, 469, 470, 471,
> +- 472, 64, 65, 0, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 473, 172, 0,
> ++ 53, 54, 55, 56, 57, 58, 930, 29, 60, 61,
> ++ 62, 0, 63, 807, 0, 0, 0, 0, 0, 0,
> ++ 0, 64, 65, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 72, 0, 0, 172, 0,
> + 0, 0, 0, 75, 0, 0, 42, 43, 44, 45,
> + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
> +- 56, 57, 58, 927, 29, 60, 61, 62, 0, 63,
> +- 804, 0, 0, 0, 0, 0, 0, 0, 64, 65,
> ++ 56, 57, 58, 930, 29, 60, 61, 62, 0, 63,
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 64, 65,
> + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> + 0, 0, 72, 0, 0, 172, 0, 0, 0, 0,
> + 75, 0, 0, 42, 43, 44, 45, 46, 47, 48,
> + 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
> +- 927, 29, 60, 61, 62, 0, 63, 0, 0, 0,
> ++ 29, 0, 60, 61, 62, 0, 63, 0, 0, 0,
> + 0, 0, 0, 0, 0, 64, 65, 0, 0, 0,
> + 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,
> +- 0, 0, 172, 0, 0, 0, 0, 75, 0, 0,
> +- 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
> +- 52, 53, 54, 55, 56, 57, 58, 29, 0, 60,
> +- 61, 62, 0, 63, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 64, 65, 0, 0, 0, 0, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 72, 0, 172, 0,
> +- 0, 0, 0, 0, 75, 0, 42, 43, 44, 45,
> +- 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
> +- 56, 57, 58, 0, 0, 60, 61, 62, 0, 0,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 64, 65,
> +- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> ++ 0, 172, 0, 0, 0, 0, 29, 75, 0, 42,
> ++ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
> ++ 53, 54, 55, 56, 57, 58, 0, 0, 60, 61,
> ++ 62, 0, 63, 0, 0, 0, 0, 172, 0, 0,
> ++ 0, 64, 65, 0, 0, 42, 43, 44, 45, 46,
> ++ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
> ++ 57, 58, 0, 75, 60, 61, 62, 0, 0, 0,
> ++ 0, 0, 0, 0, 0, 0, 0, 64, 65, 0,
> + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> +- 75
> ++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 75
> + };
> +
> + static const yytype_int16 yycheck[] =
> + {
> +- 13, 14, 15, 3, 345, 18, 19, 20, 21, 22,
> +- 23, 24, 25, 40, 41, 3, 26, 3, 232, 235,
> +- 33, 34, 35, 291, 219, 457, 291, 291, 625, 537,
> +- 293, 299, 537, 34, 299, 299, 304, 12, 449, 304,
> +- 304, 236, 4, 37, 38, 39, 73, 12, 35, 272,
> +- 12, 78, 34, 63, 12, 34, 34, 32, 33, 35,
> +- 409, 410, 411, 412, 768, 34, 66, 32, 33, 35,
> +- 32, 33, 72, 869, 32, 33, 17, 18, 19, 34,
> +- 34, 35, 76, 77, 34, 35, 34, 35, 27, 32,
> +- 33, 32, 33, 32, 33, 733, 36, 34, 35, 34,
> +- 35, 34, 34, 34, 733, 34, 733, 615, 34, 34,
> +- 757, 50, 51, 52, 309, 155, 59, 312, 715, 34,
> +- 59, 152, 36, 36, 920, 36, 36, 167, 34, 706,
> +- 733, 917, 154, 154, 329, 733, 167, 34, 35, 36,
> +- 153, 649, 163, 0, 649, 172, 168, 969, 343, 162,
> +- 31, 152, 91, 421, 733, 34, 421, 421, 97, 733,
> +- 152, 94, 134, 431, 119, 152, 431, 431, 140, 873,
> +- 992, 439, 35, 514, 439, 439, 587, 159, 157, 94,
> +- 123, 159, 157, 154, 32, 33, 152, 76, 157, 975,
> +- 986, 699, 157, 1015, 832, 157, 773, 168, 152, 157,
> +- 847, 1023, 152, 832, 152, 832, 31, 162, 33, 164,
> +- 107, 59, 152, 119, 157, 152, 157, 152, 157, 152,
> +- 152, 152, 222, 152, 234, 733, 152, 152, 733, 832,
> +- 495, 495, 232, 79, 832, 32, 33, 34, 152, 152,
> +- 119, 152, 152, 466, 467, 468, 469, 470, 443, 444,
> +- 473, 34, 956, 832, 477, 268, 1021, 1022, 832, 152,
> +- 152, 94, 59, 155, 968, 606, 607, 64, 65, 167,
> +- 163, 1036, 537, 537, 978, 123, 73, 74, 75, 76,
> ++ 13, 14, 15, 3, 346, 18, 19, 20, 21, 22,
> ++ 23, 24, 25, 40, 41, 3, 26, 3, 294, 235,
> ++ 33, 34, 35, 459, 292, 219, 539, 232, 292, 539,
> ++ 628, 292, 300, 34, 36, 872, 300, 305, 34, 300,
> ++ 4, 305, 236, 451, 305, 34, 73, 272, 12, 771,
> ++ 12, 78, 34, 63, 37, 38, 39, 12, 35, 410,
> ++ 411, 412, 413, 414, 12, 709, 66, 34, 32, 33,
> ++ 32, 33, 72, 17, 18, 19, 34, 32, 33, 32,
> ++ 33, 35, 34, 35, 32, 33, 923, 34, 32, 33,
> ++ 36, 36, 34, 76, 77, 36, 34, 35, 34, 35,
> ++ 34, 35, 34, 35, 153, 618, 59, 760, 34, 34,
> ++ 34, 34, 138, 34, 736, 164, 310, 36, 34, 313,
> ++ 718, 736, 156, 153, 34, 0, 152, 34, 35, 36,
> ++ 920, 31, 776, 972, 155, 169, 330, 119, 168, 652,
> ++ 153, 736, 652, 736, 155, 172, 155, 94, 169, 162,
> ++ 344, 153, 989, 164, 876, 423, 995, 158, 736, 423,
> ++ 169, 27, 423, 736, 160, 433, 32, 33, 956, 433,
> ++ 123, 160, 433, 441, 516, 736, 153, 441, 94, 1018,
> ++ 441, 163, 590, 165, 50, 51, 52, 1026, 978, 702,
> ++ 156, 158, 980, 59, 158, 153, 158, 850, 119, 153,
> ++ 107, 153, 168, 158, 153, 158, 153, 153, 153, 119,
> ++ 158, 153, 153, 835, 158, 153, 35, 153, 1006, 153,
> ++ 835, 153, 222, 736, 234, 91, 736, 153, 153, 153,
> ++ 153, 97, 232, 497, 153, 134, 497, 959, 1024, 1025,
> ++ 835, 140, 835, 468, 469, 470, 471, 472, 4, 971,
> ++ 475, 445, 446, 1039, 479, 268, 12, 835, 153, 981,
> ++ 132, 156, 835, 35, 32, 33, 76, 609, 610, 1004,
> ++ 1005, 143, 34, 35, 835, 539, 32, 33, 539, 12,
> ++ 1014, 1015, 64, 65, 1019, 32, 33, 34, 31, 133,
> ++ 33, 59, 158, 1028, 138, 1029, 138, 139, 142, 32,
> ++ 33, 1036, 329, 79, 1038, 17, 18, 19, 137, 163,
> ++ 1044, 165, 59, 34, 143, 144, 145, 64, 65, 544,
> ++ 32, 33, 835, 154, 155, 835, 73, 74, 75, 76,
> + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
> +- 87, 88, 89, 953, 91, 92, 93, 94, 138, 96,
> +- 162, 328, 164, 132, 34, 1001, 1002, 167, 105, 106,
> +- 27, 151, 109, 110, 143, 32, 33, 977, 12, 542,
> +- 1016, 34, 119, 36, 832, 122, 107, 832, 125, 1025,
> +- 127, 1011, 1012, 50, 51, 52, 4, 1033, 32, 33,
> +- 155, 30, 59, 1003, 12, 138, 1026, 17, 18, 19,
> +- 615, 615, 138, 168, 138, 1035, 34, 35, 955, 138,
> +- 157, 1041, 32, 33, 32, 33, 631, 631, 133, 138,
> +- 74, 75, 76, 138, 91, 79, 35, 142, 163, 152,
> +- 97, 138, 155, 107, 649, 649, 159, 160, 161, 162,
> +- 163, 164, 165, 166, 167, 168, 137, 170, 156, 172,
> +- 173, 138, 143, 144, 145, 156, 601, 602, 603, 604,
> +- 605, 676, 676, 608, 408, 764, 611, 159, 160, 161,
> +- 162, 156, 164, 138, 166, 66, 67, 68, 64, 65,
> +- 135, 136, 426, 138, 699, 699, 32, 33, 34, 34,
> +- 434, 146, 147, 148, 149, 150, 151, 138, 139, 449,
> +- 152, 153, 154, 716, 160, 161, 162, 163, 164, 165,
> +- 76, 449, 489, 449, 156, 733, 153, 154, 733, 733,
> +- 682, 683, 684, 153, 154, 740, 740, 153, 154, 153,
> +- 154, 481, 153, 154, 153, 154, 153, 154, 152, 483,
> +- 153, 154, 486, 153, 154, 153, 154, 152, 498, 153,
> +- 154, 153, 154, 153, 154, 153, 154, 153, 154, 153,
> +- 154, 153, 154, 116, 117, 153, 154, 733, 153, 154,
> +- 153, 154, 156, 746, 747, 153, 154, 959, 742, 153,
> +- 154, 34, 153, 154, 875, 1031, 1032, 878, 798, 799,
> +- 534, 896, 897, 64, 138, 138, 138, 138, 155, 155,
> +- 155, 564, 34, 580, 155, 155, 155, 155, 155, 169,
> +- 162, 34, 65, 34, 832, 155, 155, 832, 832, 155,
> +- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
> +- 83, 84, 85, 86, 87, 88, 89, 587, 155, 92,
> +- 93, 94, 155, 96, 155, 155, 155, 155, 155, 587,
> +- 155, 587, 105, 106, 155, 155, 155, 155, 152, 156,
> +- 155, 874, 155, 626, 627, 628, 832, 155, 155, 155,
> +- 155, 155, 155, 153, 127, 156, 155, 155, 155, 155,
> +- 155, 644, 645, 646, 647, 155, 155, 155, 155, 171,
> +- 96, 107, 36, 36, 36, 34, 34, 34, 648, 107,
> +- 155, 160, 156, 848, 34, 95, 153, 852, 853, 160,
> +- 35, 35, 107, 36, 36, 34, 1007, 694, 152, 158,
> +- 34, 158, 152, 941, 36, 36, 941, 941, 36, 36,
> +- 152, 155, 158, 1024, 153, 698, 154, 141, 153, 156,
> +- 153, 155, 12, 155, 154, 96, 153, 158, 966, 712,
> +- 17, 966, 966, 158, 156, 158, 152, 34, 155, 153,
> +- 153, 126, 18, 155, 155, 910, 152, 156, 169, 153,
> +- 915, 153, 34, 918, 120, 158, 36, 158, 36, 36,
> +- 158, 158, 155, 733, 153, 157, 19, 764, 158, 160,
> +- 152, 152, 742, 71, 169, 152, 34, 152, 166, 158,
> +- 34, 155, 152, 169, 764, 157, 169, 770, 156, 954,
> +- 166, 169, 152, 154, 107, 34, 34, 153, 36, 782,
> +- 783, 153, 785, 786, 787, 788, 789, 790, 791, 792,
> +- 793, 794, 795, 796, 979, 155, 170, 155, 155, 34,
> +- 153, 49, 158, 152, 170, 48, 152, 65, 158, 994,
> +- 37, 152, 997, 158, 158, 73, 74, 75, 76, 77,
> +- 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
> +- 88, 89, 158, 158, 92, 93, 94, 158, 158, 153,
> +- 47, 171, 832, 171, 153, 1, 375, 105, 106, 107,
> +- 108, 381, 384, 699, 624, 649, 369, 115, 116, 117,
> +- 118, 455, 465, 485, 378, 428, 372, 488, 871, 127,
> +- 431, 491, 436, 439, 416, 452, 727, 421, 740, 62,
> +- 3, 459, 731, 672, 32, 33, 34, 388, 307, 675,
> +- 402, 233, 962, 832, 966, 901, 913, 898, 156, 610,
> +- 405, 900, 535, 631, 311, 209, 896, 897, -1, 899,
> +- 900, 59, -1, -1, -1, -1, 64, 65, -1, -1,
> +- -1, 899, -1, -1, -1, 73, 74, 75, 76, 77,
> ++ 87, 88, 89, 34, 91, 92, 93, 94, 34, 96,
> ++ 36, 74, 75, 76, 618, 123, 79, 618, 105, 106,
> ++ 958, 27, 109, 110, 154, 155, 32, 33, 154, 155,
> ++ 634, 168, 119, 634, 168, 122, 154, 155, 125, 94,
> ++ 127, 66, 67, 68, 50, 51, 52, 153, 652, 30,
> ++ 156, 652, 138, 59, 160, 161, 162, 163, 164, 165,
> ++ 166, 167, 168, 169, 107, 171, 138, 173, 174, 138,
> ++ 604, 605, 606, 607, 608, 679, 767, 611, 679, 138,
> ++ 614, 32, 33, 34, 138, 91, 409, 153, 154, 155,
> ++ 35, 97, 160, 161, 162, 163, 138, 165, 702, 167,
> ++ 164, 702, 107, 719, 157, 428, 685, 686, 687, 154,
> ++ 155, 451, 34, 436, 161, 162, 163, 164, 165, 166,
> ++ 154, 155, 138, 451, 491, 451, 154, 155, 736, 138,
> ++ 154, 155, 736, 135, 136, 736, 138, 154, 155, 743,
> ++ 154, 155, 743, 483, 146, 147, 148, 149, 150, 151,
> ++ 152, 154, 155, 154, 155, 154, 155, 154, 155, 157,
> ++ 500, 157, 485, 154, 155, 488, 154, 155, 154, 155,
> ++ 116, 117, 154, 155, 154, 155, 154, 155, 154, 155,
> ++ 736, 154, 155, 76, 749, 750, 962, 154, 155, 801,
> ++ 802, 1034, 1035, 899, 900, 157, 878, 157, 138, 881,
> ++ 745, 153, 138, 153, 138, 138, 64, 156, 156, 156,
> ++ 34, 170, 156, 536, 567, 156, 583, 156, 156, 156,
> ++ 163, 156, 34, 34, 156, 156, 156, 835, 156, 156,
> ++ 156, 835, 156, 156, 835, 156, 156, 156, 156, 156,
> ++ 156, 156, 96, 157, 156, 156, 156, 156, 156, 156,
> ++ 590, 156, 156, 154, 157, 107, 156, 156, 156, 156,
> ++ 156, 877, 590, 36, 590, 156, 156, 156, 156, 153,
> ++ 172, 36, 36, 34, 34, 34, 629, 630, 631, 835,
> ++ 107, 156, 161, 157, 34, 95, 154, 35, 161, 35,
> ++ 107, 36, 36, 34, 647, 648, 649, 650, 153, 159,
> ++ 34, 36, 159, 36, 36, 36, 153, 153, 156, 154,
> ++ 154, 651, 155, 154, 12, 157, 141, 851, 156, 159,
> ++ 156, 855, 856, 155, 159, 159, 159, 157, 1010, 96,
> ++ 697, 154, 153, 17, 154, 154, 944, 34, 156, 170,
> ++ 944, 156, 156, 944, 157, 1027, 153, 126, 701, 154,
> ++ 154, 18, 34, 159, 156, 36, 159, 36, 36, 159,
> ++ 159, 969, 715, 158, 120, 969, 154, 159, 969, 19,
> ++ 161, 153, 153, 170, 167, 71, 153, 34, 153, 913,
> ++ 156, 159, 153, 170, 918, 170, 158, 921, 34, 157,
> ++ 170, 153, 155, 167, 107, 34, 736, 154, 156, 154,
> ++ 767, 171, 156, 156, 153, 745, 34, 154, 159, 49,
> ++ 48, 153, 37, 47, 153, 1, 159, 767, 154, 159,
> ++ 773, 159, 159, 957, 154, 379, 382, 32, 33, 34,
> ++ 159, 159, 785, 786, 159, 788, 789, 790, 791, 792,
> ++ 793, 794, 795, 796, 797, 798, 799, 171, 982, 172,
> ++ 172, 376, 627, 702, 59, 652, 385, 370, 487, 64,
> ++ 65, 461, 457, 997, 454, 430, 1000, 373, 73, 74,
> ++ 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
> ++ 85, 86, 87, 88, 89, 493, 91, 92, 93, 94,
> ++ 467, 96, 730, 734, 62, 835, 490, 743, 3, 441,
> ++ 105, 106, 675, 389, 109, 110, 233, 308, 678, 965,
> ++ 835, 969, 904, 901, 119, 537, 613, 122, 403, 903,
> ++ 125, 874, 127, 406, 634, -1, 418, -1, 312, 209,
> ++ -1, -1, -1, -1, -1, -1, 423, 34, 433, 36,
> ++ -1, -1, -1, -1, 438, -1, -1, -1, -1, 916,
> ++ -1, -1, -1, 158, -1, -1, -1, -1, -1, 899,
> ++ 900, -1, 902, 903, -1, -1, -1, -1, 65, -1,
> ++ -1, -1, -1, -1, 902, -1, 73, 74, 75, 76,
> ++ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
> ++ 87, 88, 89, -1, -1, 92, 93, 94, -1, -1,
> ++ -1, -1, -1, -1, -1, -1, -1, 974, 105, 106,
> ++ 107, 108, -1, -1, -1, -1, -1, -1, 115, 116,
> ++ 117, 118, -1, -1, -1, -1, -1, -1, -1, -1,
> ++ 127, -1, -1, -1, -1, -1, -1, -1, -1, -1,
> ++ -1, -1, -1, -1, -1, -1, -1, -1, -1, 1002,
> ++ -1, -1, 992, -1, 11, 12, -1, -1, -1, 1012,
> ++ 157, -1, -1, -1, -1, -1, 23, -1, -1, 1022,
> ++ 27, -1, -1, -1, -1, 32, 33, 34, -1, 1032,
> ++ -1, 38, 39, 40, 41, 42, 43, 44, 45, 46,
> ++ -1, -1, -1, 50, 51, 52, 53, -1, -1, -1,
> ++ -1, -1, 59, -1, -1, -1, -1, 64, 65, 66,
> ++ 67, 68, 69, 70, -1, 72, 73, 74, 75, 76,
> ++ 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
> ++ 87, 88, 89, 90, 91, 92, 93, 94, -1, 96,
> ++ 97, -1, -1, -1, -1, -1, -1, -1, 105, 106,
> ++ -1, -1, 109, 110, -1, -1, -1, -1, -1, -1,
> ++ -1, -1, 119, 11, 12, 122, -1, 124, 125, -1,
> ++ 127, -1, -1, 130, -1, 23, -1, -1, -1, 27,
> ++ -1, -1, -1, -1, 32, 33, 34, -1, -1, -1,
> ++ 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
> ++ -1, 158, 50, 51, 52, 53, -1, -1, -1, -1,
> ++ 167, 59, -1, -1, -1, -1, 64, 65, 66, 67,
> ++ 68, 69, 70, -1, 72, 73, 74, 75, 76, 77,
> + 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
> +- 88, 89, -1, 91, 92, 93, 94, -1, 96, -1,
> +- -1, -1, -1, -1, 971, -1, -1, 105, 106, -1,
> ++ 88, 89, 90, 91, 92, 93, 94, -1, 96, 97,
> ++ -1, -1, -1, -1, -1, -1, -1, 105, 106, -1,
> + -1, 109, 110, -1, -1, -1, -1, -1, -1, -1,
> +- -1, 119, -1, -1, 122, -1, -1, 125, -1, 127,
> ++ -1, 119, -1, -1, 122, -1, 124, 125, -1, 127,
> ++ -1, 3, 130, 5, 6, 7, 8, 9, 10, 11,
> ++ -1, 13, 14, 15, 16, -1, -1, -1, 20, 21,
> ++ 22, -1, 24, 25, 26, -1, 28, 29, 30, -1,
> ++ 32, 33, 34, -1, -1, -1, -1, -1, -1, 167,
> + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
> +- -1, -1, -1, -1, -1, -1, 999, -1, -1, 989,
> +- -1, 11, 12, -1, -1, -1, 1009, -1, -1, -1,
> +- -1, -1, -1, 23, -1, -1, 1019, 27, -1, -1,
> +- -1, -1, 32, 33, 34, -1, 1029, -1, 38, 39,
> +- 40, 41, 42, 43, 44, 45, 46, -1, -1, -1,
> +- 50, 51, 52, 53, -1, -1, -1, -1, -1, 59,
> +- -1, -1, -1, -1, 64, 65, 66, 67, 68, 69,
> +- 70, -1, 72, 73, 74, 75, 76, 77, 78, 79,
> +- 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
> +- 90, 91, 92, 93, 94, -1, 96, 97, -1, -1,
> +- -1, -1, -1, -1, -1, 105, 106, -1, -1, 109,
> +- 110, -1, -1, -1, -1, -1, -1, -1, -1, 119,
> +- 11, 12, 122, -1, 124, 125, -1, 127, -1, -1,
> +- 130, -1, 23, -1, -1, -1, 27, -1, -1, -1,
> +- -1, 32, 33, 34, -1, -1, -1, 38, 39, 40,
> +- 41, 42, 43, 44, 45, 46, -1, 157, -1, 50,
> +- 51, 52, 53, -1, -1, -1, 166, -1, 59, -1,
> +- -1, -1, -1, 64, 65, 66, 67, 68, 69, 70,
> +- -1, 72, 73, 74, 75, 76, 77, 78, 79, 80,
> +- 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
> +- 91, 92, 93, 94, -1, 96, 97, -1, -1, -1,
> +- -1, -1, -1, -1, 105, 106, -1, -1, 109, 110,
> +- -1, -1, -1, -1, -1, -1, -1, -1, 119, -1,
> +- -1, 122, -1, 124, 125, -1, 127, -1, 3, 130,
> +- 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
> +- 15, 16, -1, -1, -1, 20, 21, 22, -1, 24,
> +- 25, 26, -1, 28, 29, 30, -1, 32, 33, 34,
> +- -1, -1, -1, -1, -1, 166, -1, -1, -1, -1,
> +- -1, -1, -1, -1, -1, -1, -1, -1, -1, 54,
> +- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
> +- 65, -1, -1, -1, -1, -1, -1, -1, 73, 74,
> +- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
> +- 85, 86, 87, 88, 89, -1, 91, 92, 93, 94,
> +- 34, 96, -1, -1, -1, -1, -1, -1, -1, -1,
> +- 105, 106, -1, -1, 109, 110, 111, 112, 113, 114,
> +- -1, -1, -1, -1, 119, -1, -1, 122, -1, -1,
> +- 125, 65, 127, 128, 129, -1, 131, -1, -1, 73,
> ++ -1, -1, 54, 55, 56, 57, 58, 59, 60, 61,
> ++ 62, 63, 64, 65, -1, -1, -1, -1, -1, -1,
> ++ -1, 73, 74, 75, 76, 77, 78, 79, 80, 81,
> ++ 82, 83, 84, 85, 86, 87, 88, 89, -1, 91,
> ++ 92, 93, 94, 34, 96, -1, -1, -1, -1, -1,
> ++ -1, -1, -1, 105, 106, -1, -1, 109, 110, 111,
> ++ 112, 113, 114, -1, -1, -1, -1, 119, -1, -1,
> ++ 122, -1, -1, 125, 65, 127, 128, 129, -1, 131,
> ++ -1, -1, 73, 74, 75, 76, 77, 78, 79, 80,
> ++ 81, 82, 83, 84, 85, 86, 87, 88, 89, -1,
> ++ 34, 92, 93, 94, -1, 96, -1, 98, 99, 100,
> ++ 101, 102, 103, 104, 105, 106, -1, -1, -1, -1,
> ++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
> ++ 121, 65, -1, -1, -1, -1, 127, -1, -1, 73,
> + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
> +- 84, 85, 86, 87, 88, 89, -1, 34, 92, 93,
> +- 94, -1, 96, -1, 98, 99, 100, 101, 102, 103,
> +- 104, 105, 106, -1, -1, -1, -1, -1, -1, -1,
> +- -1, -1, -1, -1, -1, -1, -1, 121, 65, -1,
> ++ 84, 85, 86, 87, 88, 89, 90, 34, 92, 93,
> ++ 94, -1, 96, 97, -1, -1, -1, -1, -1, -1,
> ++ -1, 105, 106, -1, -1, -1, -1, -1, -1, -1,
> ++ -1, -1, -1, -1, -1, 119, -1, -1, 65, -1,
> + -1, -1, -1, 127, -1, -1, 73, 74, 75, 76,
> + 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
> + 87, 88, 89, 90, 34, 92, 93, 94, -1, 96,
> +- 97, -1, -1, -1, -1, -1, -1, -1, 105, 106,
> ++ -1, -1, -1, -1, -1, -1, -1, -1, 105, 106,
> + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
> + -1, -1, 119, -1, -1, 65, -1, -1, -1, -1,
> + 127, -1, -1, 73, 74, 75, 76, 77, 78, 79,
> + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
> +- 90, 34, 92, 93, 94, -1, 96, -1, -1, -1,
> ++ 34, -1, 92, 93, 94, -1, 96, -1, -1, -1,
> + -1, -1, -1, -1, -1, 105, 106, -1, -1, -1,
> + -1, -1, -1, -1, -1, -1, -1, -1, -1, 119,
> +- -1, -1, 65, -1, -1, -1, -1, 127, -1, -1,
> +- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
> +- 83, 84, 85, 86, 87, 88, 89, 34, -1, 92,
> +- 93, 94, -1, 96, -1, -1, -1, -1, -1, -1,
> +- -1, -1, 105, 106, -1, -1, -1, -1, -1, -1,
> +- -1, -1, -1, -1, -1, -1, 119, -1, 65, -1,
> +- -1, -1, -1, -1, 127, -1, 73, 74, 75, 76,
> +- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
> +- 87, 88, 89, -1, -1, 92, 93, 94, -1, -1,
> +- -1, -1, -1, -1, -1, -1, -1, -1, 105, 106,
> +- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
> ++ -1, 65, -1, -1, -1, -1, 34, 127, -1, 73,
> ++ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
> ++ 84, 85, 86, 87, 88, 89, -1, -1, 92, 93,
> ++ 94, -1, 96, -1, -1, -1, -1, 65, -1, -1,
> ++ -1, 105, 106, -1, -1, 73, 74, 75, 76, 77,
> ++ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
> ++ 88, 89, -1, 127, 92, 93, 94, -1, -1, -1,
> ++ -1, -1, -1, -1, -1, -1, -1, 105, 106, -1,
> + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
> +- 127
> ++ -1, -1, -1, -1, -1, -1, -1, -1, -1, 127
> + };
> +
> +-/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
> +- symbol of state STATE-NUM. */
> +-static const yytype_uint16 yystos[] =
> ++/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
> ++ state STATE-NUM. */
> ++static const yytype_int16 yystos[] =
> + {
> +- 0, 175, 176, 177, 0, 176, 3, 5, 6, 7,
> ++ 0, 176, 177, 178, 0, 177, 3, 5, 6, 7,
> + 8, 9, 10, 11, 13, 14, 15, 16, 20, 21,
> + 22, 24, 25, 26, 28, 29, 30, 32, 33, 34,
> + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
> + 64, 65, 73, 74, 75, 76, 77, 78, 79, 80,
> + 81, 82, 83, 84, 85, 86, 87, 88, 89, 91,
> + 92, 93, 94, 96, 105, 106, 109, 110, 111, 112,
> +- 113, 114, 119, 122, 125, 127, 128, 129, 131, 178,
> +- 179, 180, 184, 188, 192, 196, 200, 204, 210, 212,
> +- 218, 222, 226, 230, 234, 238, 239, 243, 247, 251,
> +- 255, 262, 269, 279, 283, 284, 291, 292, 293, 294,
> +- 306, 308, 309, 310, 311, 312, 313, 314, 315, 317,
> +- 318, 328, 332, 335, 351, 352, 353, 357, 358, 361,
> +- 363, 364, 393, 417, 421, 425, 34, 152, 201, 36,
> +- 152, 181, 36, 152, 185, 36, 152, 189, 34, 152,
> +- 193, 34, 152, 197, 31, 333, 334, 333, 333, 333,
> +- 34, 152, 329, 35, 333, 333, 333, 333, 333, 333,
> +- 333, 333, 65, 425, 152, 35, 152, 280, 35, 35,
> +- 152, 285, 333, 333, 333, 34, 35, 152, 270, 277,
> +- 277, 152, 256, 277, 152, 263, 277, 351, 351, 76,
> +- 64, 65, 337, 79, 74, 75, 76, 79, 352, 425,
> +- 421, 34, 231, 223, 34, 152, 227, 36, 152, 240,
> +- 421, 351, 167, 152, 244, 277, 152, 248, 277, 152,
> +- 252, 351, 167, 94, 30, 362, 34, 119, 424, 107,
> +- 138, 151, 202, 203, 138, 182, 183, 138, 186, 187,
> +- 138, 190, 191, 138, 194, 195, 138, 198, 199, 333,
> +- 31, 33, 134, 140, 330, 331, 333, 35, 338, 351,
> +- 163, 398, 235, 138, 139, 281, 282, 138, 286, 287,
> +- 135, 136, 138, 146, 147, 148, 149, 150, 151, 272,
> +- 273, 156, 274, 271, 107, 278, 138, 257, 258, 156,
> +- 259, 138, 264, 265, 156, 266, 365, 359, 34, 339,
> +- 76, 424, 34, 152, 219, 156, 156, 138, 228, 229,
> +- 137, 143, 144, 145, 241, 242, 398, 152, 152, 205,
> +- 421, 426, 138, 245, 246, 138, 249, 250, 138, 253,
> +- 254, 426, 353, 425, 364, 152, 398, 152, 155, 159,
> +- 160, 161, 162, 163, 164, 165, 166, 167, 168, 170,
> +- 172, 173, 394, 162, 164, 423, 155, 155, 153, 154,
> +- 155, 153, 154, 155, 153, 154, 155, 153, 154, 155,
> +- 153, 154, 155, 153, 154, 155, 155, 153, 154, 333,
> +- 34, 399, 400, 211, 34, 159, 236, 237, 339, 155,
> +- 155, 153, 154, 155, 153, 154, 155, 155, 155, 155,
> +- 155, 155, 155, 155, 155, 153, 154, 4, 12, 234,
> +- 238, 275, 276, 319, 323, 278, 155, 153, 154, 234,
> +- 238, 260, 261, 323, 155, 153, 154, 234, 238, 267,
> +- 268, 323, 169, 367, 367, 398, 423, 398, 162, 156,
> +- 220, 34, 232, 233, 34, 224, 225, 155, 153, 154,
> +- 155, 155, 155, 155, 153, 154, 98, 99, 100, 101,
> +- 102, 103, 104, 121, 406, 407, 408, 421, 422, 351,
> +- 398, 154, 168, 155, 153, 154, 155, 153, 154, 155,
> +- 153, 154, 168, 398, 406, 156, 418, 153, 152, 155,
> +- 155, 155, 155, 155, 155, 155, 155, 155, 167, 155,
> +- 168, 171, 155, 155, 152, 96, 34, 36, 381, 107,
> +- 203, 36, 183, 36, 187, 36, 191, 34, 195, 34,
> +- 199, 34, 107, 331, 155, 154, 163, 156, 214, 34,
> +- 95, 153, 160, 35, 116, 117, 354, 282, 35, 287,
> +- 36, 36, 277, 354, 354, 354, 354, 34, 107, 273,
> +- 152, 320, 36, 152, 324, 157, 276, 277, 258, 157,
> +- 261, 277, 265, 157, 268, 66, 67, 68, 368, 369,
> +- 370, 398, 398, 336, 158, 34, 179, 221, 363, 158,
> +- 157, 233, 157, 225, 381, 229, 36, 36, 36, 36,
> +- 242, 339, 339, 339, 339, 339, 152, 152, 339, 153,
> +- 154, 339, 155, 345, 153, 156, 206, 421, 277, 246,
> +- 277, 250, 351, 254, 213, 153, 17, 18, 19, 234,
> +- 238, 419, 420, 158, 421, 155, 155, 406, 34, 36,
> +- 107, 277, 401, 400, 27, 50, 51, 52, 97, 215,
> +- 216, 217, 234, 238, 294, 303, 307, 335, 34, 159,
> +- 339, 141, 321, 322, 132, 143, 325, 326, 333, 158,
> +- 158, 158, 154, 351, 366, 360, 156, 323, 327, 153,
> +- 157, 179, 398, 398, 398, 398, 398, 406, 406, 398,
> +- 96, 395, 408, 398, 152, 346, 349, 350, 123, 207,
> +- 208, 209, 234, 238, 294, 214, 395, 333, 333, 333,
> +- 157, 420, 17, 288, 153, 153, 169, 333, 333, 333,
> +- 333, 421, 157, 216, 34, 155, 153, 154, 155, 155,
> +- 153, 154, 369, 156, 371, 371, 34, 234, 238, 340,
> +- 341, 342, 152, 345, 345, 345, 153, 153, 126, 396,
> +- 351, 160, 161, 162, 163, 164, 165, 347, 159, 160,
> +- 161, 162, 164, 166, 348, 333, 157, 208, 396, 333,
> +- 18, 289, 158, 395, 278, 34, 158, 36, 322, 36,
> +- 36, 326, 11, 23, 34, 38, 39, 40, 41, 42,
> +- 43, 44, 45, 46, 51, 52, 53, 66, 67, 68,
> +- 69, 70, 72, 90, 97, 124, 130, 166, 204, 218,
> +- 234, 238, 294, 295, 296, 297, 298, 299, 300, 301,
> +- 302, 303, 304, 305, 307, 316, 323, 335, 357, 358,
> +- 361, 364, 372, 373, 374, 383, 385, 386, 388, 393,
> +- 409, 412, 414, 415, 417, 158, 158, 155, 344, 157,
> +- 342, 426, 339, 339, 120, 427, 153, 349, 36, 107,
> +- 108, 115, 118, 156, 351, 354, 355, 425, 158, 427,
> +- 333, 19, 290, 396, 160, 152, 333, 333, 152, 333,
> +- 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
> +- 333, 71, 382, 382, 382, 169, 410, 411, 384, 416,
> +- 413, 387, 152, 375, 34, 157, 373, 349, 398, 158,
> +- 153, 398, 398, 152, 155, 397, 157, 152, 397, 333,
> +- 427, 278, 406, 406, 169, 169, 169, 90, 412, 412,
> +- 385, 393, 421, 414, 34, 388, 133, 138, 142, 376,
> +- 377, 156, 378, 152, 154, 343, 398, 351, 428, 107,
> +- 398, 346, 356, 398, 397, 153, 153, 34, 155, 155,
> +- 155, 153, 154, 234, 238, 323, 379, 380, 153, 158,
> +- 153, 154, 170, 391, 153, 154, 391, 398, 395, 427,
> +- 34, 381, 34, 377, 157, 380, 427, 327, 351, 392,
> +- 158, 346, 158, 391, 427, 398, 158, 397, 421, 49,
> +- 404, 327, 158, 398, 170, 389, 398, 152, 333, 48,
> +- 403, 404, 404, 391, 390, 158, 158, 406, 333, 37,
> +- 405, 403, 403, 158, 152, 327, 404, 153, 333, 47,
> +- 402, 405, 405, 327, 406, 404, 403, 171, 333, 402,
> +- 402, 404, 153, 403, 405, 403, 171
> ++ 113, 114, 119, 122, 125, 127, 128, 129, 131, 179,
> ++ 180, 181, 185, 189, 193, 197, 201, 205, 211, 213,
> ++ 219, 223, 227, 231, 235, 239, 240, 244, 248, 252,
> ++ 256, 263, 270, 280, 284, 285, 292, 293, 294, 295,
> ++ 307, 309, 310, 311, 312, 313, 314, 315, 316, 318,
> ++ 319, 329, 333, 336, 352, 353, 354, 358, 359, 362,
> ++ 364, 365, 394, 418, 422, 426, 34, 153, 202, 36,
> ++ 153, 182, 36, 153, 186, 36, 153, 190, 34, 153,
> ++ 194, 34, 153, 198, 31, 334, 335, 334, 334, 334,
> ++ 34, 153, 330, 35, 334, 334, 334, 334, 334, 334,
> ++ 334, 334, 65, 426, 153, 35, 153, 281, 35, 35,
> ++ 153, 286, 334, 334, 334, 34, 35, 153, 271, 278,
> ++ 278, 153, 257, 278, 153, 264, 278, 352, 352, 76,
> ++ 64, 65, 338, 79, 74, 75, 76, 79, 353, 426,
> ++ 422, 34, 232, 224, 34, 153, 228, 36, 153, 241,
> ++ 422, 352, 168, 153, 245, 278, 153, 249, 278, 153,
> ++ 253, 352, 168, 94, 30, 363, 34, 119, 425, 107,
> ++ 138, 152, 203, 204, 138, 183, 184, 138, 187, 188,
> ++ 138, 191, 192, 138, 195, 196, 138, 199, 200, 334,
> ++ 31, 33, 134, 140, 331, 332, 334, 35, 339, 352,
> ++ 164, 399, 236, 138, 139, 282, 283, 138, 287, 288,
> ++ 135, 136, 138, 146, 147, 148, 149, 150, 151, 152,
> ++ 273, 274, 157, 275, 272, 107, 279, 138, 258, 259,
> ++ 157, 260, 138, 265, 266, 157, 267, 366, 360, 34,
> ++ 340, 76, 425, 34, 153, 220, 157, 157, 138, 229,
> ++ 230, 137, 143, 144, 145, 242, 243, 399, 153, 153,
> ++ 206, 422, 427, 138, 246, 247, 138, 250, 251, 138,
> ++ 254, 255, 427, 354, 426, 365, 153, 399, 153, 156,
> ++ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
> ++ 171, 173, 174, 395, 163, 165, 424, 156, 156, 154,
> ++ 155, 156, 154, 155, 156, 154, 155, 156, 154, 155,
> ++ 156, 154, 155, 156, 154, 155, 156, 156, 154, 155,
> ++ 334, 34, 400, 401, 212, 34, 160, 237, 238, 340,
> ++ 156, 156, 154, 155, 156, 154, 155, 156, 156, 156,
> ++ 156, 156, 156, 156, 156, 156, 156, 154, 155, 4,
> ++ 12, 235, 239, 276, 277, 320, 324, 279, 156, 154,
> ++ 155, 235, 239, 261, 262, 324, 156, 154, 155, 235,
> ++ 239, 268, 269, 324, 170, 368, 368, 399, 424, 399,
> ++ 163, 157, 221, 34, 233, 234, 34, 225, 226, 156,
> ++ 154, 155, 156, 156, 156, 156, 154, 155, 98, 99,
> ++ 100, 101, 102, 103, 104, 121, 407, 408, 409, 422,
> ++ 423, 352, 399, 155, 169, 156, 154, 155, 156, 154,
> ++ 155, 156, 154, 155, 169, 399, 407, 157, 419, 154,
> ++ 153, 156, 156, 156, 156, 156, 156, 156, 156, 156,
> ++ 168, 156, 169, 172, 156, 156, 153, 96, 34, 36,
> ++ 382, 107, 204, 36, 184, 36, 188, 36, 192, 34,
> ++ 196, 34, 200, 34, 107, 332, 156, 155, 164, 157,
> ++ 215, 34, 95, 154, 161, 35, 116, 117, 355, 283,
> ++ 35, 288, 36, 36, 278, 355, 355, 355, 355, 355,
> ++ 34, 107, 274, 153, 321, 36, 153, 325, 158, 277,
> ++ 278, 259, 158, 262, 278, 266, 158, 269, 66, 67,
> ++ 68, 369, 370, 371, 399, 399, 337, 159, 34, 180,
> ++ 222, 364, 159, 158, 234, 158, 226, 382, 230, 36,
> ++ 36, 36, 36, 243, 340, 340, 340, 340, 340, 153,
> ++ 153, 340, 154, 155, 340, 156, 346, 154, 157, 207,
> ++ 422, 278, 247, 278, 251, 352, 255, 214, 154, 17,
> ++ 18, 19, 235, 239, 420, 421, 159, 422, 156, 156,
> ++ 407, 34, 36, 107, 278, 402, 401, 27, 50, 51,
> ++ 52, 97, 216, 217, 218, 235, 239, 295, 304, 308,
> ++ 336, 34, 160, 340, 141, 322, 323, 132, 143, 326,
> ++ 327, 334, 159, 159, 159, 155, 352, 367, 361, 157,
> ++ 324, 328, 154, 158, 180, 399, 399, 399, 399, 399,
> ++ 407, 407, 399, 96, 396, 409, 399, 153, 347, 350,
> ++ 351, 123, 208, 209, 210, 235, 239, 295, 215, 396,
> ++ 334, 334, 334, 158, 421, 17, 289, 154, 154, 170,
> ++ 334, 334, 334, 334, 422, 158, 217, 34, 156, 154,
> ++ 155, 156, 156, 154, 155, 370, 157, 372, 372, 34,
> ++ 235, 239, 341, 342, 343, 153, 346, 346, 346, 154,
> ++ 154, 126, 397, 352, 161, 162, 163, 164, 165, 166,
> ++ 348, 160, 161, 162, 163, 165, 167, 349, 334, 158,
> ++ 209, 397, 334, 18, 290, 159, 396, 279, 34, 159,
> ++ 36, 323, 36, 36, 327, 11, 23, 34, 38, 39,
> ++ 40, 41, 42, 43, 44, 45, 46, 51, 52, 53,
> ++ 66, 67, 68, 69, 70, 72, 90, 97, 124, 130,
> ++ 167, 205, 219, 235, 239, 295, 296, 297, 298, 299,
> ++ 300, 301, 302, 303, 304, 305, 306, 308, 317, 324,
> ++ 336, 358, 359, 362, 365, 373, 374, 375, 384, 386,
> ++ 387, 389, 394, 410, 413, 415, 416, 418, 159, 159,
> ++ 156, 345, 158, 343, 427, 340, 340, 120, 428, 154,
> ++ 350, 36, 107, 108, 115, 118, 157, 352, 355, 356,
> ++ 426, 159, 428, 334, 19, 291, 397, 161, 153, 334,
> ++ 334, 153, 334, 334, 334, 334, 334, 334, 334, 334,
> ++ 334, 334, 334, 334, 71, 383, 383, 383, 170, 411,
> ++ 412, 385, 417, 414, 388, 153, 376, 34, 158, 374,
> ++ 350, 399, 159, 154, 399, 399, 153, 156, 398, 158,
> ++ 153, 398, 334, 428, 279, 407, 407, 170, 170, 170,
> ++ 90, 413, 413, 386, 394, 422, 415, 34, 389, 133,
> ++ 138, 142, 377, 378, 157, 379, 153, 155, 344, 399,
> ++ 352, 429, 107, 399, 347, 357, 399, 398, 154, 154,
> ++ 34, 156, 156, 156, 154, 155, 235, 239, 324, 380,
> ++ 381, 154, 159, 154, 155, 171, 392, 154, 155, 392,
> ++ 399, 396, 428, 34, 382, 34, 378, 158, 381, 428,
> ++ 328, 352, 393, 159, 347, 159, 392, 428, 399, 159,
> ++ 398, 422, 49, 405, 328, 159, 399, 171, 390, 399,
> ++ 153, 334, 48, 404, 405, 405, 392, 391, 159, 159,
> ++ 407, 334, 37, 406, 404, 404, 159, 153, 328, 405,
> ++ 154, 334, 47, 403, 406, 406, 328, 407, 405, 404,
> ++ 172, 334, 403, 403, 405, 154, 404, 406, 404, 172
> + };
> +
> +-#define yyerrok (yyerrstatus = 0)
> +-#define yyclearin (yychar = YYEMPTY)
> +-#define YYEMPTY (-2)
> +-#define YYEOF 0
> +-
> +-#define YYACCEPT goto yyacceptlab
> +-#define YYABORT goto yyabortlab
> +-#define YYERROR goto yyerrorlab
> +-
> ++/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */
> ++static const yytype_int16 yyr1[] =
> ++{
> ++ 0, 175, 176, 176, 178, 177, 179, 179, 179, 179,
> ++ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
> ++ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
> ++ 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
> ++ 179, 179, 179, 179, 180, 180, 180, 180, 180, 180,
> ++ 180, 180, 180, 180, 180, 180, 181, 182, 182, 183,
> ++ 183, 184, 185, 186, 186, 187, 187, 188, 189, 190,
> ++ 190, 191, 191, 192, 193, 194, 194, 195, 195, 196,
> ++ 197, 198, 198, 199, 199, 200, 201, 202, 202, 203,
> ++ 203, 204, 204, 205, 206, 206, 207, 208, 208, 209,
> ++ 209, 209, 209, 210, 212, 211, 214, 213, 215, 216,
> ++ 216, 217, 217, 217, 217, 217, 217, 217, 217, 217,
> ++ 218, 220, 219, 221, 221, 222, 222, 224, 223, 225,
> ++ 225, 226, 227, 228, 228, 229, 229, 230, 232, 231,
> ++ 233, 233, 234, 236, 235, 237, 237, 237, 237, 238,
> ++ 238, 239, 240, 241, 241, 241, 242, 242, 243, 243,
> ++ 243, 243, 244, 245, 245, 246, 246, 247, 248, 249,
> ++ 249, 250, 250, 251, 252, 253, 253, 254, 254, 255,
> ++ 256, 257, 257, 258, 258, 259, 260, 260, 261, 261,
> ++ 262, 262, 262, 263, 264, 264, 265, 265, 266, 267,
> ++ 267, 268, 268, 269, 269, 269, 270, 270, 272, 271,
> ++ 271, 273, 273, 274, 274, 274, 274, 274, 274, 274,
> ++ 274, 274, 274, 275, 275, 276, 276, 277, 277, 277,
> ++ 277, 278, 278, 279, 279, 280, 281, 281, 282, 282,
> ++ 283, 283, 284, 285, 286, 286, 287, 287, 288, 289,
> ++ 289, 290, 290, 291, 291, 292, 293, 294, 295, 296,
> ++ 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
> ++ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
> ++ 317, 318, 319, 320, 321, 322, 322, 323, 324, 325,
> ++ 325, 325, 326, 326, 327, 327, 328, 328, 329, 330,
> ++ 330, 331, 331, 332, 332, 333, 334, 335, 335, 337,
> ++ 336, 338, 338, 338, 339, 339, 340, 340, 341, 341,
> ++ 342, 342, 343, 343, 343, 344, 344, 345, 345, 346,
> ++ 346, 347, 347, 348, 348, 348, 348, 348, 348, 349,
> ++ 349, 349, 349, 349, 349, 349, 350, 351, 351, 352,
> ++ 352, 353, 353, 354, 355, 355, 356, 356, 356, 356,
> ++ 356, 356, 356, 356, 356, 357, 357, 357, 358, 358,
> ++ 360, 361, 359, 363, 362, 364, 366, 367, 365, 368,
> ++ 368, 369, 369, 370, 371, 371, 371, 371, 372, 372,
> ++ 373, 373, 373, 374, 374, 374, 374, 374, 374, 374,
> ++ 374, 374, 374, 374, 374, 374, 374, 374, 374, 374,
> ++ 374, 374, 374, 374, 374, 374, 374, 374, 374, 374,
> ++ 374, 374, 374, 374, 374, 374, 374, 374, 375, 376,
> ++ 377, 377, 378, 378, 378, 379, 379, 380, 380, 381,
> ++ 381, 381, 382, 382, 383, 383, 385, 384, 384, 386,
> ++ 388, 387, 387, 389, 390, 391, 390, 392, 393, 392,
> ++ 394, 394, 394, 394, 395, 395, 395, 395, 395, 395,
> ++ 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
> ++ 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
> ++ 395, 395, 395, 396, 396, 397, 397, 398, 398, 399,
> ++ 399, 400, 400, 401, 401, 402, 402, 402, 402, 403,
> ++ 403, 404, 404, 405, 405, 406, 406, 407, 408, 408,
> ++ 408, 409, 409, 409, 409, 409, 409, 409, 409, 409,
> ++ 411, 410, 412, 410, 410, 414, 413, 413, 415, 415,
> ++ 417, 416, 416, 418, 419, 419, 420, 420, 421, 421,
> ++ 421, 421, 421, 422, 422, 423, 424, 424, 425, 425,
> ++ 425, 426, 426, 426, 426, 426, 426, 426, 426, 426,
> ++ 426, 426, 426, 426, 426, 426, 426, 426, 426, 426,
> ++ 426, 426, 426, 426, 426, 426, 426, 426, 426, 426,
> ++ 426, 426, 427, 427, 428, 428, 429, 429, 429
> ++};
> +
> +-/* Like YYERROR except do call yyerror. This remains here temporarily
> +- to ease the transition to the new meaning of YYERROR, for GCC.
> +- Once GCC version 2 has supplanted version 1, this can go. */
> ++/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */
> ++static const yytype_int8 yyr2[] =
> ++{
> ++ 0, 2, 1, 2, 0, 2, 1, 1, 1, 1,
> ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
> ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
> ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
> ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
> ++ 1, 1, 1, 1, 1, 1, 2, 1, 3, 1,
> ++ 3, 3, 2, 1, 3, 1, 3, 3, 2, 1,
> ++ 3, 1, 3, 3, 2, 1, 3, 1, 3, 3,
> ++ 3, 1, 3, 1, 3, 3, 2, 2, 3, 1,
> ++ 3, 3, 3, 5, 0, 3, 4, 1, 2, 1,
> ++ 1, 1, 1, 2, 0, 5, 0, 6, 4, 1,
> ++ 2, 1, 1, 1, 1, 2, 2, 1, 1, 1,
> ++ 14, 0, 5, 0, 3, 1, 2, 0, 5, 1,
> ++ 2, 1, 2, 1, 3, 1, 3, 3, 0, 5,
> ++ 1, 2, 1, 0, 5, 1, 2, 3, 4, 1,
> ++ 3, 1, 3, 0, 1, 3, 1, 3, 3, 3,
> ++ 3, 3, 2, 1, 3, 1, 3, 3, 2, 1,
> ++ 3, 1, 3, 3, 2, 1, 3, 1, 3, 3,
> ++ 3, 1, 3, 1, 3, 3, 0, 4, 1, 2,
> ++ 1, 1, 1, 3, 1, 3, 1, 3, 3, 0,
> ++ 4, 1, 2, 1, 1, 1, 3, 3, 0, 3,
> ++ 3, 1, 3, 3, 3, 3, 3, 3, 3, 3,
> ++ 3, 3, 3, 0, 4, 1, 2, 1, 1, 1,
> ++ 1, 1, 1, 0, 1, 2, 1, 3, 1, 3,
> ++ 3, 3, 2, 2, 1, 3, 1, 3, 3, 0,
> ++ 2, 0, 2, 0, 2, 2, 2, 2, 2, 2,
> ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> ++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
> ++ 2, 2, 2, 2, 3, 1, 3, 3, 3, 0,
> ++ 1, 3, 1, 3, 3, 3, 0, 1, 3, 1,
> ++ 3, 1, 3, 3, 3, 4, 2, 1, 2, 0,
> ++ 9, 0, 1, 1, 0, 1, 0, 1, 0, 1,
> ++ 1, 2, 1, 1, 4, 0, 1, 0, 2, 0,
> ++ 2, 1, 3, 1, 1, 1, 1, 1, 1, 0,
> ++ 1, 1, 1, 1, 1, 1, 3, 0, 3, 2,
> ++ 1, 1, 3, 1, 1, 1, 1, 4, 2, 1,
> ++ 1, 1, 1, 1, 1, 0, 1, 3, 6, 12,
> ++ 0, 0, 8, 0, 3, 4, 0, 0, 8, 0,
> ++ 2, 1, 3, 2, 0, 1, 1, 1, 0, 3,
> ++ 0, 1, 2, 1, 1, 1, 1, 1, 1, 1,
> ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
> ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
> ++ 1, 2, 2, 2, 3, 3, 3, 2, 3, 3,
> ++ 1, 3, 3, 3, 3, 0, 4, 1, 2, 1,
> ++ 1, 1, 1, 1, 0, 1, 0, 3, 1, 11,
> ++ 0, 3, 1, 11, 0, 0, 6, 0, 0, 7,
> ++ 17, 7, 17, 16, 1, 1, 1, 1, 1, 1,
> ++ 1, 1, 2, 2, 2, 2, 2, 2, 2, 2,
> ++ 2, 2, 3, 3, 1, 2, 2, 1, 2, 2,
> ++ 2, 1, 2, 0, 1, 0, 1, 0, 2, 0,
> ++ 3, 1, 3, 1, 3, 1, 5, 1, 1, 0,
> ++ 2, 0, 2, 0, 2, 0, 2, 1, 0, 1,
> ++ 3, 4, 4, 4, 3, 3, 6, 6, 3, 2,
> ++ 0, 3, 0, 3, 1, 0, 3, 1, 1, 1,
> ++ 0, 3, 1, 8, 0, 3, 1, 2, 1, 1,
> ++ 2, 2, 2, 4, 3, 3, 0, 1, 0, 3,
> ++ 2, 1, 4, 2, 2, 1, 1, 2, 1, 1,
> ++ 2, 2, 3, 1, 1, 1, 2, 2, 1, 1,
> ++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
> ++ 1, 1, 1, 3, 0, 4, 0, 1, 3
> ++};
> +
> +-#define YYFAIL goto yyerrlab
> +
> +-#define YYRECOVERING() (!!yyerrstatus)
> ++enum { YYENOMEM = -2 };
> +
> +-#define YYBACKUP(Token, Value) \
> +-do \
> +- if (yychar == YYEMPTY && yylen == 1) \
> +- { \
> +- yychar = (Token); \
> +- yylval = (Value); \
> +- yytoken = YYTRANSLATE (yychar); \
> +- YYPOPSTACK (1); \
> +- goto yybackup; \
> +- } \
> +- else \
> +- { \
> +- yyerror (YY_("syntax error: cannot back up")); \
> +- YYERROR; \
> +- } \
> +-while (YYID (0))
> +-
> +-
> +-#define YYTERROR 1
> +-#define YYERRCODE 256
> +-
> +-
> +-/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
> +- If N is 0, then set CURRENT to the empty location which ends
> +- the previous symbol: RHS[0] (always defined). */
> +-
> +-#define YYRHSLOC(Rhs, K) ((Rhs)[K])
> +-#ifndef YYLLOC_DEFAULT
> +-# define YYLLOC_DEFAULT(Current, Rhs, N) \
> +- do \
> +- if (YYID (N)) \
> +- { \
> +- (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
> +- (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
> +- (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
> +- (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
> +- } \
> +- else \
> +- { \
> +- (Current).first_line = (Current).last_line = \
> +- YYRHSLOC (Rhs, 0).last_line; \
> +- (Current).first_column = (Current).last_column = \
> +- YYRHSLOC (Rhs, 0).last_column; \
> +- } \
> +- while (YYID (0))
> +-#endif
> ++#define yyerrok (yyerrstatus = 0)
> ++#define yyclearin (yychar = YYEMPTY)
> +
> ++#define YYACCEPT goto yyacceptlab
> ++#define YYABORT goto yyabortlab
> ++#define YYERROR goto yyerrorlab
> ++#define YYNOMEM goto yyexhaustedlab
> +
> +-/* YY_LOCATION_PRINT -- Print the location on the stream.
> +- This macro was not mandated originally: define only if we know
> +- we won't break user code: when these are the locations we know. */
> +-
> +-#ifndef YY_LOCATION_PRINT
> +-# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
> +-# define YY_LOCATION_PRINT(File, Loc) \
> +- fprintf (File, "%d.%d-%d.%d", \
> +- (Loc).first_line, (Loc).first_column, \
> +- (Loc).last_line, (Loc).last_column)
> +-# else
> +-# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
> +-# endif
> +-#endif
> +
> ++#define YYRECOVERING() (!!yyerrstatus)
> +
> +-/* YYLEX -- calling `yylex' with the right arguments. */
> ++#define YYBACKUP(Token, Value) \
> ++ do \
> ++ if (yychar == YYEMPTY) \
> ++ { \
> ++ yychar = (Token); \
> ++ yylval = (Value); \
> ++ YYPOPSTACK (yylen); \
> ++ yystate = *yyssp; \
> ++ goto yybackup; \
> ++ } \
> ++ else \
> ++ { \
> ++ yyerror (YY_("syntax error: cannot back up")); \
> ++ YYERROR; \
> ++ } \
> ++ while (0)
> ++
> ++/* Backward compatibility with an undocumented macro.
> ++ Use YYerror or YYUNDEF. */
> ++#define YYERRCODE YYUNDEF
> +
> +-#ifdef YYLEX_PARAM
> +-# define YYLEX yylex (YYLEX_PARAM)
> +-#else
> +-# define YYLEX yylex ()
> +-#endif
> +
> + /* Enable debugging if requested. */
> + #if YYDEBUG
> +@@ -2321,80 +2213,58 @@ while (YYID (0))
> + # define YYFPRINTF fprintf
> + # endif
> +
> +-# define YYDPRINTF(Args) \
> +-do { \
> +- if (yydebug) \
> +- YYFPRINTF Args; \
> +-} while (YYID (0))
> +-
> +-# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
> +-do { \
> +- if (yydebug) \
> +- { \
> +- YYFPRINTF (stderr, "%s ", Title); \
> +- yy_symbol_print (stderr, \
> +- Type, Value); \
> +- YYFPRINTF (stderr, "\n"); \
> +- } \
> +-} while (YYID (0))
> +-
> +-
> +-/*--------------------------------.
> +-| Print this symbol on YYOUTPUT. |
> +-`--------------------------------*/
> +-
> +-/*ARGSUSED*/
> +-#if (defined __STDC__ || defined __C99__FUNC__ \
> +- || defined __cplusplus || defined _MSC_VER)
> +-static void
> +-yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
> +-#else
> ++# define YYDPRINTF(Args) \
> ++do { \
> ++ if (yydebug) \
> ++ YYFPRINTF Args; \
> ++} while (0)
> ++
> ++
> ++
> ++
> ++# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
> ++do { \
> ++ if (yydebug) \
> ++ { \
> ++ YYFPRINTF (stderr, "%s ", Title); \
> ++ yy_symbol_print (stderr, \
> ++ Kind, Value); \
> ++ YYFPRINTF (stderr, "\n"); \
> ++ } \
> ++} while (0)
> ++
> ++
> ++/*-----------------------------------.
> ++| Print this symbol's value on YYO. |
> ++`-----------------------------------*/
> ++
> + static void
> +-yy_symbol_value_print (yyoutput, yytype, yyvaluep)
> +- FILE *yyoutput;
> +- int yytype;
> +- YYSTYPE const * const yyvaluep;
> +-#endif
> ++yy_symbol_value_print (FILE *yyo,
> ++ yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
> + {
> ++ FILE *yyoutput = yyo;
> ++ YY_USE (yyoutput);
> + if (!yyvaluep)
> + return;
> +-# ifdef YYPRINT
> +- if (yytype < YYNTOKENS)
> +- YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
> +-# else
> +- YYUSE (yyoutput);
> +-# endif
> +- switch (yytype)
> +- {
> +- default:
> +- break;
> +- }
> ++ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
> ++ YY_USE (yykind);
> ++ YY_IGNORE_MAYBE_UNINITIALIZED_END
> + }
> +
> +
> +-/*--------------------------------.
> +-| Print this symbol on YYOUTPUT. |
> +-`--------------------------------*/
> ++/*---------------------------.
> ++| Print this symbol on YYO. |
> ++`---------------------------*/
> +
> +-#if (defined __STDC__ || defined __C99__FUNC__ \
> +- || defined __cplusplus || defined _MSC_VER)
> +-static void
> +-yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
> +-#else
> + static void
> +-yy_symbol_print (yyoutput, yytype, yyvaluep)
> +- FILE *yyoutput;
> +- int yytype;
> +- YYSTYPE const * const yyvaluep;
> +-#endif
> ++yy_symbol_print (FILE *yyo,
> ++ yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep)
> + {
> +- if (yytype < YYNTOKENS)
> +- YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
> +- else
> +- YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
> ++ YYFPRINTF (yyo, "%s %s (",
> ++ yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
> +
> +- yy_symbol_value_print (yyoutput, yytype, yyvaluep);
> +- YYFPRINTF (yyoutput, ")");
> ++ yy_symbol_value_print (yyo, yykind, yyvaluep);
> ++ YYFPRINTF (yyo, ")");
> + }
> +
> + /*------------------------------------------------------------------.
> +@@ -2402,80 +2272,68 @@ yy_symbol_print (yyoutput, yytype, yyval
> + | TOP (included). |
> + `------------------------------------------------------------------*/
> +
> +-#if (defined __STDC__ || defined __C99__FUNC__ \
> +- || defined __cplusplus || defined _MSC_VER)
> +-static void
> +-yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
> +-#else
> + static void
> +-yy_stack_print (bottom, top)
> +- yytype_int16 *bottom;
> +- yytype_int16 *top;
> +-#endif
> ++yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
> + {
> + YYFPRINTF (stderr, "Stack now");
> +- for (; bottom <= top; ++bottom)
> +- YYFPRINTF (stderr, " %d", *bottom);
> ++ for (; yybottom <= yytop; yybottom++)
> ++ {
> ++ int yybot = *yybottom;
> ++ YYFPRINTF (stderr, " %d", yybot);
> ++ }
> + YYFPRINTF (stderr, "\n");
> + }
> +
> +-# define YY_STACK_PRINT(Bottom, Top) \
> +-do { \
> +- if (yydebug) \
> +- yy_stack_print ((Bottom), (Top)); \
> +-} while (YYID (0))
> ++# define YY_STACK_PRINT(Bottom, Top) \
> ++do { \
> ++ if (yydebug) \
> ++ yy_stack_print ((Bottom), (Top)); \
> ++} while (0)
> +
> +
> + /*------------------------------------------------.
> + | Report that the YYRULE is going to be reduced. |
> + `------------------------------------------------*/
> +
> +-#if (defined __STDC__ || defined __C99__FUNC__ \
> +- || defined __cplusplus || defined _MSC_VER)
> + static void
> +-yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
> +-#else
> +-static void
> +-yy_reduce_print (yyvsp, yyrule)
> +- YYSTYPE *yyvsp;
> +- int yyrule;
> +-#endif
> ++yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp,
> ++ int yyrule)
> + {
> ++ int yylno = yyrline[yyrule];
> + int yynrhs = yyr2[yyrule];
> + int yyi;
> +- unsigned long int yylno = yyrline[yyrule];
> +- YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
> +- yyrule - 1, yylno);
> ++ YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
> ++ yyrule - 1, yylno);
> + /* The symbols being reduced. */
> + for (yyi = 0; yyi < yynrhs; yyi++)
> + {
> +- fprintf (stderr, " $%d = ", yyi + 1);
> +- yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
> +- &(yyvsp[(yyi + 1) - (yynrhs)])
> +- );
> +- fprintf (stderr, "\n");
> ++ YYFPRINTF (stderr, " $%d = ", yyi + 1);
> ++ yy_symbol_print (stderr,
> ++ YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
> ++ &yyvsp[(yyi + 1) - (yynrhs)]);
> ++ YYFPRINTF (stderr, "\n");
> + }
> + }
> +
> +-# define YY_REDUCE_PRINT(Rule) \
> +-do { \
> +- if (yydebug) \
> +- yy_reduce_print (yyvsp, Rule); \
> +-} while (YYID (0))
> ++# define YY_REDUCE_PRINT(Rule) \
> ++do { \
> ++ if (yydebug) \
> ++ yy_reduce_print (yyssp, yyvsp, Rule); \
> ++} while (0)
> +
> + /* Nonzero means print parse trace. It is left uninitialized so that
> + multiple parsers can coexist. */
> + int yydebug;
> + #else /* !YYDEBUG */
> +-# define YYDPRINTF(Args)
> +-# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
> ++# define YYDPRINTF(Args) ((void) 0)
> ++# define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
> + # define YY_STACK_PRINT(Bottom, Top)
> + # define YY_REDUCE_PRINT(Rule)
> + #endif /* !YYDEBUG */
> +
> +
> + /* YYINITDEPTH -- initial size of the parser's stacks. */
> +-#ifndef YYINITDEPTH
> ++#ifndef YYINITDEPTH
> + # define YYINITDEPTH 200
> + #endif
> +
> +@@ -2490,478 +2348,219 @@ int yydebug;
> + # define YYMAXDEPTH 10000
> + #endif
> +
> +-\f
> +
> +-#if YYERROR_VERBOSE
> +
> +-# ifndef yystrlen
> +-# if defined __GLIBC__ && defined _STRING_H
> +-# define yystrlen strlen
> +-# else
> +-/* Return the length of YYSTR. */
> +-#if (defined __STDC__ || defined __C99__FUNC__ \
> +- || defined __cplusplus || defined _MSC_VER)
> +-static YYSIZE_T
> +-yystrlen (const char *yystr)
> +-#else
> +-static YYSIZE_T
> +-yystrlen (yystr)
> +- const char *yystr;
> +-#endif
> +-{
> +- YYSIZE_T yylen;
> +- for (yylen = 0; yystr[yylen]; yylen++)
> +- continue;
> +- return yylen;
> +-}
> +-# endif
> +-# endif
> +
> +-# ifndef yystpcpy
> +-# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
> +-# define yystpcpy stpcpy
> +-# else
> +-/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
> +- YYDEST. */
> +-#if (defined __STDC__ || defined __C99__FUNC__ \
> +- || defined __cplusplus || defined _MSC_VER)
> +-static char *
> +-yystpcpy (char *yydest, const char *yysrc)
> +-#else
> +-static char *
> +-yystpcpy (yydest, yysrc)
> +- char *yydest;
> +- const char *yysrc;
> +-#endif
> +-{
> +- char *yyd = yydest;
> +- const char *yys = yysrc;
> +
> +- while ((*yyd++ = *yys++) != '\0')
> +- continue;
> +-
> +- return yyd - 1;
> +-}
> +-# endif
> +-# endif
> +-
> +-# ifndef yytnamerr
> +-/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
> +- quotes and backslashes, so that it's suitable for yyerror. The
> +- heuristic is that double-quoting is unnecessary unless the string
> +- contains an apostrophe, a comma, or backslash (other than
> +- backslash-backslash). YYSTR is taken from yytname. If YYRES is
> +- null, do not copy; instead, return the length of what the result
> +- would have been. */
> +-static YYSIZE_T
> +-yytnamerr (char *yyres, const char *yystr)
> +-{
> +- if (*yystr == '"')
> +- {
> +- YYSIZE_T yyn = 0;
> +- char const *yyp = yystr;
> +-
> +- for (;;)
> +- switch (*++yyp)
> +- {
> +- case '\'':
> +- case ',':
> +- goto do_not_strip_quotes;
> +-
> +- case '\\':
> +- if (*++yyp != '\\')
> +- goto do_not_strip_quotes;
> +- /* Fall through. */
> +- default:
> +- if (yyres)
> +- yyres[yyn] = *yyp;
> +- yyn++;
> +- break;
> +-
> +- case '"':
> +- if (yyres)
> +- yyres[yyn] = '\0';
> +- return yyn;
> +- }
> +- do_not_strip_quotes: ;
> +- }
> +-
> +- if (! yyres)
> +- return yystrlen (yystr);
> +-
> +- return yystpcpy (yyres, yystr) - yyres;
> +-}
> +-# endif
> +-
> +-/* Copy into YYRESULT an error message about the unexpected token
> +- YYCHAR while in state YYSTATE. Return the number of bytes copied,
> +- including the terminating null byte. If 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 YYSIZE_MAXIMUM if overflow occurs during
> +- size calculation. */
> +-static YYSIZE_T
> +-yysyntax_error (char *yyresult, int yystate, int yychar)
> +-{
> +- int yyn = yypact[yystate];
> +-
> +- if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
> +- return 0;
> +- else
> +- {
> +- int yytype = YYTRANSLATE (yychar);
> +- YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
> +- YYSIZE_T yysize = yysize0;
> +- YYSIZE_T yysize1;
> +- int yysize_overflow = 0;
> +- enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
> +- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
> +- int yyx;
> +-
> +-# if 0
> +- /* This is so xgettext sees the translatable formats that are
> +- constructed on the fly. */
> +- YY_("syntax error, unexpected %s");
> +- YY_("syntax error, unexpected %s, expecting %s");
> +- YY_("syntax error, unexpected %s, expecting %s or %s");
> +- YY_("syntax error, unexpected %s, expecting %s or %s or %s");
> +- YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
> +-# endif
> +- char *yyfmt;
> +- char const *yyf;
> +- static char const yyunexpected[] = "syntax error, unexpected %s";
> +- static char const yyexpecting[] = ", expecting %s";
> +- static char const yyor[] = " or %s";
> +- char yyformat[sizeof yyunexpected
> +- + sizeof yyexpecting - 1
> +- + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
> +- * (sizeof yyor - 1))];
> +- char const *yyprefix = yyexpecting;
> +-
> +- /* Start YYX at -YYN if negative to avoid negative indexes in
> +- YYCHECK. */
> +- int yyxbegin = yyn < 0 ? -yyn : 0;
> +-
> +- /* Stay within bounds of both yycheck and yytname. */
> +- int yychecklim = YYLAST - yyn + 1;
> +- int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
> +- int yycount = 1;
> +-
> +- yyarg[0] = yytname[yytype];
> +- yyfmt = yystpcpy (yyformat, yyunexpected);
> +-
> +- for (yyx = yyxbegin; yyx < yyxend; ++yyx)
> +- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
> +- {
> +- if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
> +- {
> +- yycount = 1;
> +- yysize = yysize0;
> +- yyformat[sizeof yyunexpected - 1] = '\0';
> +- break;
> +- }
> +- yyarg[yycount++] = yytname[yyx];
> +- yysize1 = yysize + yytnamerr (0, yytname[yyx]);
> +- yysize_overflow |= (yysize1 < yysize);
> +- yysize = yysize1;
> +- yyfmt = yystpcpy (yyfmt, yyprefix);
> +- yyprefix = yyor;
> +- }
> +-
> +- yyf = YY_(yyformat);
> +- yysize1 = yysize + yystrlen (yyf);
> +- yysize_overflow |= (yysize1 < yysize);
> +- yysize = yysize1;
> +-
> +- if (yysize_overflow)
> +- return YYSIZE_MAXIMUM;
> +-
> +- if (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 *yyp = yyresult;
> +- int yyi = 0;
> +- while ((*yyp = *yyf) != '\0')
> +- {
> +- if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
> +- {
> +- yyp += yytnamerr (yyp, yyarg[yyi++]);
> +- yyf += 2;
> +- }
> +- else
> +- {
> +- yyp++;
> +- yyf++;
> +- }
> +- }
> +- }
> +- return yysize;
> +- }
> +-}
> +-#endif /* YYERROR_VERBOSE */
> +-\f
> +
> + /*-----------------------------------------------.
> + | Release the memory associated to this symbol. |
> + `-----------------------------------------------*/
> +
> +-/*ARGSUSED*/
> +-#if (defined __STDC__ || defined __C99__FUNC__ \
> +- || defined __cplusplus || defined _MSC_VER)
> +-static void
> +-yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
> +-#else
> + static void
> +-yydestruct (yymsg, yytype, yyvaluep)
> +- const char *yymsg;
> +- int yytype;
> +- YYSTYPE *yyvaluep;
> +-#endif
> ++yydestruct (const char *yymsg,
> ++ yysymbol_kind_t yykind, YYSTYPE *yyvaluep)
> + {
> +- YYUSE (yyvaluep);
> +-
> ++ YY_USE (yyvaluep);
> + if (!yymsg)
> + yymsg = "Deleting";
> +- YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
> +-
> +- switch (yytype)
> +- {
> ++ YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
> +
> +- default:
> +- break;
> +- }
> ++ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
> ++ YY_USE (yykind);
> ++ YY_IGNORE_MAYBE_UNINITIALIZED_END
> + }
> +-\f
> +-
> +-/* Prevent warnings from -Wmissing-prototypes. */
> +-
> +-#ifdef YYPARSE_PARAM
> +-#if defined __STDC__ || defined __cplusplus
> +-int yyparse (void *YYPARSE_PARAM);
> +-#else
> +-int yyparse ();
> +-#endif
> +-#else /* ! YYPARSE_PARAM */
> +-#if defined __STDC__ || defined __cplusplus
> +-int yyparse (void);
> +-#else
> +-int yyparse ();
> +-#endif
> +-#endif /* ! YYPARSE_PARAM */
> +-
> +
> +
> +-/* The look-ahead symbol. */
> ++/* Lookahead token kind. */
> + int yychar;
> +
> +-/* The semantic value of the look-ahead symbol. */
> ++/* The semantic value of the lookahead symbol. */
> + YYSTYPE yylval;
> +-
> + /* Number of syntax errors so far. */
> + int yynerrs;
> +
> +
> +
> ++
> + /*----------.
> + | yyparse. |
> + `----------*/
> +
> +-#ifdef YYPARSE_PARAM
> +-#if (defined __STDC__ || defined __C99__FUNC__ \
> +- || defined __cplusplus || defined _MSC_VER)
> +-int
> +-yyparse (void *YYPARSE_PARAM)
> +-#else
> +-int
> +-yyparse (YYPARSE_PARAM)
> +- void *YYPARSE_PARAM;
> +-#endif
> +-#else /* ! YYPARSE_PARAM */
> +-#if (defined __STDC__ || defined __C99__FUNC__ \
> +- || defined __cplusplus || defined _MSC_VER)
> + int
> + yyparse (void)
> +-#else
> +-int
> +-yyparse ()
> +-
> +-#endif
> +-#endif
> + {
> +-
> +- int yystate;
> ++ yy_state_fast_t yystate = 0;
> ++ /* Number of tokens to shift before error messages enabled. */
> ++ int yyerrstatus = 0;
> ++
> ++ /* Refer to the stacks through separate pointers, to allow yyoverflow
> ++ to reallocate them elsewhere. */
> ++
> ++ /* Their size. */
> ++ YYPTRDIFF_T yystacksize = YYINITDEPTH;
> ++
> ++ /* The state stack: array, bottom, top. */
> ++ yy_state_t yyssa[YYINITDEPTH];
> ++ yy_state_t *yyss = yyssa;
> ++ yy_state_t *yyssp = yyss;
> ++
> ++ /* The semantic value stack: array, bottom, top. */
> ++ YYSTYPE yyvsa[YYINITDEPTH];
> ++ YYSTYPE *yyvs = yyvsa;
> ++ YYSTYPE *yyvsp = yyvs;
> ++
> + int yyn;
> ++ /* The return value of yyparse. */
> + int yyresult;
> +- /* Number of tokens to shift before error messages enabled. */
> +- int yyerrstatus;
> +- /* Look-ahead token as an internal (translated) token number. */
> +- int yytoken = 0;
> +-#if YYERROR_VERBOSE
> +- /* Buffer for error messages, and its allocated size. */
> +- char yymsgbuf[128];
> +- char *yymsg = yymsgbuf;
> +- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
> +-#endif
> +-
> +- /* Three stacks and their tools:
> +- `yyss': related to states,
> +- `yyvs': related to semantic values,
> +- `yyls': related to locations.
> +-
> +- Refer to the stacks thru separate pointers, to allow yyoverflow
> +- to reallocate them elsewhere. */
> +-
> +- /* The state stack. */
> +- yytype_int16 yyssa[YYINITDEPTH];
> +- yytype_int16 *yyss = yyssa;
> +- yytype_int16 *yyssp;
> +-
> +- /* The semantic value stack. */
> +- YYSTYPE yyvsa[YYINITDEPTH];
> +- YYSTYPE *yyvs = yyvsa;
> +- YYSTYPE *yyvsp;
> +-
> +-
> +-
> +-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
> +-
> +- YYSIZE_T yystacksize = YYINITDEPTH;
> +-
> ++ /* Lookahead symbol kind. */
> ++ yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
> + /* The variables used to return semantic value and location from the
> + action routines. */
> + YYSTYPE yyval;
> +
> +
> ++
> ++#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
> ++
> + /* The number of symbols on the RHS of the reduced rule.
> + Keep to zero when no symbol should be popped. */
> + int yylen = 0;
> +
> + YYDPRINTF ((stderr, "Starting parse\n"));
> +
> +- yystate = 0;
> +- yyerrstatus = 0;
> +- yynerrs = 0;
> +- yychar = YYEMPTY; /* Cause a token to be read. */
> +-
> +- /* Initialize stack pointers.
> +- Waste one element of value and location stack
> +- so that they stay on the same level as the state stack.
> +- The wasted elements are never initialized. */
> +-
> +- yyssp = yyss;
> +- yyvsp = yyvs;
> ++ yychar = YYEMPTY; /* Cause a token to be read. */
> +
> + goto yysetstate;
> +
> ++
> + /*------------------------------------------------------------.
> +-| yynewstate -- Push a new state, which is found in yystate. |
> ++| yynewstate -- push a new state, which is found in yystate. |
> + `------------------------------------------------------------*/
> +- yynewstate:
> ++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. */
> + yyssp++;
> +
> +- yysetstate:
> +- *yyssp = yystate;
> ++
> ++/*--------------------------------------------------------------------.
> ++| yysetstate -- set current state (the top of the stack) to yystate. |
> ++`--------------------------------------------------------------------*/
> ++yysetstate:
> ++ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
> ++ YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
> ++ YY_IGNORE_USELESS_CAST_BEGIN
> ++ *yyssp = YY_CAST (yy_state_t, yystate);
> ++ YY_IGNORE_USELESS_CAST_END
> ++ YY_STACK_PRINT (yyss, yyssp);
> +
> + if (yyss + yystacksize - 1 <= yyssp)
> ++#if !defined yyoverflow && !defined YYSTACK_RELOCATE
> ++ YYNOMEM;
> ++#else
> + {
> + /* Get the current used size of the three stacks, in elements. */
> +- YYSIZE_T yysize = yyssp - yyss + 1;
> ++ YYPTRDIFF_T yysize = yyssp - yyss + 1;
> +
> +-#ifdef yyoverflow
> ++# if defined yyoverflow
> + {
> +- /* Give user a chance to reallocate the stack. Use copies of
> +- these so that the &'s don't force the real ones into
> +- memory. */
> +- YYSTYPE *yyvs1 = yyvs;
> +- yytype_int16 *yyss1 = 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 yyoverflow is a macro. */
> +- yyoverflow (YY_("memory exhausted"),
> +- &yyss1, yysize * sizeof (*yyssp),
> +- &yyvs1, yysize * sizeof (*yyvsp),
> +-
> +- &yystacksize);
> +-
> +- yyss = yyss1;
> +- yyvs = yyvs1;
> ++ /* Give user a chance to reallocate the stack. Use copies of
> ++ these so that the &'s don't force the real ones into
> ++ memory. */
> ++ yy_state_t *yyss1 = yyss;
> ++ YYSTYPE *yyvs1 = yyvs;
> ++
> ++ /* 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 yyoverflow is a macro. */
> ++ yyoverflow (YY_("memory exhausted"),
> ++ &yyss1, yysize * YYSIZEOF (*yyssp),
> ++ &yyvs1, yysize * YYSIZEOF (*yyvsp),
> ++ &yystacksize);
> ++ yyss = yyss1;
> ++ yyvs = yyvs1;
> + }
> +-#else /* no yyoverflow */
> +-# ifndef YYSTACK_RELOCATE
> +- goto yyexhaustedlab;
> +-# else
> ++# else /* defined YYSTACK_RELOCATE */
> + /* Extend the stack our own way. */
> + if (YYMAXDEPTH <= yystacksize)
> +- goto yyexhaustedlab;
> ++ YYNOMEM;
> + yystacksize *= 2;
> + if (YYMAXDEPTH < yystacksize)
> +- yystacksize = YYMAXDEPTH;
> ++ yystacksize = YYMAXDEPTH;
> +
> + {
> +- yytype_int16 *yyss1 = yyss;
> +- union yyalloc *yyptr =
> +- (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
> +- if (! yyptr)
> +- goto yyexhaustedlab;
> +- YYSTACK_RELOCATE (yyss);
> +- YYSTACK_RELOCATE (yyvs);
> +-
> ++ yy_state_t *yyss1 = yyss;
> ++ union yyalloc *yyptr =
> ++ YY_CAST (union yyalloc *,
> ++ YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
> ++ if (! yyptr)
> ++ YYNOMEM;
> ++ YYSTACK_RELOCATE (yyss_alloc, yyss);
> ++ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
> + # undef YYSTACK_RELOCATE
> +- if (yyss1 != yyssa)
> +- YYSTACK_FREE (yyss1);
> ++ if (yyss1 != yyssa)
> ++ YYSTACK_FREE (yyss1);
> + }
> + # endif
> +-#endif /* no yyoverflow */
> +
> + yyssp = yyss + yysize - 1;
> + yyvsp = yyvs + yysize - 1;
> +
> +-
> +- YYDPRINTF ((stderr, "Stack size increased to %lu\n",
> +- (unsigned long int) yystacksize));
> ++ YY_IGNORE_USELESS_CAST_BEGIN
> ++ YYDPRINTF ((stderr, "Stack size increased to %ld\n",
> ++ YY_CAST (long, yystacksize)));
> ++ YY_IGNORE_USELESS_CAST_END
> +
> + if (yyss + yystacksize - 1 <= yyssp)
> +- YYABORT;
> ++ YYABORT;
> + }
> ++#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
> +
> +- YYDPRINTF ((stderr, "Entering state %d\n", yystate));
> ++
> ++ if (yystate == YYFINAL)
> ++ YYACCEPT;
> +
> + goto yybackup;
> +
> ++
> + /*-----------.
> + | yybackup. |
> + `-----------*/
> + yybackup:
> +-
> + /* Do appropriate processing given the current state. Read a
> +- look-ahead token if we need one and don't already have one. */
> ++ lookahead token if we need one and don't already have one. */
> +
> +- /* First try to decide what to do without reference to look-ahead token. */
> ++ /* First try to decide what to do without reference to lookahead token. */
> + yyn = yypact[yystate];
> +- if (yyn == YYPACT_NINF)
> ++ if (yypact_value_is_default (yyn))
> + goto yydefault;
> +
> +- /* Not known => get a look-ahead token if don't already have one. */
> ++ /* Not known => get a lookahead token if don't already have one. */
> +
> +- /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
> ++ /* YYCHAR is either empty, or end-of-input, or a valid lookahead. */
> + if (yychar == YYEMPTY)
> + {
> +- YYDPRINTF ((stderr, "Reading a token: "));
> +- yychar = YYLEX;
> ++ YYDPRINTF ((stderr, "Reading a token\n"));
> ++ yychar = yylex ();
> + }
> +
> + if (yychar <= YYEOF)
> + {
> +- yychar = yytoken = YYEOF;
> ++ yychar = YYEOF;
> ++ yytoken = YYSYMBOL_YYEOF;
> + YYDPRINTF ((stderr, "Now at end of input.\n"));
> + }
> ++ else if (yychar == YYerror)
> ++ {
> ++ /* The scanner already issued an error message, process directly
> ++ to error recovery. But do not keep the error token as
> ++ lookahead, it is too special and may lead us to an endless
> ++ loop in error recovery. */
> ++ yychar = YYUNDEF;
> ++ yytoken = YYSYMBOL_YYerror;
> ++ goto yyerrlab1;
> ++ }
> + else
> + {
> + yytoken = YYTRANSLATE (yychar);
> +@@ -2976,30 +2575,26 @@ yybackup:
> + yyn = yytable[yyn];
> + if (yyn <= 0)
> + {
> +- if (yyn == 0 || yyn == YYTABLE_NINF)
> +- goto yyerrlab;
> ++ if (yytable_value_is_error (yyn))
> ++ goto yyerrlab;
> + yyn = -yyn;
> + goto yyreduce;
> + }
> +
> +- if (yyn == YYFINAL)
> +- YYACCEPT;
> +-
> + /* Count tokens shifted since error; after three, turn off error
> + status. */
> + if (yyerrstatus)
> + yyerrstatus--;
> +
> +- /* Shift the look-ahead token. */
> ++ /* Shift the lookahead token. */
> + YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
> +-
> +- /* Discard the shifted token unless it is eof. */
> +- if (yychar != YYEOF)
> +- yychar = YYEMPTY;
> +-
> + yystate = yyn;
> ++ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
> + *++yyvsp = yylval;
> ++ YY_IGNORE_MAYBE_UNINITIALIZED_END
> +
> ++ /* Discard the shifted token. */
> ++ yychar = YYEMPTY;
> + goto yynewstate;
> +
> +
> +@@ -3014,14 +2609,14 @@ yydefault:
> +
> +
> + /*-----------------------------.
> +-| yyreduce -- Do a reduction. |
> ++| yyreduce -- do a reduction. |
> + `-----------------------------*/
> + yyreduce:
> + /* yyn is the number of a rule to reduce with. */
> + yylen = yyr2[yyn];
> +
> + /* If YYLEN is nonzero, implement the default value of the action:
> +- `$$ = $1'.
> ++ '$$ = $1'.
> +
> + Otherwise, the following line sets YYVAL to garbage.
> + This behavior is undocumented and Bison
> +@@ -3034,9 +2629,9 @@ yyreduce:
> + YY_REDUCE_PRINT (yyn);
> + switch (yyn)
> + {
> +- case 4:
> +-#line 578 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 4: /* $@1: %empty */
> ++#line 579 "parser.y"
> ++ {
> + /*
> + * We don't do these in parserEOF() because the parser is reading
> + * ahead and that would be too early.
> +@@ -3053,11 +2648,12 @@ yyreduce:
> + previousFile = NULL;
> + }
> + }
> ++#line 2652 "../parser.c"
> + break;
> +
> +- case 55:
> +-#line 648 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 55: /* nsstatement: typehdrcode */
> ++#line 649 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + classDef *scope = currentScope();
> +@@ -3065,203 +2661,224 @@ yyreduce:
> + if (scope == NULL)
> + yyerror("%TypeHeaderCode can only be used in a namespace, class or mapped type");
> +
> +- appendCodeBlock(&scope->iff->hdrcode, (yyvsp[(1) - (1)].codeb));
> ++ appendCodeBlock(&scope->iff->hdrcode, (yyvsp[0].codeb));
> + }
> + }
> ++#line 2668 "../parser.c"
> + break;
> +
> +- case 56:
> +-#line 661 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 56: /* defdocstringfmt: TK_DEFDOCSTRFMT defdocstringfmt_args */
> ++#line 662 "parser.y"
> ++ {
> + if (notSkipping())
> +- currentModule->defdocstringfmt = convertFormat((yyvsp[(2) - (2)].defdocstringfmt).name);
> ++ currentModule->defdocstringfmt = convertFormat((yyvsp[0].defdocstringfmt).name);
> + }
> ++#line 2677 "../parser.c"
> + break;
> +
> +- case 57:
> +-#line 667 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 57: /* defdocstringfmt_args: TK_STRING_VALUE */
> ++#line 668 "parser.y"
> ++ {
> + resetLexerState();
> +
> +- (yyval.defdocstringfmt).name = (yyvsp[(1) - (1)].text);
> ++ (yyval.defdocstringfmt).name = (yyvsp[0].text);
> + }
> ++#line 2687 "../parser.c"
> + break;
> +
> +- case 58:
> +-#line 672 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.defdocstringfmt) = (yyvsp[(2) - (3)].defdocstringfmt);
> ++ case 58: /* defdocstringfmt_args: '(' defdocstringfmt_arg_list ')' */
> ++#line 673 "parser.y"
> ++ {
> ++ (yyval.defdocstringfmt) = (yyvsp[-1].defdocstringfmt);
> + }
> ++#line 2695 "../parser.c"
> + break;
> +
> +- case 60:
> +-#line 678 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.defdocstringfmt) = (yyvsp[(1) - (3)].defdocstringfmt);
> ++ case 60: /* defdocstringfmt_arg_list: defdocstringfmt_arg_list ',' defdocstringfmt_arg */
> ++#line 679 "parser.y"
> ++ {
> ++ (yyval.defdocstringfmt) = (yyvsp[-2].defdocstringfmt);
> +
> +- switch ((yyvsp[(3) - (3)].defdocstringfmt).token)
> ++ switch ((yyvsp[0].defdocstringfmt).token)
> + {
> +- case TK_NAME: (yyval.defdocstringfmt).name = (yyvsp[(3) - (3)].defdocstringfmt).name; break;
> ++ case TK_NAME: (yyval.defdocstringfmt).name = (yyvsp[0].defdocstringfmt).name; break;
> + }
> + }
> ++#line 2708 "../parser.c"
> + break;
> +
> +- case 61:
> +-#line 688 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 61: /* defdocstringfmt_arg: TK_NAME '=' TK_STRING_VALUE */
> ++#line 689 "parser.y"
> ++ {
> + (yyval.defdocstringfmt).token = TK_NAME;
> +
> +- (yyval.defdocstringfmt).name = (yyvsp[(3) - (3)].text);
> ++ (yyval.defdocstringfmt).name = (yyvsp[0].text);
> + }
> ++#line 2718 "../parser.c"
> + break;
> +
> +- case 62:
> +-#line 695 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 62: /* defdocstringsig: TK_DEFDOCSTRSIG defdocstringsig_args */
> ++#line 696 "parser.y"
> ++ {
> + if (notSkipping())
> +- currentModule->defdocstringsig = convertSignature((yyvsp[(2) - (2)].defdocstringsig).name);
> ++ currentModule->defdocstringsig = convertSignature((yyvsp[0].defdocstringsig).name);
> + }
> ++#line 2727 "../parser.c"
> + break;
> +
> +- case 63:
> +-#line 701 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 63: /* defdocstringsig_args: TK_STRING_VALUE */
> ++#line 702 "parser.y"
> ++ {
> + resetLexerState();
> +
> +- (yyval.defdocstringsig).name = (yyvsp[(1) - (1)].text);
> ++ (yyval.defdocstringsig).name = (yyvsp[0].text);
> + }
> ++#line 2737 "../parser.c"
> + break;
> +
> +- case 64:
> +-#line 706 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.defdocstringsig) = (yyvsp[(2) - (3)].defdocstringsig);
> ++ case 64: /* defdocstringsig_args: '(' defdocstringsig_arg_list ')' */
> ++#line 707 "parser.y"
> ++ {
> ++ (yyval.defdocstringsig) = (yyvsp[-1].defdocstringsig);
> + }
> ++#line 2745 "../parser.c"
> + break;
> +
> +- case 66:
> +-#line 712 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.defdocstringsig) = (yyvsp[(1) - (3)].defdocstringsig);
> ++ case 66: /* defdocstringsig_arg_list: defdocstringsig_arg_list ',' defdocstringsig_arg */
> ++#line 713 "parser.y"
> ++ {
> ++ (yyval.defdocstringsig) = (yyvsp[-2].defdocstringsig);
> +
> +- switch ((yyvsp[(3) - (3)].defdocstringsig).token)
> ++ switch ((yyvsp[0].defdocstringsig).token)
> + {
> +- case TK_NAME: (yyval.defdocstringsig).name = (yyvsp[(3) - (3)].defdocstringsig).name; break;
> ++ case TK_NAME: (yyval.defdocstringsig).name = (yyvsp[0].defdocstringsig).name; break;
> + }
> + }
> ++#line 2758 "../parser.c"
> + break;
> +
> +- case 67:
> +-#line 722 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 67: /* defdocstringsig_arg: TK_NAME '=' TK_STRING_VALUE */
> ++#line 723 "parser.y"
> ++ {
> + (yyval.defdocstringsig).token = TK_NAME;
> +
> +- (yyval.defdocstringsig).name = (yyvsp[(3) - (3)].text);
> ++ (yyval.defdocstringsig).name = (yyvsp[0].text);
> + }
> ++#line 2768 "../parser.c"
> + break;
> +
> +- case 68:
> +-#line 729 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 68: /* defencoding: TK_DEFENCODING defencoding_args */
> ++#line 730 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> +- if ((currentModule->encoding = convertEncoding((yyvsp[(2) - (2)].defencoding).name)) == no_type)
> ++ if ((currentModule->encoding = convertEncoding((yyvsp[0].defencoding).name)) == no_type)
> + yyerror("The %DefaultEncoding name must be one of \"ASCII\", \"Latin-1\", \"UTF-8\" or \"None\"");
> + }
> + }
> ++#line 2780 "../parser.c"
> + break;
> +
> +- case 69:
> +-#line 738 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 69: /* defencoding_args: TK_STRING_VALUE */
> ++#line 739 "parser.y"
> ++ {
> + resetLexerState();
> +
> +- (yyval.defencoding).name = (yyvsp[(1) - (1)].text);
> ++ (yyval.defencoding).name = (yyvsp[0].text);
> + }
> ++#line 2790 "../parser.c"
> + break;
> +
> +- case 70:
> +-#line 743 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.defencoding) = (yyvsp[(2) - (3)].defencoding);
> ++ case 70: /* defencoding_args: '(' defencoding_arg_list ')' */
> ++#line 744 "parser.y"
> ++ {
> ++ (yyval.defencoding) = (yyvsp[-1].defencoding);
> + }
> ++#line 2798 "../parser.c"
> + break;
> +
> +- case 72:
> +-#line 749 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.defencoding) = (yyvsp[(1) - (3)].defencoding);
> ++ case 72: /* defencoding_arg_list: defencoding_arg_list ',' defencoding_arg */
> ++#line 750 "parser.y"
> ++ {
> ++ (yyval.defencoding) = (yyvsp[-2].defencoding);
> +
> +- switch ((yyvsp[(3) - (3)].defencoding).token)
> ++ switch ((yyvsp[0].defencoding).token)
> + {
> +- case TK_NAME: (yyval.defencoding).name = (yyvsp[(3) - (3)].defencoding).name; break;
> ++ case TK_NAME: (yyval.defencoding).name = (yyvsp[0].defencoding).name; break;
> + }
> + }
> ++#line 2811 "../parser.c"
> + break;
> +
> +- case 73:
> +-#line 759 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 73: /* defencoding_arg: TK_NAME '=' TK_STRING_VALUE */
> ++#line 760 "parser.y"
> ++ {
> + (yyval.defencoding).token = TK_NAME;
> +
> +- (yyval.defencoding).name = (yyvsp[(3) - (3)].text);
> ++ (yyval.defencoding).name = (yyvsp[0].text);
> + }
> ++#line 2821 "../parser.c"
> + break;
> +
> +- case 74:
> +-#line 766 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 74: /* plugin: TK_PLUGIN plugin_args */
> ++#line 767 "parser.y"
> ++ {
> + /*
> + * Note that %Plugin is internal in SIP v4. The current thinking
> + * is that it won't be needed for SIP v5.
> + */
> +
> + if (notSkipping())
> +- appendString(¤tSpec->plugins, (yyvsp[(2) - (2)].plugin).name);
> ++ appendString(¤tSpec->plugins, (yyvsp[0].plugin).name);
> + }
> ++#line 2835 "../parser.c"
> + break;
> +
> +- case 75:
> +-#line 777 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 75: /* plugin_args: TK_NAME_VALUE */
> ++#line 778 "parser.y"
> ++ {
> + resetLexerState();
> +
> +- (yyval.plugin).name = (yyvsp[(1) - (1)].text);
> ++ (yyval.plugin).name = (yyvsp[0].text);
> + }
> ++#line 2845 "../parser.c"
> + break;
> +
> +- case 76:
> +-#line 782 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.plugin) = (yyvsp[(2) - (3)].plugin);
> ++ case 76: /* plugin_args: '(' plugin_arg_list ')' */
> ++#line 783 "parser.y"
> ++ {
> ++ (yyval.plugin) = (yyvsp[-1].plugin);
> + }
> ++#line 2853 "../parser.c"
> + break;
> +
> +- case 78:
> +-#line 788 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.plugin) = (yyvsp[(1) - (3)].plugin);
> ++ case 78: /* plugin_arg_list: plugin_arg_list ',' plugin_arg */
> ++#line 789 "parser.y"
> ++ {
> ++ (yyval.plugin) = (yyvsp[-2].plugin);
> +
> +- switch ((yyvsp[(3) - (3)].plugin).token)
> ++ switch ((yyvsp[0].plugin).token)
> + {
> +- case TK_NAME: (yyval.plugin).name = (yyvsp[(3) - (3)].plugin).name; break;
> ++ case TK_NAME: (yyval.plugin).name = (yyvsp[0].plugin).name; break;
> + }
> + }
> ++#line 2866 "../parser.c"
> + break;
> +
> +- case 79:
> +-#line 798 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 79: /* plugin_arg: TK_NAME '=' TK_NAME_VALUE */
> ++#line 799 "parser.y"
> ++ {
> + (yyval.plugin).token = TK_NAME;
> +
> +- (yyval.plugin).name = (yyvsp[(3) - (3)].text);
> ++ (yyval.plugin).name = (yyvsp[0].text);
> + }
> ++#line 2876 "../parser.c"
> + break;
> +
> +- case 80:
> +-#line 805 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- if ((yyvsp[(2) - (3)].veh).name == NULL)
> ++ case 80: /* virterrorhandler: TK_VIRTERRORHANDLER veh_args codeblock */
> ++#line 806 "parser.y"
> ++ {
> ++ if ((yyvsp[-1].veh).name == NULL)
> + yyerror("%VirtualErrorHandler must have a 'name' argument");
> +
> + if (notSkipping())
> +@@ -3270,7 +2887,7 @@ yyreduce:
> +
> + /* Check there isn't already a handler with the same name. */
> + for (tailp = ¤tSpec->errorhandlers; (veh = *tailp) != NULL; tailp = &veh->next)
> +- if (strcmp(veh->name, (yyvsp[(2) - (3)].veh).name) == 0)
> ++ if (strcmp(veh->name, (yyvsp[-1].veh).name) == 0)
> + break;
> +
> + if (veh != NULL)
> +@@ -3278,8 +2895,8 @@ yyreduce:
> +
> + veh = sipMalloc(sizeof (virtErrorHandler));
> +
> +- veh->name = (yyvsp[(2) - (3)].veh).name;
> +- appendCodeBlock(&veh->code, (yyvsp[(3) - (3)].codeb));
> ++ veh->name = (yyvsp[-1].veh).name;
> ++ appendCodeBlock(&veh->code, (yyvsp[0].codeb));
> + veh->mod = currentModule;
> + veh->index = -1;
> + veh->next = NULL;
> +@@ -3287,62 +2904,67 @@ yyreduce:
> + *tailp = veh;
> + }
> + }
> ++#line 2908 "../parser.c"
> + break;
> +
> +- case 81:
> +-#line 834 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 81: /* veh_args: TK_NAME_VALUE */
> ++#line 835 "parser.y"
> ++ {
> + resetLexerState();
> +
> +- (yyval.veh).name = (yyvsp[(1) - (1)].text);
> ++ (yyval.veh).name = (yyvsp[0].text);
> + }
> ++#line 2918 "../parser.c"
> + break;
> +
> +- case 82:
> +-#line 839 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.veh) = (yyvsp[(2) - (3)].veh);
> ++ case 82: /* veh_args: '(' veh_arg_list ')' */
> ++#line 840 "parser.y"
> ++ {
> ++ (yyval.veh) = (yyvsp[-1].veh);
> + }
> ++#line 2926 "../parser.c"
> + break;
> +
> +- case 84:
> +-#line 845 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.veh) = (yyvsp[(1) - (3)].veh);
> ++ case 84: /* veh_arg_list: veh_arg_list ',' veh_arg */
> ++#line 846 "parser.y"
> ++ {
> ++ (yyval.veh) = (yyvsp[-2].veh);
> +
> +- switch ((yyvsp[(3) - (3)].veh).token)
> ++ switch ((yyvsp[0].veh).token)
> + {
> +- case TK_NAME: (yyval.veh).name = (yyvsp[(3) - (3)].veh).name; break;
> ++ case TK_NAME: (yyval.veh).name = (yyvsp[0].veh).name; break;
> + }
> + }
> ++#line 2939 "../parser.c"
> + break;
> +
> +- case 85:
> +-#line 855 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 85: /* veh_arg: TK_NAME '=' TK_NAME_VALUE */
> ++#line 856 "parser.y"
> ++ {
> + (yyval.veh).token = TK_NAME;
> +
> +- (yyval.veh).name = (yyvsp[(3) - (3)].text);
> ++ (yyval.veh).name = (yyvsp[0].text);
> + }
> ++#line 2949 "../parser.c"
> + break;
> +
> +- case 86:
> +-#line 862 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 86: /* api: TK_API api_args */
> ++#line 863 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + apiVersionRangeDef *avd;
> +
> +- if (findAPI(currentSpec, (yyvsp[(2) - (2)].api).name) != NULL)
> ++ if (findAPI(currentSpec, (yyvsp[0].api).name) != NULL)
> + yyerror("The API name in the %API directive has already been defined");
> +
> +- if ((yyvsp[(2) - (2)].api).version < 1)
> ++ if ((yyvsp[0].api).version < 1)
> + yyerror("The version number in the %API directive must be greater than or equal to 1");
> +
> + avd = sipMalloc(sizeof (apiVersionRangeDef));
> +
> +- avd->api_name = cacheName(currentSpec, (yyvsp[(2) - (2)].api).name);
> +- avd->from = (yyvsp[(2) - (2)].api).version;
> ++ avd->api_name = cacheName(currentSpec, (yyvsp[0].api).name);
> ++ avd->from = (yyvsp[0].api).version;
> + avd->to = -1;
> +
> + avd->next = currentModule->api_versions;
> +@@ -3352,63 +2974,69 @@ yyreduce:
> + setIsUsedName(avd->api_name);
> + }
> + }
> ++#line 2978 "../parser.c"
> + break;
> +
> +- case 87:
> +-#line 888 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 87: /* api_args: TK_NAME_VALUE TK_NUMBER_VALUE */
> ++#line 889 "parser.y"
> ++ {
> + resetLexerState();
> +
> + deprecated("%API name and version number should be specified using the 'name' and 'version' arguments");
> +
> +- (yyval.api).name = (yyvsp[(1) - (2)].text);
> +- (yyval.api).version = (yyvsp[(2) - (2)].number);
> ++ (yyval.api).name = (yyvsp[-1].text);
> ++ (yyval.api).version = (yyvsp[0].number);
> + }
> ++#line 2991 "../parser.c"
> + break;
> +
> +- case 88:
> +-#line 896 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.api) = (yyvsp[(2) - (3)].api);
> ++ case 88: /* api_args: '(' api_arg_list ')' */
> ++#line 897 "parser.y"
> ++ {
> ++ (yyval.api) = (yyvsp[-1].api);
> + }
> ++#line 2999 "../parser.c"
> + break;
> +
> +- case 90:
> +-#line 902 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.api) = (yyvsp[(1) - (3)].api);
> ++ case 90: /* api_arg_list: api_arg_list ',' api_arg */
> ++#line 903 "parser.y"
> ++ {
> ++ (yyval.api) = (yyvsp[-2].api);
> +
> +- switch ((yyvsp[(3) - (3)].api).token)
> ++ switch ((yyvsp[0].api).token)
> + {
> +- case TK_NAME: (yyval.api).name = (yyvsp[(3) - (3)].api).name; break;
> +- case TK_VERSION: (yyval.api).version = (yyvsp[(3) - (3)].api).version; break;
> ++ case TK_NAME: (yyval.api).name = (yyvsp[0].api).name; break;
> ++ case TK_VERSION: (yyval.api).version = (yyvsp[0].api).version; break;
> + }
> + }
> ++#line 3013 "../parser.c"
> + break;
> +
> +- case 91:
> +-#line 913 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 91: /* api_arg: TK_NAME '=' name_or_string */
> ++#line 914 "parser.y"
> ++ {
> + (yyval.api).token = TK_NAME;
> +
> +- (yyval.api).name = (yyvsp[(3) - (3)].text);
> ++ (yyval.api).name = (yyvsp[0].text);
> + (yyval.api).version = 0;
> + }
> ++#line 3024 "../parser.c"
> + break;
> +
> +- case 92:
> +-#line 919 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 92: /* api_arg: TK_VERSION '=' TK_NUMBER_VALUE */
> ++#line 920 "parser.y"
> ++ {
> + (yyval.api).token = TK_VERSION;
> +
> + (yyval.api).name = NULL;
> +- (yyval.api).version = (yyvsp[(3) - (3)].number);
> ++ (yyval.api).version = (yyvsp[0].number);
> + }
> ++#line 3035 "../parser.c"
> + break;
> +
> +- case 93:
> +-#line 927 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 93: /* exception: TK_EXCEPTION scopedname baseexception optflags exception_body */
> ++#line 928 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + static const char *annos[] = {
> +@@ -3420,20 +3048,20 @@ yyreduce:
> + exceptionDef *xd;
> + const char *pyname;
> +
> +- checkAnnos(&(yyvsp[(4) - (5)].optflags), annos);
> ++ checkAnnos(&(yyvsp[-1].optflags), annos);
> +
> + if (currentSpec->genc)
> + yyerror("%Exception not allowed in a C module");
> +
> +- if ((yyvsp[(5) - (5)].exception).raise_code == NULL)
> ++ if ((yyvsp[0].exception).raise_code == NULL)
> + yyerror("%Exception must have a %RaiseCode sub-directive");
> +
> +- pyname = getPythonName(currentModule, &(yyvsp[(4) - (5)].optflags), scopedNameTail((yyvsp[(2) - (5)].scpvalp)));
> ++ pyname = getPythonName(currentModule, &(yyvsp[-1].optflags), scopedNameTail((yyvsp[-3].scpvalp)));
> +
> + checkAttributes(currentSpec, currentModule, NULL, NULL,
> + pyname, FALSE);
> +
> +- xd = findException(currentSpec, (yyvsp[(2) - (5)].scpvalp), TRUE);
> ++ xd = findException(currentSpec, (yyvsp[-3].scpvalp), TRUE);
> +
> + if (xd->cd != NULL)
> + yyerror("%Exception name has already been seen as a class name - it must be defined before being used");
> +@@ -3443,29 +3071,31 @@ yyreduce:
> +
> + /* Complete the definition. */
> + xd->iff->module = currentModule;
> +- appendCodeBlock(&xd->iff->hdrcode, (yyvsp[(5) - (5)].exception).type_header_code);
> ++ appendCodeBlock(&xd->iff->hdrcode, (yyvsp[0].exception).type_header_code);
> + xd->pyname = pyname;
> +- xd->bibase = (yyvsp[(3) - (5)].exceptionbase).bibase;
> +- xd->base = (yyvsp[(3) - (5)].exceptionbase).base;
> +- appendCodeBlock(&xd->raisecode, (yyvsp[(5) - (5)].exception).raise_code);
> ++ xd->bibase = (yyvsp[-2].exceptionbase).bibase;
> ++ xd->base = (yyvsp[-2].exceptionbase).base;
> ++ appendCodeBlock(&xd->raisecode, (yyvsp[0].exception).raise_code);
> +
> +- if (getOptFlag(&(yyvsp[(4) - (5)].optflags), "Default", bool_flag) != NULL)
> ++ if (getOptFlag(&(yyvsp[-1].optflags), "Default", bool_flag) != NULL)
> + currentModule->defexception = xd;
> + }
> + }
> ++#line 3085 "../parser.c"
> + break;
> +
> +- case 94:
> +-#line 974 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 94: /* baseexception: %empty */
> ++#line 975 "parser.y"
> ++ {
> + (yyval.exceptionbase).bibase = NULL;
> + (yyval.exceptionbase).base = NULL;
> + }
> ++#line 3094 "../parser.c"
> + break;
> +
> +- case 95:
> +-#line 978 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 95: /* baseexception: '(' scopedname ')' */
> ++#line 979 "parser.y"
> ++ {
> + exceptionDef *xd;
> +
> + (yyval.exceptionbase).bibase = NULL;
> +@@ -3473,13 +3103,13 @@ yyreduce:
> +
> + /* See if it is a defined exception. */
> + for (xd = currentSpec->exceptions; xd != NULL; xd = xd->next)
> +- if (compareScopedNames(xd->iff->fqcname, (yyvsp[(2) - (3)].scpvalp)) == 0)
> ++ if (compareScopedNames(xd->iff->fqcname, (yyvsp[-1].scpvalp)) == 0)
> + {
> + (yyval.exceptionbase).base = xd;
> + break;
> + }
> +
> +- if (xd == NULL && (yyvsp[(2) - (3)].scpvalp)->next == NULL && strncmp((yyvsp[(2) - (3)].scpvalp)->name, "SIP_", 4) == 0)
> ++ if (xd == NULL && (yyvsp[-1].scpvalp)->next == NULL && strncmp((yyvsp[-1].scpvalp)->name, "SIP_", 4) == 0)
> + {
> + /* See if it is a builtin exception. */
> +
> +@@ -3560,7 +3190,7 @@ yyreduce:
> + char **cp;
> +
> + for (cp = builtins; *cp != NULL; ++cp)
> +- if (strcmp((yyvsp[(2) - (3)].scpvalp)->name + 4, *cp) == 0)
> ++ if (strcmp((yyvsp[-1].scpvalp)->name + 4, *cp) == 0)
> + {
> + (yyval.exceptionbase).bibase = *cp;
> + break;
> +@@ -3570,49 +3200,54 @@ yyreduce:
> + if ((yyval.exceptionbase).bibase == NULL && (yyval.exceptionbase).base == NULL)
> + yyerror("Unknown exception base type");
> + }
> ++#line 3204 "../parser.c"
> + break;
> +
> +- case 96:
> +-#line 1085 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.exception) = (yyvsp[(2) - (4)].exception);
> ++ case 96: /* exception_body: '{' exception_body_directives '}' ';' */
> ++#line 1086 "parser.y"
> ++ {
> ++ (yyval.exception) = (yyvsp[-2].exception);
> + }
> ++#line 3212 "../parser.c"
> + break;
> +
> +- case 98:
> +-#line 1091 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.exception) = (yyvsp[(1) - (2)].exception);
> ++ case 98: /* exception_body_directives: exception_body_directives exception_body_directive */
> ++#line 1092 "parser.y"
> ++ {
> ++ (yyval.exception) = (yyvsp[-1].exception);
> +
> +- switch ((yyvsp[(2) - (2)].exception).token)
> ++ switch ((yyvsp[0].exception).token)
> + {
> +- case TK_RAISECODE: (yyval.exception).raise_code = (yyvsp[(2) - (2)].exception).raise_code; break;
> +- case TK_TYPEHEADERCODE: (yyval.exception).type_header_code = (yyvsp[(2) - (2)].exception).type_header_code; break;
> ++ case TK_RAISECODE: (yyval.exception).raise_code = (yyvsp[0].exception).raise_code; break;
> ++ case TK_TYPEHEADERCODE: (yyval.exception).type_header_code = (yyvsp[0].exception).type_header_code; break;
> + }
> + }
> ++#line 3226 "../parser.c"
> + break;
> +
> +- case 99:
> +-#line 1102 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 99: /* exception_body_directive: ifstart */
> ++#line 1103 "parser.y"
> ++ {
> + (yyval.exception).token = TK_IF;
> + }
> ++#line 3234 "../parser.c"
> + break;
> +
> +- case 100:
> +-#line 1105 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 100: /* exception_body_directive: ifend */
> ++#line 1106 "parser.y"
> ++ {
> + (yyval.exception).token = TK_END;
> + }
> ++#line 3242 "../parser.c"
> + break;
> +
> +- case 101:
> +-#line 1108 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 101: /* exception_body_directive: raisecode */
> ++#line 1109 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + (yyval.exception).token = TK_RAISECODE;
> +- (yyval.exception).raise_code = (yyvsp[(1) - (1)].codeb);
> ++ (yyval.exception).raise_code = (yyvsp[0].codeb);
> + }
> + else
> + {
> +@@ -3622,15 +3257,16 @@ yyreduce:
> +
> + (yyval.exception).type_header_code = NULL;
> + }
> ++#line 3261 "../parser.c"
> + break;
> +
> +- case 102:
> +-#line 1122 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 102: /* exception_body_directive: typehdrcode */
> ++#line 1123 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + (yyval.exception).token = TK_TYPEHEADERCODE;
> +- (yyval.exception).type_header_code = (yyvsp[(1) - (1)].codeb);
> ++ (yyval.exception).type_header_code = (yyvsp[0].codeb);
> + }
> + else
> + {
> +@@ -3640,18 +3276,20 @@ yyreduce:
> +
> + (yyval.exception).raise_code = NULL;
> + }
> ++#line 3280 "../parser.c"
> + break;
> +
> +- case 103:
> +-#line 1138 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> ++ case 103: /* raisecode: TK_RAISECODE codeblock */
> ++#line 1139 "parser.y"
> ++ {
> ++ (yyval.codeb) = (yyvsp[0].codeb);
> + }
> ++#line 3288 "../parser.c"
> + break;
> +
> +- case 104:
> +-#line 1143 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 104: /* $@2: %empty */
> ++#line 1144 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + static const char *annos[] = {
> +@@ -3667,16 +3305,17 @@ yyreduce:
> + NULL
> + };
> +
> +- checkAnnos(&(yyvsp[(3) - (3)].optflags), annos);
> ++ checkAnnos(&(yyvsp[0].optflags), annos);
> +
> +- currentMappedType = newMappedType(currentSpec, &(yyvsp[(2) - (3)].memArg), &(yyvsp[(3) - (3)].optflags));
> ++ currentMappedType = newMappedType(currentSpec, &(yyvsp[-1].memArg), &(yyvsp[0].optflags));
> + }
> + }
> ++#line 3314 "../parser.c"
> + break;
> +
> +- case 106:
> +-#line 1166 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 106: /* $@3: %empty */
> ++#line 1167 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + static const char *annos[] = {
> +@@ -3694,7 +3333,7 @@ yyreduce:
> + mappedTypeTmplDef *mtt;
> + ifaceFileDef *iff;
> +
> +- checkAnnos(&(yyvsp[(4) - (4)].optflags), annos);
> ++ checkAnnos(&(yyvsp[0].optflags), annos);
> +
> + if (currentSpec->genc)
> + yyerror("%MappedType templates not allowed in a C module");
> +@@ -3703,32 +3342,32 @@ yyreduce:
> + * Check the template arguments are basic types or simple
> + * names.
> + */
> +- for (a = 0; a < (yyvsp[(1) - (4)].signature).nrArgs; ++a)
> ++ for (a = 0; a < (yyvsp[-3].signature).nrArgs; ++a)
> + {
> +- argDef *ad = &(yyvsp[(1) - (4)].signature).args[a];
> ++ argDef *ad = &(yyvsp[-3].signature).args[a];
> +
> + if (ad->atype == defined_type && ad->u.snd->next != NULL)
> + yyerror("%MappedType template arguments must be simple names");
> + }
> +
> +- if ((yyvsp[(3) - (4)].memArg).atype != template_type)
> ++ if ((yyvsp[-1].memArg).atype != template_type)
> + yyerror("%MappedType template must map a template type");
> +
> +- (yyvsp[(3) - (4)].memArg).u.td->fqname = fullyQualifiedName((yyvsp[(3) - (4)].memArg).u.td->fqname);
> ++ (yyvsp[-1].memArg).u.td->fqname = fullyQualifiedName((yyvsp[-1].memArg).u.td->fqname);
> +
> + /* Check a template hasn't already been provided. */
> + for (mtt = currentSpec->mappedtypetemplates; mtt != NULL; mtt = mtt->next)
> +- if (compareScopedNames(mtt->mt->type.u.td->fqname, (yyvsp[(3) - (4)].memArg).u.td->fqname ) == 0 && sameTemplateSignature(&mtt->mt->type.u.td->types, &(yyvsp[(3) - (4)].memArg).u.td->types, TRUE))
> ++ if (compareScopedNames(mtt->mt->type.u.td->fqname, (yyvsp[-1].memArg).u.td->fqname ) == 0 && sameTemplateSignature(&mtt->mt->type.u.td->types, &(yyvsp[-1].memArg).u.td->types, TRUE))
> + yyerror("%MappedType template for this type has already been defined");
> +
> +- (yyvsp[(3) - (4)].memArg).nrderefs = 0;
> +- (yyvsp[(3) - (4)].memArg).argflags = 0;
> ++ (yyvsp[-1].memArg).nrderefs = 0;
> ++ (yyvsp[-1].memArg).argflags = 0;
> +
> + mtt = sipMalloc(sizeof (mappedTypeTmplDef));
> +
> +- mtt->sig = (yyvsp[(1) - (4)].signature);
> +- mtt->mt = allocMappedType(currentSpec, &(yyvsp[(3) - (4)].memArg));
> +- mappedTypeAnnos(mtt->mt, &(yyvsp[(4) - (4)].optflags));
> ++ mtt->sig = (yyvsp[-3].signature);
> ++ mtt->mt = allocMappedType(currentSpec, &(yyvsp[-1].memArg));
> ++ mappedTypeAnnos(mtt->mt, &(yyvsp[0].optflags));
> + mtt->next = currentSpec->mappedtypetemplates;
> +
> + currentSpec->mappedtypetemplates = mtt;
> +@@ -3741,11 +3380,12 @@ yyreduce:
> + mtt->mt->iff = iff;
> + }
> + }
> ++#line 3384 "../parser.c"
> + break;
> +
> +- case 108:
> +-#line 1233 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 108: /* mtdefinition: '{' mtbody '}' ';' */
> ++#line 1234 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + if (currentMappedType->convfromcode == NULL)
> +@@ -3757,83 +3397,90 @@ yyreduce:
> + currentMappedType = NULL;
> + }
> + }
> ++#line 3401 "../parser.c"
> + break;
> +
> +- case 113:
> +-#line 1253 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 113: /* mtline: typehdrcode */
> ++#line 1254 "parser.y"
> ++ {
> + if (notSkipping())
> +- appendCodeBlock(¤tMappedType->iff->hdrcode, (yyvsp[(1) - (1)].codeb));
> ++ appendCodeBlock(¤tMappedType->iff->hdrcode, (yyvsp[0].codeb));
> + }
> ++#line 3410 "../parser.c"
> + break;
> +
> +- case 114:
> +-#line 1257 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 114: /* mtline: typecode */
> ++#line 1258 "parser.y"
> ++ {
> + if (notSkipping())
> +- appendCodeBlock(¤tMappedType->typecode, (yyvsp[(1) - (1)].codeb));
> ++ appendCodeBlock(¤tMappedType->typecode, (yyvsp[0].codeb));
> + }
> ++#line 3419 "../parser.c"
> + break;
> +
> +- case 115:
> +-#line 1261 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 115: /* mtline: TK_FROMTYPE codeblock */
> ++#line 1262 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + if (currentMappedType->convfromcode != NULL)
> + yyerror("%MappedType has more than one %ConvertFromTypeCode directive");
> +
> +- appendCodeBlock(¤tMappedType->convfromcode, (yyvsp[(2) - (2)].codeb));
> ++ appendCodeBlock(¤tMappedType->convfromcode, (yyvsp[0].codeb));
> + }
> + }
> ++#line 3433 "../parser.c"
> + break;
> +
> +- case 116:
> +-#line 1270 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 116: /* mtline: TK_TOTYPE codeblock */
> ++#line 1271 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + if (currentMappedType->convtocode != NULL)
> + yyerror("%MappedType has more than one %ConvertToTypeCode directive");
> +
> +- appendCodeBlock(¤tMappedType->convtocode, (yyvsp[(2) - (2)].codeb));
> ++ appendCodeBlock(¤tMappedType->convtocode, (yyvsp[0].codeb));
> + }
> + }
> ++#line 3447 "../parser.c"
> + break;
> +
> +- case 117:
> +-#line 1279 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 117: /* mtline: instancecode */
> ++#line 1280 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + if (currentMappedType->instancecode != NULL)
> + yyerror("%MappedType has more than one %InstanceCode directive");
> +
> +- appendCodeBlock(¤tMappedType->instancecode, (yyvsp[(1) - (1)].codeb));
> ++ appendCodeBlock(¤tMappedType->instancecode, (yyvsp[0].codeb));
> + }
> + }
> ++#line 3461 "../parser.c"
> + break;
> +
> +- case 120:
> +-#line 1292 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 120: /* mtfunction: TK_STATIC cpptype TK_NAME_VALUE '(' arglist ')' optconst optexceptions optflags optsig ';' optdocstring premethodcode methodcode */
> ++#line 1293 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> +- applyTypeFlags(currentModule, &(yyvsp[(2) - (14)].memArg), &(yyvsp[(9) - (14)].optflags));
> ++ applyTypeFlags(currentModule, &(yyvsp[-12].memArg), &(yyvsp[-5].optflags));
> +
> +- (yyvsp[(5) - (14)].signature).result = (yyvsp[(2) - (14)].memArg);
> ++ (yyvsp[-9].signature).result = (yyvsp[-12].memArg);
> +
> + newFunction(currentSpec, currentModule, NULL, NULL,
> +- currentMappedType, 0, TRUE, FALSE, FALSE, FALSE, (yyvsp[(3) - (14)].text),
> +- &(yyvsp[(5) - (14)].signature), (yyvsp[(7) - (14)].number), FALSE, &(yyvsp[(9) - (14)].optflags), (yyvsp[(14) - (14)].codeb), NULL, NULL, (yyvsp[(8) - (14)].throwlist), (yyvsp[(10) - (14)].optsignature), (yyvsp[(12) - (14)].docstr),
> +- FALSE, (yyvsp[(13) - (14)].codeb));
> ++ currentMappedType, 0, TRUE, FALSE, FALSE, FALSE, (yyvsp[-11].text),
> ++ &(yyvsp[-9].signature), (yyvsp[-7].number), FALSE, &(yyvsp[-5].optflags), (yyvsp[0].codeb), NULL, NULL, (yyvsp[-6].throwlist), (yyvsp[-4].optsignature), (yyvsp[-2].docstr),
> ++ FALSE, (yyvsp[-1].codeb));
> + }
> + }
> ++#line 3479 "../parser.c"
> + break;
> +
> +- case 121:
> +-#line 1307 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 121: /* $@4: %empty */
> ++#line 1308 "parser.y"
> ++ {
> + if (currentSpec -> genc)
> + yyerror("namespace definition not allowed in a C module");
> +
> +@@ -3848,18 +3495,19 @@ yyreduce:
> + scope = NULL;
> +
> + ns = newClass(currentSpec, namespace_iface, NULL,
> +- text2scopedName(scope, (yyvsp[(2) - (2)].text)), NULL, NULL, NULL, NULL);
> ++ text2scopedName(scope, (yyvsp[0].text)), NULL, NULL, NULL, NULL);
> +
> + pushScope(ns);
> +
> + sectionFlags = 0;
> + }
> + }
> ++#line 3506 "../parser.c"
> + break;
> +
> +- case 122:
> +-#line 1328 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 122: /* namespace: TK_NAMESPACE TK_NAME_VALUE $@4 optnsbody ';' */
> ++#line 1329 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + if (inMainModule())
> +@@ -3873,11 +3521,12 @@ yyreduce:
> + popScope();
> + }
> + }
> ++#line 3525 "../parser.c"
> + break;
> +
> +- case 127:
> +-#line 1352 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 127: /* $@5: %empty */
> ++#line 1353 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + qualDef *qd;
> +@@ -3887,11 +3536,12 @@ yyreduce:
> + yyerror("%Platforms has already been defined for this module");
> + }
> + }
> ++#line 3540 "../parser.c"
> + break;
> +
> +- case 128:
> +-#line 1362 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 128: /* platforms: TK_PLATFORMS $@5 '{' platformlist '}' */
> ++#line 1363 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + qualDef *qd;
> +@@ -3908,71 +3558,79 @@ yyreduce:
> + yyerror("No more than one of these %Platforms must be specified with the -t flag");
> + }
> + }
> ++#line 3562 "../parser.c"
> + break;
> +
> +- case 131:
> +-#line 1385 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- newQualifier(currentModule, -1, -1, notSkipping(), (yyvsp[(1) - (1)].text),
> ++ case 131: /* platform: TK_NAME_VALUE */
> ++#line 1386 "parser.y"
> ++ {
> ++ newQualifier(currentModule, -1, -1, notSkipping(), (yyvsp[0].text),
> + platform_qualifier);
> + }
> ++#line 3571 "../parser.c"
> + break;
> +
> +- case 132:
> +-#line 1391 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- newQualifier(currentModule, -1, -1, notSkipping(), (yyvsp[(2) - (2)].feature).name,
> ++ case 132: /* feature: TK_FEATURE feature_args */
> ++#line 1392 "parser.y"
> ++ {
> ++ newQualifier(currentModule, -1, -1, notSkipping(), (yyvsp[0].feature).name,
> + feature_qualifier);
> + }
> ++#line 3580 "../parser.c"
> + break;
> +
> +- case 133:
> +-#line 1397 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 133: /* feature_args: TK_NAME_VALUE */
> ++#line 1398 "parser.y"
> ++ {
> + resetLexerState();
> +
> +- (yyval.feature).name = (yyvsp[(1) - (1)].text);
> ++ (yyval.feature).name = (yyvsp[0].text);
> + }
> ++#line 3590 "../parser.c"
> + break;
> +
> +- case 134:
> +-#line 1402 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.feature) = (yyvsp[(2) - (3)].feature);
> ++ case 134: /* feature_args: '(' feature_arg_list ')' */
> ++#line 1403 "parser.y"
> ++ {
> ++ (yyval.feature) = (yyvsp[-1].feature);
> + }
> ++#line 3598 "../parser.c"
> + break;
> +
> +- case 136:
> +-#line 1408 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.feature) = (yyvsp[(1) - (3)].feature);
> ++ case 136: /* feature_arg_list: feature_arg_list ',' feature_arg */
> ++#line 1409 "parser.y"
> ++ {
> ++ (yyval.feature) = (yyvsp[-2].feature);
> +
> +- switch ((yyvsp[(3) - (3)].feature).token)
> ++ switch ((yyvsp[0].feature).token)
> + {
> +- case TK_NAME: (yyval.feature).name = (yyvsp[(3) - (3)].feature).name; break;
> ++ case TK_NAME: (yyval.feature).name = (yyvsp[0].feature).name; break;
> + }
> + }
> ++#line 3611 "../parser.c"
> + break;
> +
> +- case 137:
> +-#line 1418 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 137: /* feature_arg: TK_NAME '=' name_or_string */
> ++#line 1419 "parser.y"
> ++ {
> + (yyval.feature).token = TK_NAME;
> +
> +- (yyval.feature).name = (yyvsp[(3) - (3)].text);
> ++ (yyval.feature).name = (yyvsp[0].text);
> + }
> ++#line 3621 "../parser.c"
> + break;
> +
> +- case 138:
> +-#line 1425 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 138: /* $@6: %empty */
> ++#line 1426 "parser.y"
> ++ {
> + currentTimelineOrder = 0;
> + }
> ++#line 3629 "../parser.c"
> + break;
> +
> +- case 139:
> +-#line 1428 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 139: /* timeline: TK_TIMELINE $@6 '{' qualifierlist '}' */
> ++#line 1429 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + qualDef *qd;
> +@@ -3993,129 +3651,140 @@ yyreduce:
> + currentModule->nrtimelines++;
> + }
> + }
> ++#line 3655 "../parser.c"
> + break;
> +
> +- case 142:
> +-#line 1455 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 142: /* qualifiername: TK_NAME_VALUE */
> ++#line 1456 "parser.y"
> ++ {
> + newQualifier(currentModule, currentModule->nrtimelines,
> +- currentTimelineOrder++, TRUE, (yyvsp[(1) - (1)].text), time_qualifier);
> ++ currentTimelineOrder++, TRUE, (yyvsp[0].text), time_qualifier);
> + }
> ++#line 3664 "../parser.c"
> + break;
> +
> +- case 143:
> +-#line 1461 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 143: /* $@7: %empty */
> ++#line 1462 "parser.y"
> ++ {
> + currentPlatforms = NULL;
> + }
> ++#line 3672 "../parser.c"
> + break;
> +
> +- case 144:
> +-#line 1463 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 144: /* ifstart: TK_IF '(' $@7 qualifiers ')' */
> ++#line 1464 "parser.y"
> ++ {
> + if (stackPtr >= MAX_NESTED_IF)
> + yyerror("Internal error: increase the value of MAX_NESTED_IF");
> +
> + /* Nested %Ifs are implicit logical ands. */
> +
> + if (stackPtr > 0)
> +- (yyvsp[(4) - (5)].boolean) = ((yyvsp[(4) - (5)].boolean) && skipStack[stackPtr - 1]);
> ++ (yyvsp[-1].boolean) = ((yyvsp[-1].boolean) && skipStack[stackPtr - 1]);
> +
> +- skipStack[stackPtr] = (yyvsp[(4) - (5)].boolean);
> ++ skipStack[stackPtr] = (yyvsp[-1].boolean);
> +
> + platformStack[stackPtr] = currentPlatforms;
> +
> + ++stackPtr;
> + }
> ++#line 3692 "../parser.c"
> + break;
> +
> +- case 145:
> +-#line 1480 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.boolean) = platOrFeature((yyvsp[(1) - (1)].text), FALSE);
> ++ case 145: /* oredqualifiers: TK_NAME_VALUE */
> ++#line 1481 "parser.y"
> ++ {
> ++ (yyval.boolean) = platOrFeature((yyvsp[0].text), FALSE);
> + }
> ++#line 3700 "../parser.c"
> + break;
> +
> +- case 146:
> +-#line 1483 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.boolean) = platOrFeature((yyvsp[(2) - (2)].text), TRUE);
> ++ case 146: /* oredqualifiers: '!' TK_NAME_VALUE */
> ++#line 1484 "parser.y"
> ++ {
> ++ (yyval.boolean) = platOrFeature((yyvsp[0].text), TRUE);
> + }
> ++#line 3708 "../parser.c"
> + break;
> +
> +- case 147:
> +-#line 1486 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.boolean) = (platOrFeature((yyvsp[(3) - (3)].text), FALSE) || (yyvsp[(1) - (3)].boolean));
> ++ case 147: /* oredqualifiers: oredqualifiers TK_LOGICAL_OR TK_NAME_VALUE */
> ++#line 1487 "parser.y"
> ++ {
> ++ (yyval.boolean) = (platOrFeature((yyvsp[0].text), FALSE) || (yyvsp[-2].boolean));
> + }
> ++#line 3716 "../parser.c"
> + break;
> +
> +- case 148:
> +-#line 1489 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.boolean) = (platOrFeature((yyvsp[(4) - (4)].text), TRUE) || (yyvsp[(1) - (4)].boolean));
> ++ case 148: /* oredqualifiers: oredqualifiers TK_LOGICAL_OR '!' TK_NAME_VALUE */
> ++#line 1490 "parser.y"
> ++ {
> ++ (yyval.boolean) = (platOrFeature((yyvsp[0].text), TRUE) || (yyvsp[-3].boolean));
> + }
> ++#line 3724 "../parser.c"
> + break;
> +
> +- case 150:
> +-#line 1495 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.boolean) = timePeriod((yyvsp[(1) - (3)].text), (yyvsp[(3) - (3)].text));
> ++ case 150: /* qualifiers: optname '-' optname */
> ++#line 1496 "parser.y"
> ++ {
> ++ (yyval.boolean) = timePeriod((yyvsp[-2].text), (yyvsp[0].text));
> + }
> ++#line 3732 "../parser.c"
> + break;
> +
> +- case 151:
> +-#line 1500 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 151: /* ifend: TK_END */
> ++#line 1501 "parser.y"
> ++ {
> + if (stackPtr-- <= 0)
> + yyerror("Too many %End directives");
> +
> + currentPlatforms = (stackPtr == 0 ? NULL : platformStack[stackPtr - 1]);
> + }
> ++#line 3743 "../parser.c"
> + break;
> +
> +- case 152:
> +-#line 1508 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 152: /* license: TK_LICENSE license_args optflags */
> ++#line 1509 "parser.y"
> ++ {
> + optFlag *of;
> +
> +- if ((yyvsp[(3) - (3)].optflags).nrFlags != 0)
> ++ if ((yyvsp[0].optflags).nrFlags != 0)
> + deprecated("%License annotations are deprecated, use arguments instead");
> +
> +- if ((yyvsp[(2) - (3)].license).type == NULL)
> +- if ((of = getOptFlag(&(yyvsp[(3) - (3)].optflags), "Type", string_flag)) != NULL)
> +- (yyvsp[(2) - (3)].license).type = of->fvalue.sval;
> +-
> +- if ((yyvsp[(2) - (3)].license).licensee == NULL)
> +- if ((of = getOptFlag(&(yyvsp[(3) - (3)].optflags), "Licensee", string_flag)) != NULL)
> +- (yyvsp[(2) - (3)].license).licensee = of->fvalue.sval;
> +-
> +- if ((yyvsp[(2) - (3)].license).signature == NULL)
> +- if ((of = getOptFlag(&(yyvsp[(3) - (3)].optflags), "Signature", string_flag)) != NULL)
> +- (yyvsp[(2) - (3)].license).signature = of->fvalue.sval;
> +-
> +- if ((yyvsp[(2) - (3)].license).timestamp == NULL)
> +- if ((of = getOptFlag(&(yyvsp[(3) - (3)].optflags), "Timestamp", string_flag)) != NULL)
> +- (yyvsp[(2) - (3)].license).timestamp = of->fvalue.sval;
> ++ if ((yyvsp[-1].license).type == NULL)
> ++ if ((of = getOptFlag(&(yyvsp[0].optflags), "Type", string_flag)) != NULL)
> ++ (yyvsp[-1].license).type = of->fvalue.sval;
> ++
> ++ if ((yyvsp[-1].license).licensee == NULL)
> ++ if ((of = getOptFlag(&(yyvsp[0].optflags), "Licensee", string_flag)) != NULL)
> ++ (yyvsp[-1].license).licensee = of->fvalue.sval;
> ++
> ++ if ((yyvsp[-1].license).signature == NULL)
> ++ if ((of = getOptFlag(&(yyvsp[0].optflags), "Signature", string_flag)) != NULL)
> ++ (yyvsp[-1].license).signature = of->fvalue.sval;
> ++
> ++ if ((yyvsp[-1].license).timestamp == NULL)
> ++ if ((of = getOptFlag(&(yyvsp[0].optflags), "Timestamp", string_flag)) != NULL)
> ++ (yyvsp[-1].license).timestamp = of->fvalue.sval;
> +
> +- if ((yyvsp[(2) - (3)].license).type == NULL)
> ++ if ((yyvsp[-1].license).type == NULL)
> + yyerror("%License must have a 'type' argument");
> +
> + if (notSkipping())
> + {
> + currentModule->license = sipMalloc(sizeof (licenseDef));
> +
> +- currentModule->license->type = (yyvsp[(2) - (3)].license).type;
> +- currentModule->license->licensee = (yyvsp[(2) - (3)].license).licensee;
> +- currentModule->license->sig = (yyvsp[(2) - (3)].license).signature;
> +- currentModule->license->timestamp = (yyvsp[(2) - (3)].license).timestamp;
> ++ currentModule->license->type = (yyvsp[-1].license).type;
> ++ currentModule->license->licensee = (yyvsp[-1].license).licensee;
> ++ currentModule->license->sig = (yyvsp[-1].license).signature;
> ++ currentModule->license->timestamp = (yyvsp[-1].license).timestamp;
> + }
> + }
> ++#line 3783 "../parser.c"
> + break;
> +
> +- case 153:
> +-#line 1545 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 153: /* license_args: %empty */
> ++#line 1546 "parser.y"
> ++ {
> + resetLexerState();
> +
> + (yyval.license).type = NULL;
> +@@ -4123,242 +3792,265 @@ yyreduce:
> + (yyval.license).signature = NULL;
> + (yyval.license).timestamp = NULL;
> + }
> ++#line 3796 "../parser.c"
> + break;
> +
> +- case 154:
> +-#line 1553 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.license).type = (yyvsp[(1) - (1)].text);
> ++ case 154: /* license_args: TK_STRING_VALUE */
> ++#line 1554 "parser.y"
> ++ {
> ++ (yyval.license).type = (yyvsp[0].text);
> + (yyval.license).licensee = NULL;
> + (yyval.license).signature = NULL;
> + (yyval.license).timestamp = NULL;
> + }
> ++#line 3807 "../parser.c"
> + break;
> +
> +- case 155:
> +-#line 1559 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.license) = (yyvsp[(2) - (3)].license);
> ++ case 155: /* license_args: '(' license_arg_list ')' */
> ++#line 1560 "parser.y"
> ++ {
> ++ (yyval.license) = (yyvsp[-1].license);
> + }
> ++#line 3815 "../parser.c"
> + break;
> +
> +- case 157:
> +-#line 1565 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.license) = (yyvsp[(1) - (3)].license);
> ++ case 157: /* license_arg_list: license_arg_list ',' license_arg */
> ++#line 1566 "parser.y"
> ++ {
> ++ (yyval.license) = (yyvsp[-2].license);
> +
> +- switch ((yyvsp[(3) - (3)].license).token)
> ++ switch ((yyvsp[0].license).token)
> + {
> +- case TK_TYPE: (yyval.license).type = (yyvsp[(3) - (3)].license).type; break;
> +- case TK_LICENSEE: (yyval.license).licensee = (yyvsp[(3) - (3)].license).licensee; break;
> +- case TK_SIGNATURE: (yyval.license).signature = (yyvsp[(3) - (3)].license).signature; break;
> +- case TK_TIMESTAMP: (yyval.license).timestamp = (yyvsp[(3) - (3)].license).timestamp; break;
> ++ case TK_TYPE: (yyval.license).type = (yyvsp[0].license).type; break;
> ++ case TK_LICENSEE: (yyval.license).licensee = (yyvsp[0].license).licensee; break;
> ++ case TK_SIGNATURE: (yyval.license).signature = (yyvsp[0].license).signature; break;
> ++ case TK_TIMESTAMP: (yyval.license).timestamp = (yyvsp[0].license).timestamp; break;
> + }
> + }
> ++#line 3831 "../parser.c"
> + break;
> +
> +- case 158:
> +-#line 1578 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 158: /* license_arg: TK_TYPE '=' TK_STRING_VALUE */
> ++#line 1579 "parser.y"
> ++ {
> + (yyval.license).token = TK_NAME;
> +
> +- (yyval.license).type = (yyvsp[(3) - (3)].text);
> ++ (yyval.license).type = (yyvsp[0].text);
> + (yyval.license).licensee = NULL;
> + (yyval.license).signature = NULL;
> + (yyval.license).timestamp = NULL;
> + }
> ++#line 3844 "../parser.c"
> + break;
> +
> +- case 159:
> +-#line 1586 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 159: /* license_arg: TK_LICENSEE '=' TK_STRING_VALUE */
> ++#line 1587 "parser.y"
> ++ {
> + (yyval.license).token = TK_LICENSEE;
> +
> + (yyval.license).type = NULL;
> +- (yyval.license).licensee = (yyvsp[(3) - (3)].text);
> ++ (yyval.license).licensee = (yyvsp[0].text);
> + (yyval.license).signature = NULL;
> + (yyval.license).timestamp = NULL;
> + }
> ++#line 3857 "../parser.c"
> + break;
> +
> +- case 160:
> +-#line 1594 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 160: /* license_arg: TK_SIGNATURE '=' TK_STRING_VALUE */
> ++#line 1595 "parser.y"
> ++ {
> + (yyval.license).token = TK_SIGNATURE;
> +
> + (yyval.license).type = NULL;
> + (yyval.license).licensee = NULL;
> +- (yyval.license).signature = (yyvsp[(3) - (3)].text);
> ++ (yyval.license).signature = (yyvsp[0].text);
> + (yyval.license).timestamp = NULL;
> + }
> ++#line 3870 "../parser.c"
> + break;
> +
> +- case 161:
> +-#line 1602 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 161: /* license_arg: TK_TIMESTAMP '=' TK_STRING_VALUE */
> ++#line 1603 "parser.y"
> ++ {
> + (yyval.license).token = TK_TIMESTAMP;
> +
> + (yyval.license).type = NULL;
> + (yyval.license).licensee = NULL;
> + (yyval.license).signature = NULL;
> +- (yyval.license).timestamp = (yyvsp[(3) - (3)].text);
> ++ (yyval.license).timestamp = (yyvsp[0].text);
> + }
> ++#line 3883 "../parser.c"
> + break;
> +
> +- case 162:
> +-#line 1612 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 162: /* defmetatype: TK_DEFMETATYPE defmetatype_args */
> ++#line 1613 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + if (currentModule->defmetatype != NULL)
> + yyerror("%DefaultMetatype has already been defined for this module");
> +
> +- currentModule->defmetatype = cacheName(currentSpec, (yyvsp[(2) - (2)].defmetatype).name);
> ++ currentModule->defmetatype = cacheName(currentSpec, (yyvsp[0].defmetatype).name);
> + }
> + }
> ++#line 3897 "../parser.c"
> + break;
> +
> +- case 163:
> +-#line 1623 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 163: /* defmetatype_args: dottedname */
> ++#line 1624 "parser.y"
> ++ {
> + resetLexerState();
> +
> +- (yyval.defmetatype).name = (yyvsp[(1) - (1)].text);
> ++ (yyval.defmetatype).name = (yyvsp[0].text);
> + }
> ++#line 3907 "../parser.c"
> + break;
> +
> +- case 164:
> +-#line 1628 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.defmetatype) = (yyvsp[(2) - (3)].defmetatype);
> ++ case 164: /* defmetatype_args: '(' defmetatype_arg_list ')' */
> ++#line 1629 "parser.y"
> ++ {
> ++ (yyval.defmetatype) = (yyvsp[-1].defmetatype);
> + }
> ++#line 3915 "../parser.c"
> + break;
> +
> +- case 166:
> +-#line 1634 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.defmetatype) = (yyvsp[(1) - (3)].defmetatype);
> ++ case 166: /* defmetatype_arg_list: defmetatype_arg_list ',' defmetatype_arg */
> ++#line 1635 "parser.y"
> ++ {
> ++ (yyval.defmetatype) = (yyvsp[-2].defmetatype);
> +
> +- switch ((yyvsp[(3) - (3)].defmetatype).token)
> ++ switch ((yyvsp[0].defmetatype).token)
> + {
> +- case TK_NAME: (yyval.defmetatype).name = (yyvsp[(3) - (3)].defmetatype).name; break;
> ++ case TK_NAME: (yyval.defmetatype).name = (yyvsp[0].defmetatype).name; break;
> + }
> + }
> ++#line 3928 "../parser.c"
> + break;
> +
> +- case 167:
> +-#line 1644 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 167: /* defmetatype_arg: TK_NAME '=' dottedname */
> ++#line 1645 "parser.y"
> ++ {
> + (yyval.defmetatype).token = TK_NAME;
> +
> +- (yyval.defmetatype).name = (yyvsp[(3) - (3)].text);
> ++ (yyval.defmetatype).name = (yyvsp[0].text);
> + }
> ++#line 3938 "../parser.c"
> + break;
> +
> +- case 168:
> +-#line 1651 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 168: /* defsupertype: TK_DEFSUPERTYPE defsupertype_args */
> ++#line 1652 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + if (currentModule->defsupertype != NULL)
> + yyerror("%DefaultSupertype has already been defined for this module");
> +
> +- currentModule->defsupertype = cacheName(currentSpec, (yyvsp[(2) - (2)].defsupertype).name);
> ++ currentModule->defsupertype = cacheName(currentSpec, (yyvsp[0].defsupertype).name);
> + }
> + }
> ++#line 3952 "../parser.c"
> + break;
> +
> +- case 169:
> +-#line 1662 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 169: /* defsupertype_args: dottedname */
> ++#line 1663 "parser.y"
> ++ {
> + resetLexerState();
> +
> +- (yyval.defsupertype).name = (yyvsp[(1) - (1)].text);
> ++ (yyval.defsupertype).name = (yyvsp[0].text);
> + }
> ++#line 3962 "../parser.c"
> + break;
> +
> +- case 170:
> +-#line 1667 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.defsupertype) = (yyvsp[(2) - (3)].defsupertype);
> ++ case 170: /* defsupertype_args: '(' defsupertype_arg_list ')' */
> ++#line 1668 "parser.y"
> ++ {
> ++ (yyval.defsupertype) = (yyvsp[-1].defsupertype);
> + }
> ++#line 3970 "../parser.c"
> + break;
> +
> +- case 172:
> +-#line 1673 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.defsupertype) = (yyvsp[(1) - (3)].defsupertype);
> ++ case 172: /* defsupertype_arg_list: defsupertype_arg_list ',' defsupertype_arg */
> ++#line 1674 "parser.y"
> ++ {
> ++ (yyval.defsupertype) = (yyvsp[-2].defsupertype);
> +
> +- switch ((yyvsp[(3) - (3)].defsupertype).token)
> ++ switch ((yyvsp[0].defsupertype).token)
> + {
> +- case TK_NAME: (yyval.defsupertype).name = (yyvsp[(3) - (3)].defsupertype).name; break;
> ++ case TK_NAME: (yyval.defsupertype).name = (yyvsp[0].defsupertype).name; break;
> + }
> + }
> ++#line 3983 "../parser.c"
> + break;
> +
> +- case 173:
> +-#line 1683 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 173: /* defsupertype_arg: TK_NAME '=' dottedname */
> ++#line 1684 "parser.y"
> ++ {
> + (yyval.defsupertype).token = TK_NAME;
> +
> +- (yyval.defsupertype).name = (yyvsp[(3) - (3)].text);
> ++ (yyval.defsupertype).name = (yyvsp[0].text);
> + }
> ++#line 3993 "../parser.c"
> + break;
> +
> +- case 174:
> +-#line 1690 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 174: /* hiddenns: TK_HIDE_NS hiddenns_args */
> ++#line 1691 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + classDef *ns;
> +
> + ns = newClass(currentSpec, namespace_iface, NULL,
> +- fullyQualifiedName((yyvsp[(2) - (2)].hiddenns).name), NULL, NULL, NULL, NULL);
> ++ fullyQualifiedName((yyvsp[0].hiddenns).name), NULL, NULL, NULL, NULL);
> + setHiddenNamespace(ns);
> + }
> + }
> ++#line 4008 "../parser.c"
> + break;
> +
> +- case 175:
> +-#line 1702 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 175: /* hiddenns_args: scopedname */
> ++#line 1703 "parser.y"
> ++ {
> + resetLexerState();
> +
> +- (yyval.hiddenns).name = (yyvsp[(1) - (1)].scpvalp);
> ++ (yyval.hiddenns).name = (yyvsp[0].scpvalp);
> + }
> ++#line 4018 "../parser.c"
> + break;
> +
> +- case 176:
> +-#line 1707 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.hiddenns) = (yyvsp[(2) - (3)].hiddenns);
> ++ case 176: /* hiddenns_args: '(' hiddenns_arg_list ')' */
> ++#line 1708 "parser.y"
> ++ {
> ++ (yyval.hiddenns) = (yyvsp[-1].hiddenns);
> + }
> ++#line 4026 "../parser.c"
> + break;
> +
> +- case 178:
> +-#line 1713 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.hiddenns) = (yyvsp[(1) - (3)].hiddenns);
> ++ case 178: /* hiddenns_arg_list: hiddenns_arg_list ',' hiddenns_arg */
> ++#line 1714 "parser.y"
> ++ {
> ++ (yyval.hiddenns) = (yyvsp[-2].hiddenns);
> +
> +- switch ((yyvsp[(3) - (3)].hiddenns).token)
> ++ switch ((yyvsp[0].hiddenns).token)
> + {
> +- case TK_NAME: (yyval.hiddenns).name = (yyvsp[(3) - (3)].hiddenns).name; break;
> ++ case TK_NAME: (yyval.hiddenns).name = (yyvsp[0].hiddenns).name; break;
> + }
> + }
> ++#line 4039 "../parser.c"
> + break;
> +
> +- case 179:
> +-#line 1723 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 179: /* hiddenns_arg: TK_NAME '=' scopedname */
> ++#line 1724 "parser.y"
> ++ {
> + (yyval.hiddenns).token = TK_NAME;
> +
> +- (yyval.hiddenns).name = (yyvsp[(3) - (3)].scpvalp);
> ++ (yyval.hiddenns).name = (yyvsp[0].scpvalp);
> + }
> ++#line 4049 "../parser.c"
> + break;
> +
> +- case 180:
> +-#line 1730 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 180: /* consmodule: TK_CONSMODULE consmodule_args consmodule_body */
> ++#line 1731 "parser.y"
> ++ {
> + deprecated("%ConsolidatedModule is deprecated and will not be supported by SIP v5");
> +
> + if (notSkipping())
> +@@ -4370,99 +4062,109 @@ yyreduce:
> + if (currentModule->fullname != NULL)
> + yyerror("%ConsolidatedModule must appear before any %Module or %CModule directive");
> +
> +- setModuleName(currentSpec, currentModule, (yyvsp[(2) - (3)].consmodule).name);
> +- currentModule->docstring = (yyvsp[(3) - (3)].consmodule).docstring;
> ++ setModuleName(currentSpec, currentModule, (yyvsp[-1].consmodule).name);
> ++ currentModule->docstring = (yyvsp[0].consmodule).docstring;
> +
> + setIsConsolidated(currentModule);
> + }
> + }
> ++#line 4072 "../parser.c"
> + break;
> +
> +- case 181:
> +-#line 1750 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 181: /* consmodule_args: dottedname */
> ++#line 1751 "parser.y"
> ++ {
> + resetLexerState();
> +
> +- (yyval.consmodule).name = (yyvsp[(1) - (1)].text);
> ++ (yyval.consmodule).name = (yyvsp[0].text);
> + }
> ++#line 4082 "../parser.c"
> + break;
> +
> +- case 182:
> +-#line 1755 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.consmodule) = (yyvsp[(2) - (3)].consmodule);
> ++ case 182: /* consmodule_args: '(' consmodule_arg_list ')' */
> ++#line 1756 "parser.y"
> ++ {
> ++ (yyval.consmodule) = (yyvsp[-1].consmodule);
> + }
> ++#line 4090 "../parser.c"
> + break;
> +
> +- case 184:
> +-#line 1761 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.consmodule) = (yyvsp[(1) - (3)].consmodule);
> ++ case 184: /* consmodule_arg_list: consmodule_arg_list ',' consmodule_arg */
> ++#line 1762 "parser.y"
> ++ {
> ++ (yyval.consmodule) = (yyvsp[-2].consmodule);
> +
> +- switch ((yyvsp[(3) - (3)].consmodule).token)
> ++ switch ((yyvsp[0].consmodule).token)
> + {
> +- case TK_NAME: (yyval.consmodule).name = (yyvsp[(3) - (3)].consmodule).name; break;
> ++ case TK_NAME: (yyval.consmodule).name = (yyvsp[0].consmodule).name; break;
> + }
> + }
> ++#line 4103 "../parser.c"
> + break;
> +
> +- case 185:
> +-#line 1771 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 185: /* consmodule_arg: TK_NAME '=' dottedname */
> ++#line 1772 "parser.y"
> ++ {
> + (yyval.consmodule).token = TK_NAME;
> +
> +- (yyval.consmodule).name = (yyvsp[(3) - (3)].text);
> ++ (yyval.consmodule).name = (yyvsp[0].text);
> + }
> ++#line 4113 "../parser.c"
> + break;
> +
> +- case 186:
> +-#line 1778 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 186: /* consmodule_body: %empty */
> ++#line 1779 "parser.y"
> ++ {
> + (yyval.consmodule).token = 0;
> + (yyval.consmodule).docstring = NULL;
> + }
> ++#line 4122 "../parser.c"
> + break;
> +
> +- case 187:
> +-#line 1782 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.consmodule) = (yyvsp[(2) - (4)].consmodule);
> ++ case 187: /* consmodule_body: '{' consmodule_body_directives '}' ';' */
> ++#line 1783 "parser.y"
> ++ {
> ++ (yyval.consmodule) = (yyvsp[-2].consmodule);
> + }
> ++#line 4130 "../parser.c"
> + break;
> +
> +- case 189:
> +-#line 1788 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.consmodule) = (yyvsp[(1) - (2)].consmodule);
> ++ case 189: /* consmodule_body_directives: consmodule_body_directives consmodule_body_directive */
> ++#line 1789 "parser.y"
> ++ {
> ++ (yyval.consmodule) = (yyvsp[-1].consmodule);
> +
> +- switch ((yyvsp[(2) - (2)].consmodule).token)
> ++ switch ((yyvsp[0].consmodule).token)
> + {
> +- case TK_DOCSTRING: (yyval.consmodule).docstring = (yyvsp[(2) - (2)].consmodule).docstring; break;
> ++ case TK_DOCSTRING: (yyval.consmodule).docstring = (yyvsp[0].consmodule).docstring; break;
> + }
> + }
> ++#line 4143 "../parser.c"
> + break;
> +
> +- case 190:
> +-#line 1798 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 190: /* consmodule_body_directive: ifstart */
> ++#line 1799 "parser.y"
> ++ {
> + (yyval.consmodule).token = TK_IF;
> + }
> ++#line 4151 "../parser.c"
> + break;
> +
> +- case 191:
> +-#line 1801 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 191: /* consmodule_body_directive: ifend */
> ++#line 1802 "parser.y"
> ++ {
> + (yyval.consmodule).token = TK_END;
> + }
> ++#line 4159 "../parser.c"
> + break;
> +
> +- case 192:
> +-#line 1804 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 192: /* consmodule_body_directive: docstring */
> ++#line 1805 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + (yyval.consmodule).token = TK_DOCSTRING;
> +- (yyval.consmodule).docstring = (yyvsp[(1) - (1)].docstr);
> ++ (yyval.consmodule).docstring = (yyvsp[0].docstr);
> + }
> + else
> + {
> +@@ -4470,11 +4172,12 @@ yyreduce:
> + (yyval.consmodule).docstring = NULL;
> + }
> + }
> ++#line 4176 "../parser.c"
> + break;
> +
> +- case 193:
> +-#line 1818 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 193: /* compmodule: TK_COMPOMODULE compmodule_args compmodule_body */
> ++#line 1819 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + /* Make sure this is the first mention of a module. */
> +@@ -4484,99 +4187,109 @@ yyreduce:
> + if (currentModule->fullname != NULL)
> + yyerror("%CompositeModule must appear before any %Module directive");
> +
> +- setModuleName(currentSpec, currentModule, (yyvsp[(2) - (3)].compmodule).name);
> +- currentModule->docstring = (yyvsp[(3) - (3)].compmodule).docstring;
> ++ setModuleName(currentSpec, currentModule, (yyvsp[-1].compmodule).name);
> ++ currentModule->docstring = (yyvsp[0].compmodule).docstring;
> +
> + setIsComposite(currentModule);
> + }
> + }
> ++#line 4197 "../parser.c"
> + break;
> +
> +- case 194:
> +-#line 1836 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 194: /* compmodule_args: dottedname */
> ++#line 1837 "parser.y"
> ++ {
> + resetLexerState();
> +
> +- (yyval.compmodule).name = (yyvsp[(1) - (1)].text);
> ++ (yyval.compmodule).name = (yyvsp[0].text);
> + }
> ++#line 4207 "../parser.c"
> + break;
> +
> +- case 195:
> +-#line 1841 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.compmodule) = (yyvsp[(2) - (3)].compmodule);
> ++ case 195: /* compmodule_args: '(' compmodule_arg_list ')' */
> ++#line 1842 "parser.y"
> ++ {
> ++ (yyval.compmodule) = (yyvsp[-1].compmodule);
> + }
> ++#line 4215 "../parser.c"
> + break;
> +
> +- case 197:
> +-#line 1847 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.compmodule) = (yyvsp[(1) - (3)].compmodule);
> ++ case 197: /* compmodule_arg_list: compmodule_arg_list ',' compmodule_arg */
> ++#line 1848 "parser.y"
> ++ {
> ++ (yyval.compmodule) = (yyvsp[-2].compmodule);
> +
> +- switch ((yyvsp[(3) - (3)].compmodule).token)
> ++ switch ((yyvsp[0].compmodule).token)
> + {
> +- case TK_NAME: (yyval.compmodule).name = (yyvsp[(3) - (3)].compmodule).name; break;
> ++ case TK_NAME: (yyval.compmodule).name = (yyvsp[0].compmodule).name; break;
> + }
> + }
> ++#line 4228 "../parser.c"
> + break;
> +
> +- case 198:
> +-#line 1857 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 198: /* compmodule_arg: TK_NAME '=' dottedname */
> ++#line 1858 "parser.y"
> ++ {
> + (yyval.compmodule).token = TK_NAME;
> +
> +- (yyval.compmodule).name = (yyvsp[(3) - (3)].text);
> ++ (yyval.compmodule).name = (yyvsp[0].text);
> + }
> ++#line 4238 "../parser.c"
> + break;
> +
> +- case 199:
> +-#line 1864 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 199: /* compmodule_body: %empty */
> ++#line 1865 "parser.y"
> ++ {
> + (yyval.compmodule).token = 0;
> + (yyval.compmodule).docstring = NULL;
> + }
> ++#line 4247 "../parser.c"
> + break;
> +
> +- case 200:
> +-#line 1868 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.compmodule) = (yyvsp[(2) - (4)].compmodule);
> ++ case 200: /* compmodule_body: '{' compmodule_body_directives '}' ';' */
> ++#line 1869 "parser.y"
> ++ {
> ++ (yyval.compmodule) = (yyvsp[-2].compmodule);
> + }
> ++#line 4255 "../parser.c"
> + break;
> +
> +- case 202:
> +-#line 1874 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.compmodule) = (yyvsp[(1) - (2)].compmodule);
> ++ case 202: /* compmodule_body_directives: compmodule_body_directives compmodule_body_directive */
> ++#line 1875 "parser.y"
> ++ {
> ++ (yyval.compmodule) = (yyvsp[-1].compmodule);
> +
> +- switch ((yyvsp[(2) - (2)].compmodule).token)
> ++ switch ((yyvsp[0].compmodule).token)
> + {
> +- case TK_DOCSTRING: (yyval.compmodule).docstring = (yyvsp[(2) - (2)].compmodule).docstring; break;
> ++ case TK_DOCSTRING: (yyval.compmodule).docstring = (yyvsp[0].compmodule).docstring; break;
> + }
> + }
> ++#line 4268 "../parser.c"
> + break;
> +
> +- case 203:
> +-#line 1884 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 203: /* compmodule_body_directive: ifstart */
> ++#line 1885 "parser.y"
> ++ {
> + (yyval.compmodule).token = TK_IF;
> + }
> ++#line 4276 "../parser.c"
> + break;
> +
> +- case 204:
> +-#line 1887 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 204: /* compmodule_body_directive: ifend */
> ++#line 1888 "parser.y"
> ++ {
> + (yyval.compmodule).token = TK_END;
> + }
> ++#line 4284 "../parser.c"
> + break;
> +
> +- case 205:
> +-#line 1890 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 205: /* compmodule_body_directive: docstring */
> ++#line 1891 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + (yyval.compmodule).token = TK_DOCSTRING;
> +- (yyval.compmodule).docstring = (yyvsp[(1) - (1)].docstr);
> ++ (yyval.compmodule).docstring = (yyvsp[0].docstr);
> + }
> + else
> + {
> +@@ -4584,107 +4297,119 @@ yyreduce:
> + (yyval.compmodule).docstring = NULL;
> + }
> + }
> ++#line 4301 "../parser.c"
> + break;
> +
> +- case 206:
> +-#line 1904 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- if ((yyvsp[(2) - (3)].module).name == NULL)
> ++ case 206: /* module: TK_MODULE module_args module_body */
> ++#line 1905 "parser.y"
> ++ {
> ++ if ((yyvsp[-1].module).name == NULL)
> + yyerror("%Module must have a 'name' argument");
> +
> + if (notSkipping())
> + currentModule = configureModule(currentSpec, currentModule,
> +- currentContext.filename, (yyvsp[(2) - (3)].module).name, (yyvsp[(2) - (3)].module).c_module,
> +- (yyvsp[(2) - (3)].module).kwargs, (yyvsp[(2) - (3)].module).use_arg_names, (yyvsp[(2) - (3)].module).use_limited_api,
> +- (yyvsp[(2) - (3)].module).call_super_init, (yyvsp[(2) - (3)].module).all_raise_py_exc,
> +- (yyvsp[(2) - (3)].module).def_error_handler, (yyvsp[(3) - (3)].module).docstring);
> +- }
> ++ currentContext.filename, (yyvsp[-1].module).name, (yyvsp[-1].module).c_module,
> ++ (yyvsp[-1].module).kwargs, (yyvsp[-1].module).use_arg_names, (yyvsp[-1].module).py_ssize_t_clean,
> ++ (yyvsp[-1].module).use_limited_api, (yyvsp[-1].module).call_super_init,
> ++ (yyvsp[-1].module).all_raise_py_exc, (yyvsp[-1].module).def_error_handler,
> ++ (yyvsp[0].module).docstring);
> ++ }
> ++#line 4318 "../parser.c"
> + break;
> +
> +- case 207:
> +-#line 1915 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 207: /* module: TK_CMODULE dottedname optnumber */
> ++#line 1917 "parser.y"
> ++ {
> + deprecated("%CModule is deprecated, use %Module and the 'language' argument instead");
> +
> + if (notSkipping())
> + currentModule = configureModule(currentSpec, currentModule,
> +- currentContext.filename, (yyvsp[(2) - (3)].text), TRUE, defaultKwArgs,
> +- FALSE, FALSE, -1, FALSE, NULL, NULL);
> ++ currentContext.filename, (yyvsp[-1].text), TRUE, defaultKwArgs,
> ++ FALSE, FALSE, FALSE, -1, FALSE, NULL, NULL);
> + }
> ++#line 4331 "../parser.c"
> + break;
> +
> +- case 208:
> +-#line 1925 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {resetLexerState();}
> ++ case 208: /* $@8: %empty */
> ++#line 1927 "parser.y"
> ++ {resetLexerState();}
> ++#line 4337 "../parser.c"
> + break;
> +
> +- case 209:
> +-#line 1925 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- if ((yyvsp[(3) - (3)].number) >= 0)
> ++ case 209: /* module_args: dottedname $@8 optnumber */
> ++#line 1927 "parser.y"
> ++ {
> ++ if ((yyvsp[0].number) >= 0)
> + deprecated("%Module version number should be specified using the 'version' argument");
> +
> + (yyval.module).c_module = FALSE;
> + (yyval.module).kwargs = defaultKwArgs;
> +- (yyval.module).name = (yyvsp[(1) - (3)].text);
> ++ (yyval.module).name = (yyvsp[-2].text);
> + (yyval.module).use_arg_names = FALSE;
> ++ (yyval.module).py_ssize_t_clean = FALSE;
> + (yyval.module).use_limited_api = FALSE;
> + (yyval.module).all_raise_py_exc = FALSE;
> + (yyval.module).call_super_init = -1;
> + (yyval.module).def_error_handler = NULL;
> + }
> ++#line 4356 "../parser.c"
> + break;
> +
> +- case 210:
> +-#line 1938 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.module) = (yyvsp[(2) - (3)].module);
> ++ case 210: /* module_args: '(' module_arg_list ')' */
> ++#line 1941 "parser.y"
> ++ {
> ++ (yyval.module) = (yyvsp[-1].module);
> + }
> ++#line 4364 "../parser.c"
> + break;
> +
> +- case 212:
> +-#line 1944 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.module) = (yyvsp[(1) - (3)].module);
> ++ case 212: /* module_arg_list: module_arg_list ',' module_arg */
> ++#line 1947 "parser.y"
> ++ {
> ++ (yyval.module) = (yyvsp[-2].module);
> +
> +- switch ((yyvsp[(3) - (3)].module).token)
> ++ switch ((yyvsp[0].module).token)
> + {
> +- case TK_KWARGS: (yyval.module).kwargs = (yyvsp[(3) - (3)].module).kwargs; break;
> +- case TK_LANGUAGE: (yyval.module).c_module = (yyvsp[(3) - (3)].module).c_module; break;
> +- case TK_NAME: (yyval.module).name = (yyvsp[(3) - (3)].module).name; break;
> +- case TK_USEARGNAMES: (yyval.module).use_arg_names = (yyvsp[(3) - (3)].module).use_arg_names; break;
> +- case TK_USELIMITEDAPI: (yyval.module).use_limited_api = (yyvsp[(3) - (3)].module).use_limited_api; break;
> +- case TK_ALLRAISEPYEXC: (yyval.module).all_raise_py_exc = (yyvsp[(3) - (3)].module).all_raise_py_exc; break;
> +- case TK_CALLSUPERINIT: (yyval.module).call_super_init = (yyvsp[(3) - (3)].module).call_super_init; break;
> +- case TK_DEFERRORHANDLER: (yyval.module).def_error_handler = (yyvsp[(3) - (3)].module).def_error_handler; break;
> ++ case TK_KWARGS: (yyval.module).kwargs = (yyvsp[0].module).kwargs; break;
> ++ case TK_LANGUAGE: (yyval.module).c_module = (yyvsp[0].module).c_module; break;
> ++ case TK_NAME: (yyval.module).name = (yyvsp[0].module).name; break;
> ++ case TK_USEARGNAMES: (yyval.module).use_arg_names = (yyvsp[0].module).use_arg_names; break;
> ++ case TK_PYSSIZETCLEAN: (yyval.module).py_ssize_t_clean = (yyvsp[0].module).py_ssize_t_clean; break;
> ++ case TK_USELIMITEDAPI: (yyval.module).use_limited_api = (yyvsp[0].module).use_limited_api; break;
> ++ case TK_ALLRAISEPYEXC: (yyval.module).all_raise_py_exc = (yyvsp[0].module).all_raise_py_exc; break;
> ++ case TK_CALLSUPERINIT: (yyval.module).call_super_init = (yyvsp[0].module).call_super_init; break;
> ++ case TK_DEFERRORHANDLER: (yyval.module).def_error_handler = (yyvsp[0].module).def_error_handler; break;
> + }
> + }
> ++#line 4385 "../parser.c"
> + break;
> +
> +- case 213:
> +-#line 1961 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 213: /* module_arg: TK_KWARGS '=' TK_STRING_VALUE */
> ++#line 1965 "parser.y"
> ++ {
> + (yyval.module).token = TK_KWARGS;
> +
> + (yyval.module).c_module = FALSE;
> +- (yyval.module).kwargs = convertKwArgs((yyvsp[(3) - (3)].text));
> ++ (yyval.module).kwargs = convertKwArgs((yyvsp[0].text));
> + (yyval.module).name = NULL;
> + (yyval.module).use_arg_names = FALSE;
> ++ (yyval.module).py_ssize_t_clean = FALSE;
> + (yyval.module).use_limited_api = FALSE;
> + (yyval.module).all_raise_py_exc = FALSE;
> + (yyval.module).call_super_init = -1;
> + (yyval.module).def_error_handler = NULL;
> + }
> ++#line 4403 "../parser.c"
> + break;
> +
> +- case 214:
> +-#line 1973 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 214: /* module_arg: TK_LANGUAGE '=' TK_STRING_VALUE */
> ++#line 1978 "parser.y"
> ++ {
> + (yyval.module).token = TK_LANGUAGE;
> +
> +- if (strcmp((yyvsp[(3) - (3)].text), "C++") == 0)
> ++ if (strcmp((yyvsp[0].text), "C++") == 0)
> + (yyval.module).c_module = FALSE;
> +- else if (strcmp((yyvsp[(3) - (3)].text), "C") == 0)
> ++ else if (strcmp((yyvsp[0].text), "C") == 0)
> + (yyval.module).c_module = TRUE;
> + else
> + yyerror("%Module 'language' argument must be either \"C++\" or \"C\"");
> +@@ -4692,115 +4417,147 @@ yyreduce:
> + (yyval.module).kwargs = defaultKwArgs;
> + (yyval.module).name = NULL;
> + (yyval.module).use_arg_names = FALSE;
> ++ (yyval.module).py_ssize_t_clean = FALSE;
> + (yyval.module).use_limited_api = FALSE;
> + (yyval.module).all_raise_py_exc = FALSE;
> + (yyval.module).call_super_init = -1;
> + (yyval.module).def_error_handler = NULL;
> + }
> ++#line 4427 "../parser.c"
> + break;
> +
> +- case 215:
> +-#line 1991 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 215: /* module_arg: TK_NAME '=' dottedname */
> ++#line 1997 "parser.y"
> ++ {
> + (yyval.module).token = TK_NAME;
> +
> + (yyval.module).c_module = FALSE;
> + (yyval.module).kwargs = defaultKwArgs;
> +- (yyval.module).name = (yyvsp[(3) - (3)].text);
> ++ (yyval.module).name = (yyvsp[0].text);
> + (yyval.module).use_arg_names = FALSE;
> ++ (yyval.module).py_ssize_t_clean = FALSE;
> + (yyval.module).use_limited_api = FALSE;
> + (yyval.module).all_raise_py_exc = FALSE;
> + (yyval.module).call_super_init = -1;
> + (yyval.module).def_error_handler = NULL;
> + }
> ++#line 4445 "../parser.c"
> + break;
> +
> +- case 216:
> +-#line 2003 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 216: /* module_arg: TK_USEARGNAMES '=' bool_value */
> ++#line 2010 "parser.y"
> ++ {
> + (yyval.module).token = TK_USEARGNAMES;
> +
> + (yyval.module).c_module = FALSE;
> + (yyval.module).kwargs = defaultKwArgs;
> + (yyval.module).name = NULL;
> +- (yyval.module).use_arg_names = (yyvsp[(3) - (3)].boolean);
> ++ (yyval.module).use_arg_names = (yyvsp[0].boolean);
> ++ (yyval.module).py_ssize_t_clean = FALSE;
> + (yyval.module).use_limited_api = FALSE;
> + (yyval.module).all_raise_py_exc = FALSE;
> + (yyval.module).call_super_init = -1;
> + (yyval.module).def_error_handler = NULL;
> + }
> ++#line 4463 "../parser.c"
> + break;
> +
> +- case 217:
> +-#line 2015 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 217: /* module_arg: TK_PYSSIZETCLEAN '=' bool_value */
> ++#line 2023 "parser.y"
> ++ {
> ++ (yyval.module).token = TK_PYSSIZETCLEAN;
> ++
> ++ (yyval.module).c_module = FALSE;
> ++ (yyval.module).kwargs = defaultKwArgs;
> ++ (yyval.module).name = NULL;
> ++ (yyval.module).use_arg_names = FALSE;
> ++ (yyval.module).py_ssize_t_clean = (yyvsp[0].boolean);
> ++ (yyval.module).use_limited_api = FALSE;
> ++ (yyval.module).all_raise_py_exc = FALSE;
> ++ (yyval.module).call_super_init = -1;
> ++ (yyval.module).def_error_handler = NULL;
> ++ }
> ++#line 4481 "../parser.c"
> ++ break;
> ++
> ++ case 218: /* module_arg: TK_USELIMITEDAPI '=' bool_value */
> ++#line 2036 "parser.y"
> ++ {
> + (yyval.module).token = TK_USELIMITEDAPI;
> +
> + (yyval.module).c_module = FALSE;
> + (yyval.module).kwargs = defaultKwArgs;
> + (yyval.module).name = NULL;
> + (yyval.module).use_arg_names = FALSE;
> +- (yyval.module).use_limited_api = (yyvsp[(3) - (3)].boolean);
> ++ (yyval.module).py_ssize_t_clean = FALSE;
> ++ (yyval.module).use_limited_api = (yyvsp[0].boolean);
> + (yyval.module).all_raise_py_exc = FALSE;
> + (yyval.module).call_super_init = -1;
> + (yyval.module).def_error_handler = NULL;
> + }
> ++#line 4499 "../parser.c"
> + break;
> +
> +- case 218:
> +-#line 2027 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 219: /* module_arg: TK_ALLRAISEPYEXC '=' bool_value */
> ++#line 2049 "parser.y"
> ++ {
> + (yyval.module).token = TK_ALLRAISEPYEXC;
> +
> + (yyval.module).c_module = FALSE;
> + (yyval.module).kwargs = defaultKwArgs;
> + (yyval.module).name = NULL;
> + (yyval.module).use_arg_names = FALSE;
> ++ (yyval.module).py_ssize_t_clean = FALSE;
> + (yyval.module).use_limited_api = FALSE;
> +- (yyval.module).all_raise_py_exc = (yyvsp[(3) - (3)].boolean);
> ++ (yyval.module).all_raise_py_exc = (yyvsp[0].boolean);
> + (yyval.module).call_super_init = -1;
> + (yyval.module).def_error_handler = NULL;
> + }
> ++#line 4517 "../parser.c"
> + break;
> +
> +- case 219:
> +-#line 2039 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 220: /* module_arg: TK_CALLSUPERINIT '=' bool_value */
> ++#line 2062 "parser.y"
> ++ {
> + (yyval.module).token = TK_CALLSUPERINIT;
> +
> + (yyval.module).c_module = FALSE;
> + (yyval.module).kwargs = defaultKwArgs;
> + (yyval.module).name = NULL;
> + (yyval.module).use_arg_names = FALSE;
> ++ (yyval.module).py_ssize_t_clean = FALSE;
> + (yyval.module).use_limited_api = FALSE;
> + (yyval.module).all_raise_py_exc = FALSE;
> +- (yyval.module).call_super_init = (yyvsp[(3) - (3)].boolean);
> ++ (yyval.module).call_super_init = (yyvsp[0].boolean);
> + (yyval.module).def_error_handler = NULL;
> + }
> ++#line 4535 "../parser.c"
> + break;
> +
> +- case 220:
> +-#line 2051 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 221: /* module_arg: TK_DEFERRORHANDLER '=' TK_NAME_VALUE */
> ++#line 2075 "parser.y"
> ++ {
> + (yyval.module).token = TK_DEFERRORHANDLER;
> +
> + (yyval.module).c_module = FALSE;
> + (yyval.module).kwargs = defaultKwArgs;
> + (yyval.module).name = NULL;
> + (yyval.module).use_arg_names = FALSE;
> ++ (yyval.module).py_ssize_t_clean = FALSE;
> + (yyval.module).use_limited_api = FALSE;
> + (yyval.module).all_raise_py_exc = FALSE;
> + (yyval.module).call_super_init = -1;
> +- (yyval.module).def_error_handler = (yyvsp[(3) - (3)].text);
> ++ (yyval.module).def_error_handler = (yyvsp[0].text);
> + }
> ++#line 4553 "../parser.c"
> + break;
> +
> +- case 221:
> +-#line 2063 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 222: /* module_arg: TK_VERSION '=' TK_NUMBER_VALUE */
> ++#line 2088 "parser.y"
> ++ {
> + deprecated("%Module version numbers are deprecated and ignored");
> +
> +- if ((yyvsp[(3) - (3)].number) < 0)
> ++ if ((yyvsp[0].number) < 0)
> + yyerror("%Module 'version' argument cannot be negative");
> +
> + (yyval.module).token = TK_VERSION;
> +@@ -4809,68 +4566,76 @@ yyreduce:
> + (yyval.module).kwargs = defaultKwArgs;
> + (yyval.module).name = NULL;
> + (yyval.module).use_arg_names = FALSE;
> ++ (yyval.module).py_ssize_t_clean = FALSE;
> + (yyval.module).use_limited_api = FALSE;
> + (yyval.module).all_raise_py_exc = FALSE;
> + (yyval.module).call_super_init = -1;
> + (yyval.module).def_error_handler = NULL;
> + }
> ++#line 4576 "../parser.c"
> + break;
> +
> +- case 222:
> +-#line 2082 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 223: /* module_body: %empty */
> ++#line 2108 "parser.y"
> ++ {
> + (yyval.module).token = 0;
> + (yyval.module).docstring = NULL;
> + }
> ++#line 4585 "../parser.c"
> + break;
> +
> +- case 223:
> +-#line 2086 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.module) = (yyvsp[(2) - (4)].module);
> ++ case 224: /* module_body: '{' module_body_directives '}' ';' */
> ++#line 2112 "parser.y"
> ++ {
> ++ (yyval.module) = (yyvsp[-2].module);
> + }
> ++#line 4593 "../parser.c"
> + break;
> +
> +- case 225:
> +-#line 2092 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.module) = (yyvsp[(1) - (2)].module);
> ++ case 226: /* module_body_directives: module_body_directives module_body_directive */
> ++#line 2118 "parser.y"
> ++ {
> ++ (yyval.module) = (yyvsp[-1].module);
> +
> +- switch ((yyvsp[(2) - (2)].module).token)
> ++ switch ((yyvsp[0].module).token)
> + {
> +- case TK_DOCSTRING: (yyval.module).docstring = (yyvsp[(2) - (2)].module).docstring; break;
> ++ case TK_DOCSTRING: (yyval.module).docstring = (yyvsp[0].module).docstring; break;
> + }
> + }
> ++#line 4606 "../parser.c"
> + break;
> +
> +- case 226:
> +-#line 2102 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 227: /* module_body_directive: ifstart */
> ++#line 2128 "parser.y"
> ++ {
> + (yyval.module).token = TK_IF;
> + }
> ++#line 4614 "../parser.c"
> + break;
> +
> +- case 227:
> +-#line 2105 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 228: /* module_body_directive: ifend */
> ++#line 2131 "parser.y"
> ++ {
> + (yyval.module).token = TK_END;
> + }
> ++#line 4622 "../parser.c"
> + break;
> +
> +- case 228:
> +-#line 2108 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 229: /* module_body_directive: autopyname */
> ++#line 2134 "parser.y"
> ++ {
> + (yyval.module).token = TK_AUTOPYNAME;
> + }
> ++#line 4630 "../parser.c"
> + break;
> +
> +- case 229:
> +-#line 2111 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 230: /* module_body_directive: docstring */
> ++#line 2137 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + (yyval.module).token = TK_DOCSTRING;
> +- (yyval.module).docstring = (yyvsp[(1) - (1)].docstr);
> ++ (yyval.module).docstring = (yyvsp[0].docstr);
> + }
> + else
> + {
> +@@ -4878,11 +4643,12 @@ yyreduce:
> + (yyval.module).docstring = NULL;
> + }
> + }
> ++#line 4647 "../parser.c"
> + break;
> +
> +- case 231:
> +-#line 2126 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 232: /* dottedname: TK_PATH_VALUE */
> ++#line 2152 "parser.y"
> ++ {
> + /*
> + * The grammar design is a bit broken and this is the easiest way
> + * to allow periods in names.
> +@@ -4890,435 +4656,487 @@ yyreduce:
> +
> + char *cp;
> +
> +- for (cp = (yyvsp[(1) - (1)].text); *cp != '\0'; ++cp)
> ++ for (cp = (yyvsp[0].text); *cp != '\0'; ++cp)
> + if (*cp != '.' && *cp != '_' && !isalnum(*cp))
> + yyerror("Invalid character in name");
> +
> +- (yyval.text) = (yyvsp[(1) - (1)].text);
> ++ (yyval.text) = (yyvsp[0].text);
> + }
> ++#line 4666 "../parser.c"
> + break;
> +
> +- case 232:
> +-#line 2142 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 233: /* optnumber: %empty */
> ++#line 2168 "parser.y"
> ++ {
> + (yyval.number) = -1;
> + }
> ++#line 4674 "../parser.c"
> + break;
> +
> +- case 234:
> +-#line 2148 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- if ((yyvsp[(2) - (2)].include).name == NULL)
> ++ case 235: /* include: TK_INCLUDE include_args */
> ++#line 2174 "parser.y"
> ++ {
> ++ if ((yyvsp[0].include).name == NULL)
> + yyerror("%Include must have a 'name' argument");
> +
> + if (notSkipping())
> +- parseFile(NULL, (yyvsp[(2) - (2)].include).name, NULL, (yyvsp[(2) - (2)].include).optional);
> ++ parseFile(NULL, (yyvsp[0].include).name, NULL, (yyvsp[0].include).optional);
> + }
> ++#line 4686 "../parser.c"
> + break;
> +
> +- case 235:
> +-#line 2157 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 236: /* include_args: TK_PATH_VALUE */
> ++#line 2183 "parser.y"
> ++ {
> + resetLexerState();
> +
> +- (yyval.include).name = (yyvsp[(1) - (1)].text);
> ++ (yyval.include).name = (yyvsp[0].text);
> + (yyval.include).optional = FALSE;
> + }
> ++#line 4697 "../parser.c"
> + break;
> +
> +- case 236:
> +-#line 2163 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.include) = (yyvsp[(2) - (3)].include);
> ++ case 237: /* include_args: '(' include_arg_list ')' */
> ++#line 2189 "parser.y"
> ++ {
> ++ (yyval.include) = (yyvsp[-1].include);
> + }
> ++#line 4705 "../parser.c"
> + break;
> +
> +- case 238:
> +-#line 2169 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.include) = (yyvsp[(1) - (3)].include);
> ++ case 239: /* include_arg_list: include_arg_list ',' include_arg */
> ++#line 2195 "parser.y"
> ++ {
> ++ (yyval.include) = (yyvsp[-2].include);
> +
> +- switch ((yyvsp[(3) - (3)].include).token)
> ++ switch ((yyvsp[0].include).token)
> + {
> +- case TK_NAME: (yyval.include).name = (yyvsp[(3) - (3)].include).name; break;
> +- case TK_OPTIONAL: (yyval.include).optional = (yyvsp[(3) - (3)].include).optional; break;
> ++ case TK_NAME: (yyval.include).name = (yyvsp[0].include).name; break;
> ++ case TK_OPTIONAL: (yyval.include).optional = (yyvsp[0].include).optional; break;
> + }
> + }
> ++#line 4719 "../parser.c"
> + break;
> +
> +- case 239:
> +-#line 2180 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 240: /* include_arg: TK_NAME '=' TK_PATH_VALUE */
> ++#line 2206 "parser.y"
> ++ {
> + (yyval.include).token = TK_NAME;
> +
> +- (yyval.include).name = (yyvsp[(3) - (3)].text);
> ++ (yyval.include).name = (yyvsp[0].text);
> + (yyval.include).optional = FALSE;
> + }
> ++#line 4730 "../parser.c"
> + break;
> +
> +- case 240:
> +-#line 2186 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 241: /* include_arg: TK_OPTIONAL '=' bool_value */
> ++#line 2212 "parser.y"
> ++ {
> + (yyval.include).token = TK_OPTIONAL;
> +
> + (yyval.include).name = NULL;
> +- (yyval.include).optional = (yyvsp[(3) - (3)].boolean);
> ++ (yyval.include).optional = (yyvsp[0].boolean);
> + }
> ++#line 4741 "../parser.c"
> + break;
> +
> +- case 241:
> +-#line 2194 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 242: /* optinclude: TK_OPTINCLUDE TK_PATH_VALUE */
> ++#line 2220 "parser.y"
> ++ {
> + deprecated("%OptionalInclude is deprecated, use %Include and the 'optional' argument instead");
> +
> + if (notSkipping())
> +- parseFile(NULL, (yyvsp[(2) - (2)].text), NULL, TRUE);
> ++ parseFile(NULL, (yyvsp[0].text), NULL, TRUE);
> + }
> ++#line 4752 "../parser.c"
> + break;
> +
> +- case 242:
> +-#line 2202 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 243: /* import: TK_IMPORT import_args */
> ++#line 2228 "parser.y"
> ++ {
> + if (notSkipping())
> +- newImport((yyvsp[(2) - (2)].import).name);
> ++ newImport((yyvsp[0].import).name);
> + }
> ++#line 4761 "../parser.c"
> + break;
> +
> +- case 243:
> +-#line 2208 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 244: /* import_args: TK_PATH_VALUE */
> ++#line 2234 "parser.y"
> ++ {
> + resetLexerState();
> +
> +- (yyval.import).name = (yyvsp[(1) - (1)].text);
> ++ (yyval.import).name = (yyvsp[0].text);
> + }
> ++#line 4771 "../parser.c"
> + break;
> +
> +- case 244:
> +-#line 2213 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.import) = (yyvsp[(2) - (3)].import);
> ++ case 245: /* import_args: '(' import_arg_list ')' */
> ++#line 2239 "parser.y"
> ++ {
> ++ (yyval.import) = (yyvsp[-1].import);
> + }
> ++#line 4779 "../parser.c"
> + break;
> +
> +- case 246:
> +-#line 2219 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.import) = (yyvsp[(1) - (3)].import);
> ++ case 247: /* import_arg_list: import_arg_list ',' import_arg */
> ++#line 2245 "parser.y"
> ++ {
> ++ (yyval.import) = (yyvsp[-2].import);
> +
> +- switch ((yyvsp[(3) - (3)].import).token)
> ++ switch ((yyvsp[0].import).token)
> + {
> +- case TK_NAME: (yyval.import).name = (yyvsp[(3) - (3)].import).name; break;
> ++ case TK_NAME: (yyval.import).name = (yyvsp[0].import).name; break;
> + }
> + }
> ++#line 4792 "../parser.c"
> + break;
> +
> +- case 247:
> +-#line 2229 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 248: /* import_arg: TK_NAME '=' TK_PATH_VALUE */
> ++#line 2255 "parser.y"
> ++ {
> + (yyval.import).token = TK_NAME;
> +
> +- (yyval.import).name = (yyvsp[(3) - (3)].text);
> ++ (yyval.import).name = (yyvsp[0].text);
> + }
> ++#line 4802 "../parser.c"
> + break;
> +
> +- case 248:
> +-#line 2236 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 249: /* optaccesscode: %empty */
> ++#line 2262 "parser.y"
> ++ {
> + (yyval.codeb) = NULL;
> + }
> ++#line 4810 "../parser.c"
> + break;
> +
> +- case 249:
> +-#line 2239 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> ++ case 250: /* optaccesscode: TK_ACCESSCODE codeblock */
> ++#line 2265 "parser.y"
> ++ {
> ++ (yyval.codeb) = (yyvsp[0].codeb);
> + }
> ++#line 4818 "../parser.c"
> + break;
> +
> +- case 250:
> +-#line 2244 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 251: /* optgetcode: %empty */
> ++#line 2270 "parser.y"
> ++ {
> + (yyval.codeb) = NULL;
> + }
> ++#line 4826 "../parser.c"
> + break;
> +
> +- case 251:
> +-#line 2247 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> ++ case 252: /* optgetcode: TK_GETCODE codeblock */
> ++#line 2273 "parser.y"
> ++ {
> ++ (yyval.codeb) = (yyvsp[0].codeb);
> + }
> ++#line 4834 "../parser.c"
> + break;
> +
> +- case 252:
> +-#line 2252 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 253: /* optsetcode: %empty */
> ++#line 2278 "parser.y"
> ++ {
> + (yyval.codeb) = NULL;
> + }
> ++#line 4842 "../parser.c"
> + break;
> +
> +- case 253:
> +-#line 2255 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> ++ case 254: /* optsetcode: TK_SETCODE codeblock */
> ++#line 2281 "parser.y"
> ++ {
> ++ (yyval.codeb) = (yyvsp[0].codeb);
> + }
> ++#line 4850 "../parser.c"
> + break;
> +
> +- case 254:
> +-#line 2260 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 255: /* copying: TK_COPYING codeblock */
> ++#line 2286 "parser.y"
> ++ {
> + if (notSkipping())
> +- appendCodeBlock(¤tModule->copying, (yyvsp[(2) - (2)].codeb));
> ++ appendCodeBlock(¤tModule->copying, (yyvsp[0].codeb));
> + }
> ++#line 4859 "../parser.c"
> + break;
> +
> +- case 255:
> +-#line 2266 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 256: /* exphdrcode: TK_EXPHEADERCODE codeblock */
> ++#line 2292 "parser.y"
> ++ {
> + if (notSkipping())
> +- appendCodeBlock(¤tSpec->exphdrcode, (yyvsp[(2) - (2)].codeb));
> ++ appendCodeBlock(¤tSpec->exphdrcode, (yyvsp[0].codeb));
> + }
> ++#line 4868 "../parser.c"
> + break;
> +
> +- case 256:
> +-#line 2272 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 257: /* modhdrcode: TK_MODHEADERCODE codeblock */
> ++#line 2298 "parser.y"
> ++ {
> + if (notSkipping())
> +- appendCodeBlock(¤tModule->hdrcode, (yyvsp[(2) - (2)].codeb));
> ++ appendCodeBlock(¤tModule->hdrcode, (yyvsp[0].codeb));
> + }
> ++#line 4877 "../parser.c"
> + break;
> +
> +- case 257:
> +-#line 2278 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> ++ case 258: /* typehdrcode: TK_TYPEHEADERCODE codeblock */
> ++#line 2304 "parser.y"
> ++ {
> ++ (yyval.codeb) = (yyvsp[0].codeb);
> + }
> ++#line 4885 "../parser.c"
> + break;
> +
> +- case 258:
> +-#line 2283 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> ++ case 259: /* travcode: TK_TRAVERSECODE codeblock */
> ++#line 2309 "parser.y"
> ++ {
> ++ (yyval.codeb) = (yyvsp[0].codeb);
> + }
> ++#line 4893 "../parser.c"
> + break;
> +
> +- case 259:
> +-#line 2288 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> ++ case 260: /* clearcode: TK_CLEARCODE codeblock */
> ++#line 2314 "parser.y"
> ++ {
> ++ (yyval.codeb) = (yyvsp[0].codeb);
> + }
> ++#line 4901 "../parser.c"
> + break;
> +
> +- case 260:
> +-#line 2293 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> ++ case 261: /* getbufcode: TK_GETBUFFERCODE codeblock */
> ++#line 2319 "parser.y"
> ++ {
> ++ (yyval.codeb) = (yyvsp[0].codeb);
> + }
> ++#line 4909 "../parser.c"
> + break;
> +
> +- case 261:
> +-#line 2298 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> ++ case 262: /* releasebufcode: TK_RELEASEBUFFERCODE codeblock */
> ++#line 2324 "parser.y"
> ++ {
> ++ (yyval.codeb) = (yyvsp[0].codeb);
> + }
> ++#line 4917 "../parser.c"
> + break;
> +
> +- case 262:
> +-#line 2303 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> ++ case 263: /* readbufcode: TK_READBUFFERCODE codeblock */
> ++#line 2329 "parser.y"
> ++ {
> ++ (yyval.codeb) = (yyvsp[0].codeb);
> + }
> ++#line 4925 "../parser.c"
> + break;
> +
> +- case 263:
> +-#line 2308 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> ++ case 264: /* writebufcode: TK_WRITEBUFFERCODE codeblock */
> ++#line 2334 "parser.y"
> ++ {
> ++ (yyval.codeb) = (yyvsp[0].codeb);
> + }
> ++#line 4933 "../parser.c"
> + break;
> +
> +- case 264:
> +-#line 2313 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> ++ case 265: /* segcountcode: TK_SEGCOUNTCODE codeblock */
> ++#line 2339 "parser.y"
> ++ {
> ++ (yyval.codeb) = (yyvsp[0].codeb);
> + }
> ++#line 4941 "../parser.c"
> + break;
> +
> +- case 265:
> +-#line 2318 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> ++ case 266: /* charbufcode: TK_CHARBUFFERCODE codeblock */
> ++#line 2344 "parser.y"
> ++ {
> ++ (yyval.codeb) = (yyvsp[0].codeb);
> + }
> ++#line 4949 "../parser.c"
> + break;
> +
> +- case 266:
> +-#line 2323 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> ++ case 267: /* instancecode: TK_INSTANCECODE codeblock */
> ++#line 2349 "parser.y"
> ++ {
> ++ (yyval.codeb) = (yyvsp[0].codeb);
> + }
> ++#line 4957 "../parser.c"
> + break;
> +
> +- case 267:
> +-#line 2328 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> ++ case 268: /* picklecode: TK_PICKLECODE codeblock */
> ++#line 2354 "parser.y"
> ++ {
> ++ (yyval.codeb) = (yyvsp[0].codeb);
> + }
> ++#line 4965 "../parser.c"
> + break;
> +
> +- case 268:
> +-#line 2333 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> ++ case 269: /* finalcode: TK_FINALCODE codeblock */
> ++#line 2359 "parser.y"
> ++ {
> ++ (yyval.codeb) = (yyvsp[0].codeb);
> + }
> ++#line 4973 "../parser.c"
> + break;
> +
> +- case 269:
> +-#line 2338 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 270: /* modcode: TK_MODCODE codeblock */
> ++#line 2364 "parser.y"
> ++ {
> + if (notSkipping())
> +- appendCodeBlock(¤tModule->cppcode, (yyvsp[(2) - (2)].codeb));
> ++ appendCodeBlock(¤tModule->cppcode, (yyvsp[0].codeb));
> + }
> ++#line 4982 "../parser.c"
> + break;
> +
> +- case 270:
> +-#line 2344 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> ++ case 271: /* typecode: TK_TYPECODE codeblock */
> ++#line 2370 "parser.y"
> ++ {
> ++ (yyval.codeb) = (yyvsp[0].codeb);
> + }
> ++#line 4990 "../parser.c"
> + break;
> +
> +- case 271:
> +-#line 2349 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 272: /* preinitcode: TK_PREINITCODE codeblock */
> ++#line 2375 "parser.y"
> ++ {
> + if (notSkipping())
> +- appendCodeBlock(¤tModule->preinitcode, (yyvsp[(2) - (2)].codeb));
> ++ appendCodeBlock(¤tModule->preinitcode, (yyvsp[0].codeb));
> + }
> ++#line 4999 "../parser.c"
> + break;
> +
> +- case 272:
> +-#line 2355 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 273: /* initcode: TK_INITCODE codeblock */
> ++#line 2381 "parser.y"
> ++ {
> + if (notSkipping())
> +- appendCodeBlock(¤tModule->initcode, (yyvsp[(2) - (2)].codeb));
> ++ appendCodeBlock(¤tModule->initcode, (yyvsp[0].codeb));
> + }
> ++#line 5008 "../parser.c"
> + break;
> +
> +- case 273:
> +-#line 2361 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 274: /* postinitcode: TK_POSTINITCODE codeblock */
> ++#line 2387 "parser.y"
> ++ {
> + if (notSkipping())
> +- appendCodeBlock(¤tModule->postinitcode, (yyvsp[(2) - (2)].codeb));
> ++ appendCodeBlock(¤tModule->postinitcode, (yyvsp[0].codeb));
> + }
> ++#line 5017 "../parser.c"
> + break;
> +
> +- case 274:
> +-#line 2367 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 275: /* unitcode: TK_UNITCODE codeblock */
> ++#line 2393 "parser.y"
> ++ {
> + if (notSkipping())
> +- appendCodeBlock(¤tModule->unitcode, (yyvsp[(2) - (2)].codeb));
> ++ appendCodeBlock(¤tModule->unitcode, (yyvsp[0].codeb));
> + }
> ++#line 5026 "../parser.c"
> + break;
> +
> +- case 275:
> +-#line 2373 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 276: /* unitpostinccode: TK_UNITPOSTINCLUDECODE codeblock */
> ++#line 2399 "parser.y"
> ++ {
> + if (notSkipping())
> +- appendCodeBlock(¤tModule->unitpostinccode, (yyvsp[(2) - (2)].codeb));
> ++ appendCodeBlock(¤tModule->unitpostinccode, (yyvsp[0].codeb));
> + }
> ++#line 5035 "../parser.c"
> + break;
> +
> +- case 276:
> +-#line 2379 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 277: /* prepycode: TK_PREPYCODE codeblock */
> ++#line 2405 "parser.y"
> ++ {
> + /* Deprecated. */
> + }
> ++#line 5043 "../parser.c"
> + break;
> +
> +- case 277:
> +-#line 2384 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 278: /* exptypehintcode: TK_EXPTYPEHINTCODE codeblock */
> ++#line 2410 "parser.y"
> ++ {
> + if (notSkipping() && !inMainModule())
> +- appendCodeBlock(¤tSpec->exptypehintcode, (yyvsp[(2) - (2)].codeb));
> ++ appendCodeBlock(¤tSpec->exptypehintcode, (yyvsp[0].codeb));
> + }
> ++#line 5052 "../parser.c"
> + break;
> +
> +- case 278:
> +-#line 2390 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 279: /* modtypehintcode: TK_TYPEHINTCODE codeblock */
> ++#line 2416 "parser.y"
> ++ {
> + if (notSkipping())
> +- appendCodeBlock(¤tModule->typehintcode, (yyvsp[(2) - (2)].codeb));
> ++ appendCodeBlock(¤tModule->typehintcode, (yyvsp[0].codeb));
> + }
> ++#line 5061 "../parser.c"
> + break;
> +
> +- case 279:
> +-#line 2396 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> ++ case 280: /* classtypehintcode: TK_TYPEHINTCODE codeblock */
> ++#line 2422 "parser.y"
> ++ {
> ++ (yyval.codeb) = (yyvsp[0].codeb);
> + }
> ++#line 5069 "../parser.c"
> + break;
> +
> +- case 280:
> +-#line 2401 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 281: /* doc: TK_DOC codeblock */
> ++#line 2427 "parser.y"
> ++ {
> + if (notSkipping() && inMainModule())
> +- appendCodeBlock(¤tSpec->docs, (yyvsp[(2) - (2)].codeb));
> ++ appendCodeBlock(¤tSpec->docs, (yyvsp[0].codeb));
> + }
> ++#line 5078 "../parser.c"
> + break;
> +
> +- case 281:
> +-#line 2407 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 282: /* exporteddoc: TK_EXPORTEDDOC codeblock */
> ++#line 2433 "parser.y"
> ++ {
> + if (notSkipping())
> +- appendCodeBlock(¤tSpec->docs, (yyvsp[(2) - (2)].codeb));
> ++ appendCodeBlock(¤tSpec->docs, (yyvsp[0].codeb));
> + }
> ++#line 5087 "../parser.c"
> + break;
> +
> +- case 282:
> +-#line 2413 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 283: /* autopyname: TK_AUTOPYNAME autopyname_args */
> ++#line 2439 "parser.y"
> ++ {
> + if (notSkipping())
> +- addAutoPyName(currentModule, (yyvsp[(2) - (2)].autopyname).remove_leading);
> ++ addAutoPyName(currentModule, (yyvsp[0].autopyname).remove_leading);
> + }
> ++#line 5096 "../parser.c"
> + break;
> +
> +- case 283:
> +-#line 2419 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.autopyname) = (yyvsp[(2) - (3)].autopyname);
> ++ case 284: /* autopyname_args: '(' autopyname_arg_list ')' */
> ++#line 2445 "parser.y"
> ++ {
> ++ (yyval.autopyname) = (yyvsp[-1].autopyname);
> + }
> ++#line 5104 "../parser.c"
> + break;
> +
> +- case 285:
> +-#line 2425 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.autopyname) = (yyvsp[(1) - (3)].autopyname);
> ++ case 286: /* autopyname_arg_list: autopyname_arg_list ',' autopyname_arg */
> ++#line 2451 "parser.y"
> ++ {
> ++ (yyval.autopyname) = (yyvsp[-2].autopyname);
> +
> +- switch ((yyvsp[(3) - (3)].autopyname).token)
> ++ switch ((yyvsp[0].autopyname).token)
> + {
> +- case TK_REMOVELEADING: (yyval.autopyname).remove_leading = (yyvsp[(3) - (3)].autopyname).remove_leading; break;
> ++ case TK_REMOVELEADING: (yyval.autopyname).remove_leading = (yyvsp[0].autopyname).remove_leading; break;
> + }
> + }
> ++#line 5117 "../parser.c"
> + break;
> +
> +- case 286:
> +-#line 2435 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 287: /* autopyname_arg: TK_REMOVELEADING '=' TK_STRING_VALUE */
> ++#line 2461 "parser.y"
> ++ {
> + (yyval.autopyname).token = TK_REMOVELEADING;
> +
> +- (yyval.autopyname).remove_leading = (yyvsp[(3) - (3)].text);
> ++ (yyval.autopyname).remove_leading = (yyvsp[0].text);
> + }
> ++#line 5127 "../parser.c"
> + break;
> +
> +- case 287:
> +-#line 2442 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 288: /* docstring: TK_DOCSTRING docstring_args codeblock */
> ++#line 2468 "parser.y"
> ++ {
> + (yyval.docstr) = sipMalloc(sizeof(docstringDef));
> +
> +- (yyval.docstr)->signature = (yyvsp[(2) - (3)].docstring).signature;
> +- (yyval.docstr)->text = (yyvsp[(3) - (3)].codeb)->frag;
> +- free((yyvsp[(3) - (3)].codeb));
> ++ (yyval.docstr)->signature = (yyvsp[-1].docstring).signature;
> ++ (yyval.docstr)->text = (yyvsp[0].codeb)->frag;
> ++ free((yyvsp[0].codeb));
> +
> + /* Format the docstring. */
> +- if ((yyvsp[(2) - (3)].docstring).format == deindented)
> ++ if ((yyvsp[-1].docstring).format == deindented)
> + {
> + const char *cp;
> + char *dp;
> +@@ -5392,159 +5210,175 @@ yyreduce:
> + *dp = '\0';
> + }
> + }
> ++#line 5214 "../parser.c"
> + break;
> +
> +- case 288:
> +-#line 2526 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 289: /* docstring_args: %empty */
> ++#line 2552 "parser.y"
> ++ {
> + (yyval.docstring).format = currentModule->defdocstringfmt;
> + (yyval.docstring).signature = currentModule->defdocstringsig;
> + }
> ++#line 5223 "../parser.c"
> + break;
> +
> +- case 289:
> +-#line 2530 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 290: /* docstring_args: TK_STRING_VALUE */
> ++#line 2556 "parser.y"
> ++ {
> + resetLexerState();
> +
> +- (yyval.docstring).format = convertFormat((yyvsp[(1) - (1)].text));
> ++ (yyval.docstring).format = convertFormat((yyvsp[0].text));
> + (yyval.docstring).signature = currentModule->defdocstringsig;
> + }
> ++#line 5234 "../parser.c"
> + break;
> +
> +- case 290:
> +-#line 2536 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.docstring) = (yyvsp[(2) - (3)].docstring);
> ++ case 291: /* docstring_args: '(' docstring_arg_list ')' */
> ++#line 2562 "parser.y"
> ++ {
> ++ (yyval.docstring) = (yyvsp[-1].docstring);
> + }
> ++#line 5242 "../parser.c"
> + break;
> +
> +- case 292:
> +-#line 2542 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.docstring) = (yyvsp[(1) - (3)].docstring);
> ++ case 293: /* docstring_arg_list: docstring_arg_list ',' docstring_arg */
> ++#line 2568 "parser.y"
> ++ {
> ++ (yyval.docstring) = (yyvsp[-2].docstring);
> +
> +- switch ((yyvsp[(3) - (3)].docstring).token)
> ++ switch ((yyvsp[0].docstring).token)
> + {
> +- case TK_FORMAT: (yyval.docstring).format = (yyvsp[(3) - (3)].docstring).format; break;
> +- case TK_SIGNATURE: (yyval.docstring).signature = (yyvsp[(3) - (3)].docstring).signature; break;
> ++ case TK_FORMAT: (yyval.docstring).format = (yyvsp[0].docstring).format; break;
> ++ case TK_SIGNATURE: (yyval.docstring).signature = (yyvsp[0].docstring).signature; break;
> + }
> + }
> ++#line 5256 "../parser.c"
> + break;
> +
> +- case 293:
> +-#line 2553 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 294: /* docstring_arg: TK_FORMAT '=' TK_STRING_VALUE */
> ++#line 2579 "parser.y"
> ++ {
> + (yyval.docstring).token = TK_FORMAT;
> +
> +- (yyval.docstring).format = convertFormat((yyvsp[(3) - (3)].text));
> ++ (yyval.docstring).format = convertFormat((yyvsp[0].text));
> + (yyval.docstring).signature = currentModule->defdocstringsig;
> + }
> ++#line 5267 "../parser.c"
> + break;
> +
> +- case 294:
> +-#line 2559 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 295: /* docstring_arg: TK_SIGNATURE '=' TK_STRING_VALUE */
> ++#line 2585 "parser.y"
> ++ {
> + (yyval.docstring).token = TK_SIGNATURE;
> +
> + (yyval.docstring).format = currentModule->defdocstringfmt;
> +- (yyval.docstring).signature = convertSignature((yyvsp[(3) - (3)].text));
> ++ (yyval.docstring).signature = convertSignature((yyvsp[0].text));
> + }
> ++#line 5278 "../parser.c"
> + break;
> +
> +- case 295:
> +-#line 2567 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 296: /* optdocstring: %empty */
> ++#line 2593 "parser.y"
> ++ {
> + (yyval.docstr) = NULL;
> + }
> ++#line 5286 "../parser.c"
> + break;
> +
> +- case 297:
> +-#line 2573 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- if ((yyvsp[(2) - (3)].extract).id == NULL)
> ++ case 298: /* extract: TK_EXTRACT extract_args codeblock */
> ++#line 2599 "parser.y"
> ++ {
> ++ if ((yyvsp[-1].extract).id == NULL)
> + yyerror("%Extract must have an 'id' argument");
> +
> + if (notSkipping())
> +- addExtractPart(currentSpec, (yyvsp[(2) - (3)].extract).id, (yyvsp[(2) - (3)].extract).order, (yyvsp[(3) - (3)].codeb));
> ++ addExtractPart(currentSpec, (yyvsp[-1].extract).id, (yyvsp[-1].extract).order, (yyvsp[0].codeb));
> + }
> ++#line 5298 "../parser.c"
> + break;
> +
> +- case 298:
> +-#line 2582 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 299: /* extract_args: TK_NAME_VALUE */
> ++#line 2608 "parser.y"
> ++ {
> + resetLexerState();
> +
> +- (yyval.extract).id = (yyvsp[(1) - (1)].text);
> ++ (yyval.extract).id = (yyvsp[0].text);
> + (yyval.extract).order = -1;
> + }
> ++#line 5309 "../parser.c"
> + break;
> +
> +- case 299:
> +-#line 2588 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.extract) = (yyvsp[(2) - (3)].extract);
> ++ case 300: /* extract_args: '(' extract_arg_list ')' */
> ++#line 2614 "parser.y"
> ++ {
> ++ (yyval.extract) = (yyvsp[-1].extract);
> + }
> ++#line 5317 "../parser.c"
> + break;
> +
> +- case 301:
> +-#line 2594 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.extract) = (yyvsp[(1) - (3)].extract);
> ++ case 302: /* extract_arg_list: extract_arg_list ',' extract_arg */
> ++#line 2620 "parser.y"
> ++ {
> ++ (yyval.extract) = (yyvsp[-2].extract);
> +
> +- switch ((yyvsp[(3) - (3)].extract).token)
> ++ switch ((yyvsp[0].extract).token)
> + {
> +- case TK_ID: (yyval.extract).id = (yyvsp[(3) - (3)].extract).id; break;
> +- case TK_ORDER: (yyval.extract).order = (yyvsp[(3) - (3)].extract).order; break;
> ++ case TK_ID: (yyval.extract).id = (yyvsp[0].extract).id; break;
> ++ case TK_ORDER: (yyval.extract).order = (yyvsp[0].extract).order; break;
> + }
> + }
> ++#line 5331 "../parser.c"
> + break;
> +
> +- case 302:
> +-#line 2605 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 303: /* extract_arg: TK_ID '=' TK_NAME_VALUE */
> ++#line 2631 "parser.y"
> ++ {
> + (yyval.extract).token = TK_ID;
> +
> +- (yyval.extract).id = (yyvsp[(3) - (3)].text);
> ++ (yyval.extract).id = (yyvsp[0].text);
> + (yyval.extract).order = -1;
> + }
> ++#line 5342 "../parser.c"
> + break;
> +
> +- case 303:
> +-#line 2611 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 304: /* extract_arg: TK_ORDER '=' TK_NUMBER_VALUE */
> ++#line 2637 "parser.y"
> ++ {
> + (yyval.extract).token = TK_ORDER;
> +
> +- if ((yyvsp[(3) - (3)].number) < 0)
> ++ if ((yyvsp[0].number) < 0)
> + yyerror("The 'order' of an %Extract directive must not be negative");
> +
> + (yyval.extract).id = NULL;
> +- (yyval.extract).order = (yyvsp[(3) - (3)].number);
> ++ (yyval.extract).order = (yyvsp[0].number);
> + }
> ++#line 5356 "../parser.c"
> + break;
> +
> +- case 304:
> +-#line 2622 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 305: /* makefile: TK_MAKEFILE TK_PATH_VALUE optfilename codeblock */
> ++#line 2648 "parser.y"
> ++ {
> + /* Deprecated. */
> + }
> ++#line 5364 "../parser.c"
> + break;
> +
> +- case 307:
> +-#line 2631 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.codeb) = (yyvsp[(1) - (2)].codeb);
> ++ case 308: /* codelines: codelines TK_CODELINE */
> ++#line 2657 "parser.y"
> ++ {
> ++ (yyval.codeb) = (yyvsp[-1].codeb);
> +
> +- append(&(yyval.codeb)->frag, (yyvsp[(2) - (2)].codeb)->frag);
> ++ append(&(yyval.codeb)->frag, (yyvsp[0].codeb)->frag);
> +
> +- free((yyvsp[(2) - (2)].codeb)->frag);
> +- free((yyvsp[(2) - (2)].codeb));
> ++ free((yyvsp[0].codeb)->frag);
> ++ free((yyvsp[0].codeb));
> + }
> ++#line 5377 "../parser.c"
> + break;
> +
> +- case 308:
> +-#line 2641 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 309: /* $@9: %empty */
> ++#line 2667 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + const char *annos[] = {
> +@@ -5554,72 +5388,80 @@ yyreduce:
> + NULL
> + };
> +
> +- checkAnnos(&(yyvsp[(4) - (4)].optflags), annos);
> ++ checkAnnos(&(yyvsp[0].optflags), annos);
> +
> + if (sectionFlags != 0 && (sectionFlags & ~(SECT_IS_PUBLIC | SECT_IS_PROT)) != 0)
> + yyerror("Class enums must be in the public or protected sections");
> +
> +- if (currentSpec->genc && (yyvsp[(2) - (4)].boolean))
> ++ if (currentSpec->genc && (yyvsp[-2].boolean))
> + yyerror("Scoped enums not allowed in a C module");
> +
> + currentEnum = newEnum(currentSpec, currentModule,
> +- currentMappedType, (yyvsp[(3) - (4)].text), &(yyvsp[(4) - (4)].optflags), sectionFlags, (yyvsp[(2) - (4)].boolean));
> ++ currentMappedType, (yyvsp[-1].text), &(yyvsp[0].optflags), sectionFlags, (yyvsp[-2].boolean));
> + }
> + }
> ++#line 5404 "../parser.c"
> + break;
> +
> +- case 310:
> +-#line 2665 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 311: /* optenumkey: %empty */
> ++#line 2691 "parser.y"
> ++ {
> + (yyval.boolean) = FALSE;
> + }
> ++#line 5412 "../parser.c"
> + break;
> +
> +- case 311:
> +-#line 2668 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 312: /* optenumkey: TK_CLASS */
> ++#line 2694 "parser.y"
> ++ {
> + (yyval.boolean) = TRUE;
> + }
> ++#line 5420 "../parser.c"
> + break;
> +
> +- case 312:
> +-#line 2671 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 313: /* optenumkey: TK_STRUCT */
> ++#line 2697 "parser.y"
> ++ {
> + (yyval.boolean) = TRUE;
> + }
> ++#line 5428 "../parser.c"
> + break;
> +
> +- case 313:
> +-#line 2676 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 314: /* optfilename: %empty */
> ++#line 2702 "parser.y"
> ++ {
> + (yyval.text) = NULL;
> + }
> ++#line 5436 "../parser.c"
> + break;
> +
> +- case 314:
> +-#line 2679 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.text) = (yyvsp[(1) - (1)].text);
> ++ case 315: /* optfilename: TK_PATH_VALUE */
> ++#line 2705 "parser.y"
> ++ {
> ++ (yyval.text) = (yyvsp[0].text);
> + }
> ++#line 5444 "../parser.c"
> + break;
> +
> +- case 315:
> +-#line 2684 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 316: /* optname: %empty */
> ++#line 2710 "parser.y"
> ++ {
> + (yyval.text) = NULL;
> + }
> ++#line 5452 "../parser.c"
> + break;
> +
> +- case 316:
> +-#line 2687 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.text) = (yyvsp[(1) - (1)].text);
> ++ case 317: /* optname: TK_NAME_VALUE */
> ++#line 2713 "parser.y"
> ++ {
> ++ (yyval.text) = (yyvsp[0].text);
> + }
> ++#line 5460 "../parser.c"
> + break;
> +
> +- case 323:
> +-#line 2702 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 324: /* enumline: TK_NAME_VALUE optenumassign optflags optcomma */
> ++#line 2728 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + const char *annos[] = {
> +@@ -5630,15 +5472,15 @@ yyreduce:
> +
> + enumMemberDef *emd, **tail;
> +
> +- checkAnnos(&(yyvsp[(3) - (4)].optflags), annos);
> ++ checkAnnos(&(yyvsp[-1].optflags), annos);
> +
> + /* Note that we don't use the assigned value. */
> + emd = sipMalloc(sizeof (enumMemberDef));
> +
> + emd->pyname = cacheName(currentSpec,
> +- getPythonName(currentModule, &(yyvsp[(3) - (4)].optflags), (yyvsp[(1) - (4)].text)));
> +- emd->cname = (yyvsp[(1) - (4)].text);
> +- emd->no_typehint = getNoTypeHint(&(yyvsp[(3) - (4)].optflags));
> ++ getPythonName(currentModule, &(yyvsp[-1].optflags), (yyvsp[-3].text)));
> ++ emd->cname = (yyvsp[-3].text);
> ++ emd->no_typehint = getNoTypeHint(&(yyvsp[-1].optflags));
> + emd->ed = currentEnum;
> + emd->platforms = currentPlatforms;
> + emd->next = NULL;
> +@@ -5661,309 +5503,345 @@ yyreduce:
> + setIsUsedName(emd->pyname);
> + }
> + }
> ++#line 5507 "../parser.c"
> + break;
> +
> +- case 328:
> +-#line 2754 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 329: /* optassign: %empty */
> ++#line 2780 "parser.y"
> ++ {
> + (yyval.valp) = NULL;
> + }
> ++#line 5515 "../parser.c"
> + break;
> +
> +- case 329:
> +-#line 2757 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.valp) = (yyvsp[(2) - (2)].valp);
> ++ case 330: /* optassign: '=' expr */
> ++#line 2783 "parser.y"
> ++ {
> ++ (yyval.valp) = (yyvsp[0].valp);
> + }
> ++#line 5523 "../parser.c"
> + break;
> +
> +- case 331:
> +-#line 2763 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 332: /* expr: expr binop value */
> ++#line 2789 "parser.y"
> ++ {
> + valueDef *vd;
> +
> +- if ((yyvsp[(1) - (3)].valp) -> vtype == string_value || (yyvsp[(3) - (3)].valp) -> vtype == string_value)
> ++ if ((yyvsp[-2].valp) -> vtype == string_value || (yyvsp[0].valp) -> vtype == string_value)
> + yyerror("Invalid binary operator for string");
> +
> + /* Find the last value in the existing expression. */
> +
> +- for (vd = (yyvsp[(1) - (3)].valp); vd -> next != NULL; vd = vd -> next)
> ++ for (vd = (yyvsp[-2].valp); vd -> next != NULL; vd = vd -> next)
> + ;
> +
> +- vd -> vbinop = (yyvsp[(2) - (3)].qchar);
> +- vd -> next = (yyvsp[(3) - (3)].valp);
> ++ vd -> vbinop = (yyvsp[-1].qchar);
> ++ vd -> next = (yyvsp[0].valp);
> +
> +- (yyval.valp) = (yyvsp[(1) - (3)].valp);
> ++ (yyval.valp) = (yyvsp[-2].valp);
> + }
> ++#line 5544 "../parser.c"
> + break;
> +
> +- case 332:
> +-#line 2781 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 333: /* binop: '-' */
> ++#line 2807 "parser.y"
> ++ {
> + (yyval.qchar) = '-';
> + }
> ++#line 5552 "../parser.c"
> + break;
> +
> +- case 333:
> +-#line 2784 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 334: /* binop: '+' */
> ++#line 2810 "parser.y"
> ++ {
> + (yyval.qchar) = '+';
> + }
> ++#line 5560 "../parser.c"
> + break;
> +
> +- case 334:
> +-#line 2787 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 335: /* binop: '*' */
> ++#line 2813 "parser.y"
> ++ {
> + (yyval.qchar) = '*';
> + }
> ++#line 5568 "../parser.c"
> + break;
> +
> +- case 335:
> +-#line 2790 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 336: /* binop: '/' */
> ++#line 2816 "parser.y"
> ++ {
> + (yyval.qchar) = '/';
> + }
> ++#line 5576 "../parser.c"
> + break;
> +
> +- case 336:
> +-#line 2793 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 337: /* binop: '&' */
> ++#line 2819 "parser.y"
> ++ {
> + (yyval.qchar) = '&';
> + }
> ++#line 5584 "../parser.c"
> + break;
> +
> +- case 337:
> +-#line 2796 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 338: /* binop: '|' */
> ++#line 2822 "parser.y"
> ++ {
> + (yyval.qchar) = '|';
> + }
> ++#line 5592 "../parser.c"
> + break;
> +
> +- case 338:
> +-#line 2801 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 339: /* optunop: %empty */
> ++#line 2827 "parser.y"
> ++ {
> + (yyval.qchar) = '\0';
> + }
> ++#line 5600 "../parser.c"
> + break;
> +
> +- case 339:
> +-#line 2804 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 340: /* optunop: '!' */
> ++#line 2830 "parser.y"
> ++ {
> + (yyval.qchar) = '!';
> + }
> ++#line 5608 "../parser.c"
> + break;
> +
> +- case 340:
> +-#line 2807 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 341: /* optunop: '~' */
> ++#line 2833 "parser.y"
> ++ {
> + (yyval.qchar) = '~';
> + }
> ++#line 5616 "../parser.c"
> + break;
> +
> +- case 341:
> +-#line 2810 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 342: /* optunop: '-' */
> ++#line 2836 "parser.y"
> ++ {
> + (yyval.qchar) = '-';
> + }
> ++#line 5624 "../parser.c"
> + break;
> +
> +- case 342:
> +-#line 2813 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 343: /* optunop: '+' */
> ++#line 2839 "parser.y"
> ++ {
> + (yyval.qchar) = '+';
> + }
> ++#line 5632 "../parser.c"
> + break;
> +
> +- case 343:
> +-#line 2816 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 344: /* optunop: '*' */
> ++#line 2842 "parser.y"
> ++ {
> + (yyval.qchar) = '*';
> + }
> ++#line 5640 "../parser.c"
> + break;
> +
> +- case 344:
> +-#line 2819 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 345: /* optunop: '&' */
> ++#line 2845 "parser.y"
> ++ {
> + (yyval.qchar) = '&';
> + }
> ++#line 5648 "../parser.c"
> + break;
> +
> +- case 345:
> +-#line 2824 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- if ((yyvsp[(2) - (3)].qchar) != '\0' && (yyvsp[(3) - (3)].value).vtype == string_value)
> ++ case 346: /* value: optcast optunop simplevalue */
> ++#line 2850 "parser.y"
> ++ {
> ++ if ((yyvsp[-1].qchar) != '\0' && (yyvsp[0].value).vtype == string_value)
> + yyerror("Invalid unary operator for string");
> +
> + /* Convert the value to a simple expression on the heap. */
> + (yyval.valp) = sipMalloc(sizeof (valueDef));
> +
> +- *(yyval.valp) = (yyvsp[(3) - (3)].value);
> +- (yyval.valp)->vunop = (yyvsp[(2) - (3)].qchar);
> ++ *(yyval.valp) = (yyvsp[0].value);
> ++ (yyval.valp)->vunop = (yyvsp[-1].qchar);
> + (yyval.valp)->vbinop = '\0';
> +- (yyval.valp)->cast = (yyvsp[(1) - (3)].scpvalp);
> ++ (yyval.valp)->cast = (yyvsp[-2].scpvalp);
> + (yyval.valp)->next = NULL;
> + }
> ++#line 5666 "../parser.c"
> + break;
> +
> +- case 346:
> +-#line 2839 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 347: /* optcast: %empty */
> ++#line 2865 "parser.y"
> ++ {
> + (yyval.scpvalp) = NULL;
> + }
> ++#line 5674 "../parser.c"
> + break;
> +
> +- case 347:
> +-#line 2842 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.scpvalp) = (yyvsp[(2) - (3)].scpvalp);
> ++ case 348: /* optcast: '(' scopedname ')' */
> ++#line 2868 "parser.y"
> ++ {
> ++ (yyval.scpvalp) = (yyvsp[-1].scpvalp);
> + }
> ++#line 5682 "../parser.c"
> + break;
> +
> +- case 348:
> +-#line 2847 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 349: /* scopedname: TK_SCOPE scopednamehead */
> ++#line 2873 "parser.y"
> ++ {
> + if (currentSpec->genc)
> + yyerror("Scoped names are not allowed in a C module");
> +
> +- (yyval.scpvalp) = scopeScopedName(NULL, (yyvsp[(2) - (2)].scpvalp));
> ++ (yyval.scpvalp) = scopeScopedName(NULL, (yyvsp[0].scpvalp));
> + }
> ++#line 5693 "../parser.c"
> + break;
> +
> +- case 351:
> +-#line 2857 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 352: /* scopednamehead: scopednamehead TK_SCOPE scopepart */
> ++#line 2883 "parser.y"
> ++ {
> + if (currentSpec->genc)
> + yyerror("Scoped names are not allowed in a C module");
> +
> +- appendScopedName(&(yyvsp[(1) - (3)].scpvalp), (yyvsp[(3) - (3)].scpvalp));
> ++ appendScopedName(&(yyvsp[-2].scpvalp), (yyvsp[0].scpvalp));
> + }
> ++#line 5704 "../parser.c"
> + break;
> +
> +- case 352:
> +-#line 2865 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.scpvalp) = text2scopePart((yyvsp[(1) - (1)].text));
> ++ case 353: /* scopepart: TK_NAME_VALUE */
> ++#line 2891 "parser.y"
> ++ {
> ++ (yyval.scpvalp) = text2scopePart((yyvsp[0].text));
> + }
> ++#line 5712 "../parser.c"
> + break;
> +
> +- case 353:
> +-#line 2870 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 354: /* bool_value: TK_TRUE_VALUE */
> ++#line 2896 "parser.y"
> ++ {
> + (yyval.boolean) = TRUE;
> + }
> ++#line 5720 "../parser.c"
> + break;
> +
> +- case 354:
> +-#line 2873 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 355: /* bool_value: TK_FALSE_VALUE */
> ++#line 2899 "parser.y"
> ++ {
> + (yyval.boolean) = FALSE;
> + }
> ++#line 5728 "../parser.c"
> + break;
> +
> +- case 355:
> +-#line 2878 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 356: /* simplevalue: scopedname */
> ++#line 2904 "parser.y"
> ++ {
> + /*
> + * We let the C++ compiler decide if the value is a valid one - no
> + * point in building a full C++ parser here.
> + */
> +
> + (yyval.value).vtype = scoped_value;
> +- (yyval.value).u.vscp = (yyvsp[(1) - (1)].scpvalp);
> ++ (yyval.value).u.vscp = (yyvsp[0].scpvalp);
> + }
> ++#line 5742 "../parser.c"
> + break;
> +
> +- case 356:
> +-#line 2887 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 357: /* simplevalue: basetype '(' exprlist ')' */
> ++#line 2913 "parser.y"
> ++ {
> + fcallDef *fcd;
> +
> + fcd = sipMalloc(sizeof (fcallDef));
> +- *fcd = (yyvsp[(3) - (4)].fcall);
> +- fcd -> type = (yyvsp[(1) - (4)].memArg);
> ++ *fcd = (yyvsp[-1].fcall);
> ++ fcd -> type = (yyvsp[-3].memArg);
> +
> + (yyval.value).vtype = fcall_value;
> + (yyval.value).u.fcd = fcd;
> + }
> ++#line 5757 "../parser.c"
> + break;
> +
> +- case 357:
> +-#line 2897 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 358: /* simplevalue: '{' '}' */
> ++#line 2923 "parser.y"
> ++ {
> + (yyval.value).vtype = empty_value;
> + }
> ++#line 5765 "../parser.c"
> + break;
> +
> +- case 358:
> +-#line 2900 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 359: /* simplevalue: TK_REAL_VALUE */
> ++#line 2926 "parser.y"
> ++ {
> + (yyval.value).vtype = real_value;
> +- (yyval.value).u.vreal = (yyvsp[(1) - (1)].real);
> ++ (yyval.value).u.vreal = (yyvsp[0].real);
> + }
> ++#line 5774 "../parser.c"
> + break;
> +
> +- case 359:
> +-#line 2904 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 360: /* simplevalue: TK_NUMBER_VALUE */
> ++#line 2930 "parser.y"
> ++ {
> + (yyval.value).vtype = numeric_value;
> +- (yyval.value).u.vnum = (yyvsp[(1) - (1)].number);
> ++ (yyval.value).u.vnum = (yyvsp[0].number);
> + }
> ++#line 5783 "../parser.c"
> + break;
> +
> +- case 360:
> +-#line 2908 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 361: /* simplevalue: bool_value */
> ++#line 2934 "parser.y"
> ++ {
> + (yyval.value).vtype = numeric_value;
> +- (yyval.value).u.vnum = (yyvsp[(1) - (1)].boolean);
> ++ (yyval.value).u.vnum = (yyvsp[0].boolean);
> + }
> ++#line 5792 "../parser.c"
> + break;
> +
> +- case 361:
> +-#line 2912 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 362: /* simplevalue: TK_NULL_VALUE */
> ++#line 2938 "parser.y"
> ++ {
> + (yyval.value).vtype = numeric_value;
> + (yyval.value).u.vnum = 0;
> + }
> ++#line 5801 "../parser.c"
> + break;
> +
> +- case 362:
> +-#line 2916 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 363: /* simplevalue: TK_STRING_VALUE */
> ++#line 2942 "parser.y"
> ++ {
> + (yyval.value).vtype = string_value;
> +- (yyval.value).u.vstr = (yyvsp[(1) - (1)].text);
> ++ (yyval.value).u.vstr = (yyvsp[0].text);
> + }
> ++#line 5810 "../parser.c"
> + break;
> +
> +- case 363:
> +-#line 2920 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 364: /* simplevalue: TK_QCHAR_VALUE */
> ++#line 2946 "parser.y"
> ++ {
> + (yyval.value).vtype = qchar_value;
> +- (yyval.value).u.vqchar = (yyvsp[(1) - (1)].qchar);
> ++ (yyval.value).u.vqchar = (yyvsp[0].qchar);
> + }
> ++#line 5819 "../parser.c"
> + break;
> +
> +- case 364:
> +-#line 2926 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 365: /* exprlist: %empty */
> ++#line 2952 "parser.y"
> ++ {
> + /* No values. */
> +
> + (yyval.fcall).nrArgs = 0;
> + }
> ++#line 5829 "../parser.c"
> + break;
> +
> +- case 365:
> +-#line 2931 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 366: /* exprlist: expr */
> ++#line 2957 "parser.y"
> ++ {
> + /* The single or first expression. */
> +
> +- (yyval.fcall).args[0] = (yyvsp[(1) - (1)].valp);
> ++ (yyval.fcall).args[0] = (yyvsp[0].valp);
> + (yyval.fcall).nrArgs = 1;
> + }
> ++#line 5840 "../parser.c"
> + break;
> +
> +- case 366:
> +-#line 2937 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 367: /* exprlist: exprlist ',' expr */
> ++#line 2963 "parser.y"
> ++ {
> + /* Check that it wasn't ...(,expression...). */
> +
> + if ((yyval.fcall).nrArgs == 0)
> +@@ -5971,19 +5849,20 @@ yyreduce:
> +
> + /* Check there is room. */
> +
> +- if ((yyvsp[(1) - (3)].fcall).nrArgs == MAX_NR_ARGS)
> ++ if ((yyvsp[-2].fcall).nrArgs == MAX_NR_ARGS)
> + yyerror("Internal error - increase the value of MAX_NR_ARGS");
> +
> +- (yyval.fcall) = (yyvsp[(1) - (3)].fcall);
> ++ (yyval.fcall) = (yyvsp[-2].fcall);
> +
> +- (yyval.fcall).args[(yyval.fcall).nrArgs] = (yyvsp[(3) - (3)].valp);
> ++ (yyval.fcall).args[(yyval.fcall).nrArgs] = (yyvsp[0].valp);
> + (yyval.fcall).nrArgs++;
> + }
> ++#line 5861 "../parser.c"
> + break;
> +
> +- case 367:
> +-#line 2955 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 368: /* typedef: TK_TYPEDEF cpptype TK_NAME_VALUE optflags ';' optdocstring */
> ++#line 2981 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + const char *annos[] = {
> +@@ -5999,17 +5878,18 @@ yyreduce:
> + NULL
> + };
> +
> +- checkAnnos(&(yyvsp[(4) - (6)].optflags), annos);
> ++ checkAnnos(&(yyvsp[-2].optflags), annos);
> +
> +- applyTypeFlags(currentModule, &(yyvsp[(2) - (6)].memArg), &(yyvsp[(4) - (6)].optflags));
> +- newTypedef(currentSpec, currentModule, (yyvsp[(3) - (6)].text), &(yyvsp[(2) - (6)].memArg), &(yyvsp[(4) - (6)].optflags), (yyvsp[(6) - (6)].docstr));
> ++ applyTypeFlags(currentModule, &(yyvsp[-4].memArg), &(yyvsp[-2].optflags));
> ++ newTypedef(currentSpec, currentModule, (yyvsp[-3].text), &(yyvsp[-4].memArg), &(yyvsp[-2].optflags), (yyvsp[0].docstr));
> + }
> + }
> ++#line 5888 "../parser.c"
> + break;
> +
> +- case 368:
> +-#line 2977 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 369: /* typedef: TK_TYPEDEF cpptype '(' '*' TK_NAME_VALUE ')' '(' cpptypelist ')' optflags ';' optdocstring */
> ++#line 3003 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + const char *annos[] = {
> +@@ -6027,41 +5907,43 @@ yyreduce:
> + signatureDef *sig;
> + argDef ftype;
> +
> +- checkAnnos(&(yyvsp[(10) - (12)].optflags), annos);
> ++ checkAnnos(&(yyvsp[-2].optflags), annos);
> +
> +- applyTypeFlags(currentModule, &(yyvsp[(2) - (12)].memArg), &(yyvsp[(10) - (12)].optflags));
> ++ applyTypeFlags(currentModule, &(yyvsp[-10].memArg), &(yyvsp[-2].optflags));
> +
> + memset(&ftype, 0, sizeof (argDef));
> +
> + /* Create the full signature on the heap. */
> + sig = sipMalloc(sizeof (signatureDef));
> +- *sig = (yyvsp[(8) - (12)].signature);
> +- sig->result = (yyvsp[(2) - (12)].memArg);
> ++ *sig = (yyvsp[-4].signature);
> ++ sig->result = (yyvsp[-10].memArg);
> +
> + /* Create the full type. */
> + ftype.atype = function_type;
> + ftype.nrderefs = 1;
> + ftype.u.sa = sig;
> +
> +- newTypedef(currentSpec, currentModule, (yyvsp[(5) - (12)].text), &ftype, &(yyvsp[(10) - (12)].optflags), (yyvsp[(12) - (12)].docstr));
> ++ newTypedef(currentSpec, currentModule, (yyvsp[-7].text), &ftype, &(yyvsp[-2].optflags), (yyvsp[0].docstr));
> + }
> + }
> ++#line 5930 "../parser.c"
> + break;
> +
> +- case 369:
> +-#line 3016 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- if (currentSpec -> genc && (yyvsp[(2) - (2)].scpvalp)->next != NULL)
> ++ case 370: /* $@10: %empty */
> ++#line 3042 "parser.y"
> ++ {
> ++ if (currentSpec -> genc && (yyvsp[0].scpvalp)->next != NULL)
> + yyerror("Namespaces not allowed in a C module");
> +
> + if (notSkipping())
> + currentSupers = NULL;
> + }
> ++#line 5942 "../parser.c"
> + break;
> +
> +- case 370:
> +-#line 3022 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 371: /* $@11: %empty */
> ++#line 3048 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + const char *annos[] = {
> +@@ -6091,33 +5973,36 @@ yyreduce:
> + NULL
> + };
> +
> +- checkAnnos(&(yyvsp[(5) - (5)].optflags), annos);
> ++ checkAnnos(&(yyvsp[0].optflags), annos);
> +
> + if (currentSpec->genc && currentSupers != NULL)
> + yyerror("Super-classes not allowed in a C module struct");
> +
> +- defineClass((yyvsp[(2) - (5)].scpvalp), currentSupers, &(yyvsp[(5) - (5)].optflags));
> ++ defineClass((yyvsp[-3].scpvalp), currentSupers, &(yyvsp[0].optflags));
> + sectionFlags = SECT_IS_PUBLIC;
> + }
> + }
> ++#line 5986 "../parser.c"
> + break;
> +
> +- case 371:
> +-#line 3060 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 372: /* struct: TK_STRUCT scopedname $@10 superclasses optflags $@11 optclassbody ';' */
> ++#line 3086 "parser.y"
> ++ {
> + if (notSkipping())
> +- completeClass((yyvsp[(2) - (8)].scpvalp), &(yyvsp[(5) - (8)].optflags), (yyvsp[(7) - (8)].boolean));
> ++ completeClass((yyvsp[-6].scpvalp), &(yyvsp[-3].optflags), (yyvsp[-1].boolean));
> + }
> ++#line 5995 "../parser.c"
> + break;
> +
> +- case 372:
> +-#line 3066 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {currentIsTemplate = TRUE;}
> ++ case 373: /* $@12: %empty */
> ++#line 3092 "parser.y"
> ++ {currentIsTemplate = TRUE;}
> ++#line 6001 "../parser.c"
> + break;
> +
> +- case 373:
> +-#line 3066 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 374: /* classtmpl: template $@12 class */
> ++#line 3092 "parser.y"
> ++ {
> + if (currentSpec->genc)
> + yyerror("Class templates not allowed in a C module");
> +
> +@@ -6128,12 +6013,12 @@ yyreduce:
> + /*
> + * Make sure there is room for the extra class name argument.
> + */
> +- if ((yyvsp[(1) - (3)].signature).nrArgs == MAX_NR_ARGS)
> ++ if ((yyvsp[-2].signature).nrArgs == MAX_NR_ARGS)
> + yyerror("Internal error - increase the value of MAX_NR_ARGS");
> +
> + tcd = sipMalloc(sizeof (classTmplDef));
> +- tcd->sig = (yyvsp[(1) - (3)].signature);
> +- tcd->cd = (yyvsp[(3) - (3)].klass);
> ++ tcd->sig = (yyvsp[-2].signature);
> ++ tcd->cd = (yyvsp[0].klass);
> + tcd->next = currentSpec->classtemplates;
> +
> + currentSpec->classtemplates = tcd;
> +@@ -6141,29 +6026,32 @@ yyreduce:
> +
> + currentIsTemplate = FALSE;
> + }
> ++#line 6030 "../parser.c"
> + break;
> +
> +- case 374:
> +-#line 3092 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.signature) = (yyvsp[(3) - (4)].signature);
> ++ case 375: /* template: TK_TEMPLATE '<' cpptypelist '>' */
> ++#line 3118 "parser.y"
> ++ {
> ++ (yyval.signature) = (yyvsp[-1].signature);
> + }
> ++#line 6038 "../parser.c"
> + break;
> +
> +- case 375:
> +-#line 3097 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 376: /* $@13: %empty */
> ++#line 3123 "parser.y"
> ++ {
> + if (currentSpec->genc)
> + yyerror("Class definition not allowed in a C module");
> +
> + if (notSkipping())
> + currentSupers = NULL;
> + }
> ++#line 6050 "../parser.c"
> + break;
> +
> +- case 376:
> +-#line 3103 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 377: /* $@14: %empty */
> ++#line 3129 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + const char *annos[] = {
> +@@ -6192,30 +6080,32 @@ yyreduce:
> + NULL
> + };
> +
> +- checkAnnos(&(yyvsp[(5) - (5)].optflags), annos);
> ++ checkAnnos(&(yyvsp[0].optflags), annos);
> +
> +- defineClass((yyvsp[(2) - (5)].scpvalp), currentSupers, &(yyvsp[(5) - (5)].optflags));
> ++ defineClass((yyvsp[-3].scpvalp), currentSupers, &(yyvsp[0].optflags));
> + sectionFlags = SECT_IS_PRIVATE;
> + }
> + }
> ++#line 6090 "../parser.c"
> + break;
> +
> +- case 377:
> +-#line 3137 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 378: /* class: TK_CLASS scopedname $@13 superclasses optflags $@14 optclassbody ';' */
> ++#line 3163 "parser.y"
> ++ {
> + if (notSkipping())
> +- (yyval.klass) = completeClass((yyvsp[(2) - (8)].scpvalp), &(yyvsp[(5) - (8)].optflags), (yyvsp[(7) - (8)].boolean));
> ++ (yyval.klass) = completeClass((yyvsp[-6].scpvalp), &(yyvsp[-3].optflags), (yyvsp[-1].boolean));
> + }
> ++#line 6099 "../parser.c"
> + break;
> +
> +- case 382:
> +-#line 3151 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- if (notSkipping() && (yyvsp[(1) - (2)].token) == TK_PUBLIC)
> ++ case 383: /* superclass: class_access scopedname */
> ++#line 3177 "parser.y"
> ++ {
> ++ if (notSkipping() && (yyvsp[-1].token) == TK_PUBLIC)
> + {
> + argDef ad;
> + classDef *super;
> +- scopedNameDef *snd = (yyvsp[(2) - (2)].scpvalp);
> ++ scopedNameDef *snd = (yyvsp[0].scpvalp);
> +
> + /*
> + * This is a hack to allow typedef'ed classes to be used before
> +@@ -6260,53 +6150,60 @@ yyreduce:
> + appendToClassList(¤tSupers, super);
> + }
> + }
> ++#line 6154 "../parser.c"
> + break;
> +
> +- case 383:
> +-#line 3203 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 384: /* class_access: %empty */
> ++#line 3229 "parser.y"
> ++ {
> + (yyval.token) = TK_PUBLIC;
> + }
> ++#line 6162 "../parser.c"
> + break;
> +
> +- case 384:
> +-#line 3206 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 385: /* class_access: TK_PUBLIC */
> ++#line 3232 "parser.y"
> ++ {
> + (yyval.token) = TK_PUBLIC;
> + }
> ++#line 6170 "../parser.c"
> + break;
> +
> +- case 385:
> +-#line 3209 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 386: /* class_access: TK_PROTECTED */
> ++#line 3235 "parser.y"
> ++ {
> + (yyval.token) = TK_PROTECTED;
> + }
> ++#line 6178 "../parser.c"
> + break;
> +
> +- case 386:
> +-#line 3212 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 387: /* class_access: TK_PRIVATE */
> ++#line 3238 "parser.y"
> ++ {
> + (yyval.token) = TK_PRIVATE;
> + }
> ++#line 6186 "../parser.c"
> + break;
> +
> +- case 387:
> +-#line 3217 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 388: /* optclassbody: %empty */
> ++#line 3243 "parser.y"
> ++ {
> + (yyval.boolean) = FALSE;
> + }
> ++#line 6194 "../parser.c"
> + break;
> +
> +- case 388:
> +-#line 3220 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 389: /* optclassbody: '{' classbody '}' */
> ++#line 3246 "parser.y"
> ++ {
> + (yyval.boolean) = TRUE;
> + }
> ++#line 6202 "../parser.c"
> + break;
> +
> +- case 402:
> +-#line 3240 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 403: /* classline: docstring */
> ++#line 3266 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + classDef *scope = currentScope();
> +@@ -6314,30 +6211,33 @@ yyreduce:
> + if (scope->docstring != NULL)
> + yyerror("%Docstring already given for class");
> +
> +- scope->docstring = (yyvsp[(1) - (1)].docstr);
> ++ scope->docstring = (yyvsp[0].docstr);
> + }
> + }
> ++#line 6218 "../parser.c"
> + break;
> +
> +- case 403:
> +-#line 3251 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 404: /* classline: typecode */
> ++#line 3277 "parser.y"
> ++ {
> + if (notSkipping())
> +- appendCodeBlock(¤tScope()->cppcode, (yyvsp[(1) - (1)].codeb));
> ++ appendCodeBlock(¤tScope()->cppcode, (yyvsp[0].codeb));
> + }
> ++#line 6227 "../parser.c"
> + break;
> +
> +- case 404:
> +-#line 3255 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 405: /* classline: typehdrcode */
> ++#line 3281 "parser.y"
> ++ {
> + if (notSkipping())
> +- appendCodeBlock(¤tScope()->iff->hdrcode, (yyvsp[(1) - (1)].codeb));
> ++ appendCodeBlock(¤tScope()->iff->hdrcode, (yyvsp[0].codeb));
> + }
> ++#line 6236 "../parser.c"
> + break;
> +
> +- case 405:
> +-#line 3259 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 406: /* classline: travcode */
> ++#line 3285 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + classDef *scope = currentScope();
> +@@ -6345,14 +6245,15 @@ yyreduce:
> + if (scope->travcode != NULL)
> + yyerror("%GCTraverseCode already given for class");
> +
> +- appendCodeBlock(&scope->travcode, (yyvsp[(1) - (1)].codeb));
> ++ appendCodeBlock(&scope->travcode, (yyvsp[0].codeb));
> + }
> + }
> ++#line 6252 "../parser.c"
> + break;
> +
> +- case 406:
> +-#line 3270 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 407: /* classline: clearcode */
> ++#line 3296 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + classDef *scope = currentScope();
> +@@ -6360,14 +6261,15 @@ yyreduce:
> + if (scope->clearcode != NULL)
> + yyerror("%GCClearCode already given for class");
> +
> +- appendCodeBlock(&scope->clearcode, (yyvsp[(1) - (1)].codeb));
> ++ appendCodeBlock(&scope->clearcode, (yyvsp[0].codeb));
> + }
> + }
> ++#line 6268 "../parser.c"
> + break;
> +
> +- case 407:
> +-#line 3281 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 408: /* classline: getbufcode */
> ++#line 3307 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + classDef *scope = currentScope();
> +@@ -6375,14 +6277,15 @@ yyreduce:
> + if (scope->getbufcode != NULL)
> + yyerror("%BIGetBufferCode already given for class");
> +
> +- appendCodeBlock(&scope->getbufcode, (yyvsp[(1) - (1)].codeb));
> ++ appendCodeBlock(&scope->getbufcode, (yyvsp[0].codeb));
> + }
> + }
> ++#line 6284 "../parser.c"
> + break;
> +
> +- case 408:
> +-#line 3292 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 409: /* classline: releasebufcode */
> ++#line 3318 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + classDef *scope = currentScope();
> +@@ -6390,14 +6293,15 @@ yyreduce:
> + if (scope->releasebufcode != NULL)
> + yyerror("%BIReleaseBufferCode already given for class");
> +
> +- appendCodeBlock(&scope->releasebufcode, (yyvsp[(1) - (1)].codeb));
> ++ appendCodeBlock(&scope->releasebufcode, (yyvsp[0].codeb));
> + }
> + }
> ++#line 6300 "../parser.c"
> + break;
> +
> +- case 409:
> +-#line 3303 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 410: /* classline: readbufcode */
> ++#line 3329 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + classDef *scope = currentScope();
> +@@ -6405,14 +6309,15 @@ yyreduce:
> + if (scope->readbufcode != NULL)
> + yyerror("%BIGetReadBufferCode already given for class");
> +
> +- appendCodeBlock(&scope->readbufcode, (yyvsp[(1) - (1)].codeb));
> ++ appendCodeBlock(&scope->readbufcode, (yyvsp[0].codeb));
> + }
> + }
> ++#line 6316 "../parser.c"
> + break;
> +
> +- case 410:
> +-#line 3314 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 411: /* classline: writebufcode */
> ++#line 3340 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + classDef *scope = currentScope();
> +@@ -6420,14 +6325,15 @@ yyreduce:
> + if (scope->writebufcode != NULL)
> + yyerror("%BIGetWriteBufferCode already given for class");
> +
> +- appendCodeBlock(&scope->writebufcode, (yyvsp[(1) - (1)].codeb));
> ++ appendCodeBlock(&scope->writebufcode, (yyvsp[0].codeb));
> + }
> + }
> ++#line 6332 "../parser.c"
> + break;
> +
> +- case 411:
> +-#line 3325 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 412: /* classline: segcountcode */
> ++#line 3351 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + classDef *scope = currentScope();
> +@@ -6435,14 +6341,15 @@ yyreduce:
> + if (scope->segcountcode != NULL)
> + yyerror("%BIGetSegCountCode already given for class");
> +
> +- appendCodeBlock(&scope->segcountcode, (yyvsp[(1) - (1)].codeb));
> ++ appendCodeBlock(&scope->segcountcode, (yyvsp[0].codeb));
> + }
> + }
> ++#line 6348 "../parser.c"
> + break;
> +
> +- case 412:
> +-#line 3336 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 413: /* classline: charbufcode */
> ++#line 3362 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + classDef *scope = currentScope();
> +@@ -6450,14 +6357,15 @@ yyreduce:
> + if (scope->charbufcode != NULL)
> + yyerror("%BIGetCharBufferCode already given for class");
> +
> +- appendCodeBlock(&scope->charbufcode, (yyvsp[(1) - (1)].codeb));
> ++ appendCodeBlock(&scope->charbufcode, (yyvsp[0].codeb));
> + }
> + }
> ++#line 6364 "../parser.c"
> + break;
> +
> +- case 413:
> +-#line 3347 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 414: /* classline: instancecode */
> ++#line 3373 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + classDef *scope = currentScope();
> +@@ -6465,14 +6373,15 @@ yyreduce:
> + if (scope->instancecode != NULL)
> + yyerror("%InstanceCode already given for class");
> +
> +- appendCodeBlock(&scope->instancecode, (yyvsp[(1) - (1)].codeb));
> ++ appendCodeBlock(&scope->instancecode, (yyvsp[0].codeb));
> + }
> + }
> ++#line 6380 "../parser.c"
> + break;
> +
> +- case 414:
> +-#line 3358 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 415: /* classline: picklecode */
> ++#line 3384 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + classDef *scope = currentScope();
> +@@ -6480,14 +6389,15 @@ yyreduce:
> + if (scope->picklecode != NULL)
> + yyerror("%PickleCode already given for class");
> +
> +- appendCodeBlock(&scope->picklecode, (yyvsp[(1) - (1)].codeb));
> ++ appendCodeBlock(&scope->picklecode, (yyvsp[0].codeb));
> + }
> + }
> ++#line 6396 "../parser.c"
> + break;
> +
> +- case 415:
> +-#line 3369 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 416: /* classline: finalcode */
> ++#line 3395 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + classDef *scope = currentScope();
> +@@ -6495,14 +6405,15 @@ yyreduce:
> + if (scope->finalcode != NULL)
> + yyerror("%FinalisationCode already given for class");
> +
> +- appendCodeBlock(&scope->finalcode, (yyvsp[(1) - (1)].codeb));
> ++ appendCodeBlock(&scope->finalcode, (yyvsp[0].codeb));
> + }
> + }
> ++#line 6412 "../parser.c"
> + break;
> +
> +- case 416:
> +-#line 3380 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 417: /* classline: classtypehintcode */
> ++#line 3406 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + classDef *scope = currentScope();
> +@@ -6510,14 +6421,15 @@ yyreduce:
> + if (scope->typehintcode != NULL)
> + yyerror("%TypeHintCode already given for class");
> +
> +- appendCodeBlock(&scope->typehintcode, (yyvsp[(1) - (1)].codeb));
> ++ appendCodeBlock(&scope->typehintcode, (yyvsp[0].codeb));
> + }
> + }
> ++#line 6428 "../parser.c"
> + break;
> +
> +- case 420:
> +-#line 3394 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 421: /* classline: TK_TOSUBCLASS codeblock */
> ++#line 3420 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + classDef *scope = currentScope();
> +@@ -6525,14 +6437,15 @@ yyreduce:
> + if (scope->convtosubcode != NULL)
> + yyerror("Class has more than one %ConvertToSubClassCode directive");
> +
> +- appendCodeBlock(&scope->convtosubcode, (yyvsp[(2) - (2)].codeb));
> ++ appendCodeBlock(&scope->convtosubcode, (yyvsp[0].codeb));
> + }
> + }
> ++#line 6444 "../parser.c"
> + break;
> +
> +- case 421:
> +-#line 3405 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 422: /* classline: TK_TOTYPE codeblock */
> ++#line 3431 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + classDef *scope = currentScope();
> +@@ -6540,14 +6453,15 @@ yyreduce:
> + if (scope->convtocode != NULL)
> + yyerror("Class has more than one %ConvertToTypeCode directive");
> +
> +- appendCodeBlock(&scope->convtocode, (yyvsp[(2) - (2)].codeb));
> ++ appendCodeBlock(&scope->convtocode, (yyvsp[0].codeb));
> + }
> + }
> ++#line 6460 "../parser.c"
> + break;
> +
> +- case 422:
> +-#line 3416 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 423: /* classline: TK_FROMTYPE codeblock */
> ++#line 3442 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + classDef *scope = currentScope();
> +@@ -6555,172 +6469,188 @@ yyreduce:
> + if (scope->convfromcode != NULL)
> + yyerror("Class has more than one %ConvertFromTypeCode directive");
> +
> +- appendCodeBlock(&scope->convfromcode, (yyvsp[(2) - (2)].codeb));
> ++ appendCodeBlock(&scope->convfromcode, (yyvsp[0].codeb));
> + }
> + }
> ++#line 6476 "../parser.c"
> + break;
> +
> +- case 423:
> +-#line 3427 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 424: /* classline: TK_PUBLIC optslot ':' */
> ++#line 3453 "parser.y"
> ++ {
> + if (currentSpec -> genc)
> + yyerror("public section not allowed in a C module");
> +
> + if (notSkipping())
> +- sectionFlags = SECT_IS_PUBLIC | (yyvsp[(2) - (3)].number);
> ++ sectionFlags = SECT_IS_PUBLIC | (yyvsp[-1].number);
> + }
> ++#line 6488 "../parser.c"
> + break;
> +
> +- case 424:
> +-#line 3434 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 425: /* classline: TK_PROTECTED optslot ':' */
> ++#line 3460 "parser.y"
> ++ {
> + if (currentSpec -> genc)
> + yyerror("protected section not allowed in a C module");
> +
> + if (notSkipping())
> +- sectionFlags = SECT_IS_PROT | (yyvsp[(2) - (3)].number);
> ++ sectionFlags = SECT_IS_PROT | (yyvsp[-1].number);
> + }
> ++#line 6500 "../parser.c"
> + break;
> +
> +- case 425:
> +-#line 3441 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 426: /* classline: TK_PRIVATE optslot ':' */
> ++#line 3467 "parser.y"
> ++ {
> + if (currentSpec -> genc)
> + yyerror("private section not allowed in a C module");
> +
> + if (notSkipping())
> +- sectionFlags = SECT_IS_PRIVATE | (yyvsp[(2) - (3)].number);
> ++ sectionFlags = SECT_IS_PRIVATE | (yyvsp[-1].number);
> + }
> ++#line 6512 "../parser.c"
> + break;
> +
> +- case 426:
> +-#line 3448 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 427: /* classline: TK_SIGNALS ':' */
> ++#line 3474 "parser.y"
> ++ {
> + if (currentSpec -> genc)
> + yyerror("signals section not allowed in a C module");
> +
> + if (notSkipping())
> + sectionFlags = SECT_IS_SIGNAL;
> + }
> ++#line 6524 "../parser.c"
> + break;
> +
> +- case 427:
> +-#line 3457 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- if ((yyvsp[(2) - (3)].property).name == NULL)
> ++ case 428: /* property: TK_PROPERTY property_args property_body */
> ++#line 3483 "parser.y"
> ++ {
> ++ if ((yyvsp[-1].property).name == NULL)
> + yyerror("A %Property directive must have a 'name' argument");
> +
> +- if ((yyvsp[(2) - (3)].property).get == NULL)
> ++ if ((yyvsp[-1].property).get == NULL)
> + yyerror("A %Property directive must have a 'get' argument");
> +
> + if (notSkipping())
> + addProperty(currentSpec, currentModule, currentScope(),
> +- (yyvsp[(2) - (3)].property).name, (yyvsp[(2) - (3)].property).get, (yyvsp[(2) - (3)].property).set, (yyvsp[(3) - (3)].property).docstring);
> ++ (yyvsp[-1].property).name, (yyvsp[-1].property).get, (yyvsp[-1].property).set, (yyvsp[0].property).docstring);
> + }
> ++#line 6540 "../parser.c"
> + break;
> +
> +- case 428:
> +-#line 3470 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.property) = (yyvsp[(2) - (3)].property);
> ++ case 429: /* property_args: '(' property_arg_list ')' */
> ++#line 3496 "parser.y"
> ++ {
> ++ (yyval.property) = (yyvsp[-1].property);
> + }
> ++#line 6548 "../parser.c"
> + break;
> +
> +- case 430:
> +-#line 3476 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.property) = (yyvsp[(1) - (3)].property);
> ++ case 431: /* property_arg_list: property_arg_list ',' property_arg */
> ++#line 3502 "parser.y"
> ++ {
> ++ (yyval.property) = (yyvsp[-2].property);
> +
> +- switch ((yyvsp[(3) - (3)].property).token)
> ++ switch ((yyvsp[0].property).token)
> + {
> +- case TK_GET: (yyval.property).get = (yyvsp[(3) - (3)].property).get; break;
> +- case TK_NAME: (yyval.property).name = (yyvsp[(3) - (3)].property).name; break;
> +- case TK_SET: (yyval.property).set = (yyvsp[(3) - (3)].property).set; break;
> ++ case TK_GET: (yyval.property).get = (yyvsp[0].property).get; break;
> ++ case TK_NAME: (yyval.property).name = (yyvsp[0].property).name; break;
> ++ case TK_SET: (yyval.property).set = (yyvsp[0].property).set; break;
> + }
> + }
> ++#line 6563 "../parser.c"
> + break;
> +
> +- case 431:
> +-#line 3488 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 432: /* property_arg: TK_GET '=' TK_NAME_VALUE */
> ++#line 3514 "parser.y"
> ++ {
> + (yyval.property).token = TK_GET;
> +
> +- (yyval.property).get = (yyvsp[(3) - (3)].text);
> ++ (yyval.property).get = (yyvsp[0].text);
> + (yyval.property).name = NULL;
> + (yyval.property).set = NULL;
> + }
> ++#line 6575 "../parser.c"
> + break;
> +
> +- case 432:
> +-#line 3495 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 433: /* property_arg: TK_NAME '=' name_or_string */
> ++#line 3521 "parser.y"
> ++ {
> + (yyval.property).token = TK_NAME;
> +
> + (yyval.property).get = NULL;
> +- (yyval.property).name = (yyvsp[(3) - (3)].text);
> ++ (yyval.property).name = (yyvsp[0].text);
> + (yyval.property).set = NULL;
> + }
> ++#line 6587 "../parser.c"
> + break;
> +
> +- case 433:
> +-#line 3502 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 434: /* property_arg: TK_SET '=' TK_NAME_VALUE */
> ++#line 3528 "parser.y"
> ++ {
> + (yyval.property).token = TK_SET;
> +
> + (yyval.property).get = NULL;
> + (yyval.property).name = NULL;
> +- (yyval.property).set = (yyvsp[(3) - (3)].text);
> ++ (yyval.property).set = (yyvsp[0].text);
> + }
> ++#line 6599 "../parser.c"
> + break;
> +
> +- case 434:
> +-#line 3511 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 435: /* property_body: %empty */
> ++#line 3537 "parser.y"
> ++ {
> + (yyval.property).token = 0;
> + (yyval.property).docstring = NULL;
> + }
> ++#line 6608 "../parser.c"
> + break;
> +
> +- case 435:
> +-#line 3515 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.property) = (yyvsp[(2) - (4)].property);
> ++ case 436: /* property_body: '{' property_body_directives '}' ';' */
> ++#line 3541 "parser.y"
> ++ {
> ++ (yyval.property) = (yyvsp[-2].property);
> + }
> ++#line 6616 "../parser.c"
> + break;
> +
> +- case 437:
> +-#line 3521 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.property) = (yyvsp[(1) - (2)].property);
> ++ case 438: /* property_body_directives: property_body_directives property_body_directive */
> ++#line 3547 "parser.y"
> ++ {
> ++ (yyval.property) = (yyvsp[-1].property);
> +
> +- switch ((yyvsp[(2) - (2)].property).token)
> ++ switch ((yyvsp[0].property).token)
> + {
> +- case TK_DOCSTRING: (yyval.property).docstring = (yyvsp[(2) - (2)].property).docstring; break;
> ++ case TK_DOCSTRING: (yyval.property).docstring = (yyvsp[0].property).docstring; break;
> + }
> + }
> ++#line 6629 "../parser.c"
> + break;
> +
> +- case 438:
> +-#line 3531 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 439: /* property_body_directive: ifstart */
> ++#line 3557 "parser.y"
> ++ {
> + (yyval.property).token = TK_IF;
> + }
> ++#line 6637 "../parser.c"
> + break;
> +
> +- case 439:
> +-#line 3534 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 440: /* property_body_directive: ifend */
> ++#line 3560 "parser.y"
> ++ {
> + (yyval.property).token = TK_END;
> + }
> ++#line 6645 "../parser.c"
> + break;
> +
> +- case 440:
> +-#line 3537 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 441: /* property_body_directive: docstring */
> ++#line 3563 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + (yyval.property).token = TK_DOCSTRING;
> +- (yyval.property).docstring = (yyvsp[(1) - (1)].docstr);
> ++ (yyval.property).docstring = (yyvsp[0].docstr);
> + }
> + else
> + {
> +@@ -6728,30 +6658,34 @@ yyreduce:
> + (yyval.property).docstring = NULL;
> + }
> + }
> ++#line 6662 "../parser.c"
> + break;
> +
> +- case 443:
> +-#line 3555 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 444: /* optslot: %empty */
> ++#line 3581 "parser.y"
> ++ {
> + (yyval.number) = 0;
> + }
> ++#line 6670 "../parser.c"
> + break;
> +
> +- case 444:
> +-#line 3558 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 445: /* optslot: TK_SLOTS */
> ++#line 3584 "parser.y"
> ++ {
> + (yyval.number) = SECT_IS_SLOT;
> + }
> ++#line 6678 "../parser.c"
> + break;
> +
> +- case 445:
> +-#line 3564 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {currentIsVirt = TRUE;}
> ++ case 446: /* $@15: %empty */
> ++#line 3590 "parser.y"
> ++ {currentIsVirt = TRUE;}
> ++#line 6684 "../parser.c"
> + break;
> +
> +- case 448:
> +-#line 3568 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 449: /* dtor_decl: '~' TK_NAME_VALUE '(' ')' optexceptions optabstract optflags ';' premethodcode methodcode virtualcatchercode */
> ++#line 3594 "parser.y"
> ++ {
> + /* Note that we allow non-virtual dtors in C modules. */
> +
> + if (notSkipping())
> +@@ -6764,22 +6698,22 @@ yyreduce:
> +
> + classDef *cd = currentScope();
> +
> +- checkAnnos(&(yyvsp[(7) - (11)].optflags), annos);
> ++ checkAnnos(&(yyvsp[-4].optflags), annos);
> +
> +- if (strcmp(classBaseName(cd),(yyvsp[(2) - (11)].text)) != 0)
> ++ if (strcmp(classBaseName(cd),(yyvsp[-9].text)) != 0)
> + yyerror("Destructor doesn't have the same name as its class");
> +
> + if (isDtor(cd))
> + yyerror("Destructor has already been defined");
> +
> +- if (currentSpec -> genc && (yyvsp[(9) - (11)].codeb) == NULL)
> ++ if (currentSpec -> genc && (yyvsp[-2].codeb) == NULL)
> + yyerror("Destructor in C modules must include %MethodCode");
> +
> +
> +- appendCodeBlock(&cd->dealloccode, (yyvsp[(9) - (11)].codeb)); /* premethodcode */
> +- appendCodeBlock(&cd->dealloccode, (yyvsp[(10) - (11)].codeb)); /* methodcode */
> +- appendCodeBlock(&cd->dtorcode, (yyvsp[(11) - (11)].codeb));
> +- cd -> dtorexceptions = (yyvsp[(5) - (11)].throwlist);
> ++ appendCodeBlock(&cd->dealloccode, (yyvsp[-2].codeb)); /* premethodcode */
> ++ appendCodeBlock(&cd->dealloccode, (yyvsp[-1].codeb)); /* methodcode */
> ++ appendCodeBlock(&cd->dtorcode, (yyvsp[0].codeb));
> ++ cd -> dtorexceptions = (yyvsp[-6].throwlist);
> +
> + /*
> + * Note that we don't apply the protected/public hack to dtors
> +@@ -6787,7 +6721,7 @@ yyreduce:
> + */
> + cd->classflags |= sectionFlags;
> +
> +- if ((yyvsp[(6) - (11)].number))
> ++ if ((yyvsp[-5].number))
> + {
> + if (!currentIsVirt)
> + yyerror("Abstract destructor must be virtual");
> +@@ -6799,7 +6733,7 @@ yyreduce:
> + * The class has a shadow if we have a virtual dtor or some
> + * dtor code.
> + */
> +- if (currentIsVirt || (yyvsp[(10) - (11)].codeb) != NULL)
> ++ if (currentIsVirt || (yyvsp[-1].codeb) != NULL)
> + {
> + if (currentSpec -> genc)
> + yyerror("Virtual destructor or %VirtualCatcherCode not allowed in a C module");
> +@@ -6807,24 +6741,26 @@ yyreduce:
> + setNeedsShadow(cd);
> + }
> +
> +- if (getReleaseGIL(&(yyvsp[(7) - (11)].optflags)))
> ++ if (getReleaseGIL(&(yyvsp[-4].optflags)))
> + setIsReleaseGILDtor(cd);
> +- else if (getHoldGIL(&(yyvsp[(7) - (11)].optflags)))
> ++ else if (getHoldGIL(&(yyvsp[-4].optflags)))
> + setIsHoldGILDtor(cd);
> + }
> +
> + currentIsVirt = FALSE;
> + }
> ++#line 6753 "../parser.c"
> + break;
> +
> +- case 449:
> +-#line 3634 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {currentCtorIsExplicit = TRUE;}
> ++ case 450: /* $@16: %empty */
> ++#line 3660 "parser.y"
> ++ {currentCtorIsExplicit = TRUE;}
> ++#line 6759 "../parser.c"
> + break;
> +
> +- case 452:
> +-#line 3638 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 453: /* simplector: TK_NAME_VALUE '(' arglist ')' optexceptions optflags optctorsig ';' optdocstring premethodcode methodcode */
> ++#line 3664 "parser.y"
> ++ {
> + /* Note that we allow ctors in C modules. */
> +
> + if (notSkipping())
> +@@ -6846,11 +6782,11 @@ yyreduce:
> + NULL
> + };
> +
> +- checkAnnos(&(yyvsp[(6) - (11)].optflags), annos);
> ++ checkAnnos(&(yyvsp[-5].optflags), annos);
> +
> + if (currentSpec -> genc)
> + {
> +- if ((yyvsp[(10) - (11)].codeb) == NULL && (yyvsp[(3) - (11)].signature).nrArgs != 0)
> ++ if ((yyvsp[-1].codeb) == NULL && (yyvsp[-8].signature).nrArgs != 0)
> + yyerror("Constructors with arguments in C modules must include %MethodCode");
> +
> + if (currentCtorIsExplicit)
> +@@ -6860,80 +6796,87 @@ yyreduce:
> + if ((sectionFlags & (SECT_IS_PUBLIC | SECT_IS_PROT | SECT_IS_PRIVATE)) == 0)
> + yyerror("Constructor must be in the public, private or protected sections");
> +
> +- newCtor(currentModule, (yyvsp[(1) - (11)].text), sectionFlags, &(yyvsp[(3) - (11)].signature), &(yyvsp[(6) - (11)].optflags), (yyvsp[(11) - (11)].codeb), (yyvsp[(5) - (11)].throwlist), (yyvsp[(7) - (11)].optsignature),
> +- currentCtorIsExplicit, (yyvsp[(9) - (11)].docstr), (yyvsp[(10) - (11)].codeb));
> ++ newCtor(currentModule, (yyvsp[-10].text), sectionFlags, &(yyvsp[-8].signature), &(yyvsp[-5].optflags), (yyvsp[0].codeb), (yyvsp[-6].throwlist), (yyvsp[-4].optsignature),
> ++ currentCtorIsExplicit, (yyvsp[-2].docstr), (yyvsp[-1].codeb));
> + }
> +
> +- free((yyvsp[(1) - (11)].text));
> ++ free((yyvsp[-10].text));
> +
> + currentCtorIsExplicit = FALSE;
> + }
> ++#line 6808 "../parser.c"
> + break;
> +
> +- case 453:
> +-#line 3684 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 454: /* optctorsig: %empty */
> ++#line 3710 "parser.y"
> ++ {
> + (yyval.optsignature) = NULL;
> + }
> ++#line 6816 "../parser.c"
> + break;
> +
> +- case 454:
> +-#line 3687 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 455: /* $@17: %empty */
> ++#line 3713 "parser.y"
> ++ {
> + parsingCSignature = TRUE;
> + }
> ++#line 6824 "../parser.c"
> + break;
> +
> +- case 455:
> +-#line 3689 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 456: /* optctorsig: '[' $@17 '(' arglist ')' ']' */
> ++#line 3715 "parser.y"
> ++ {
> + (yyval.optsignature) = sipMalloc(sizeof (signatureDef));
> +
> +- *(yyval.optsignature) = (yyvsp[(4) - (6)].signature);
> ++ *(yyval.optsignature) = (yyvsp[-2].signature);
> +
> + parsingCSignature = FALSE;
> + }
> ++#line 6836 "../parser.c"
> + break;
> +
> +- case 456:
> +-#line 3698 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 457: /* optsig: %empty */
> ++#line 3724 "parser.y"
> ++ {
> + (yyval.optsignature) = NULL;
> + }
> ++#line 6844 "../parser.c"
> + break;
> +
> +- case 457:
> +-#line 3701 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 458: /* $@18: %empty */
> ++#line 3727 "parser.y"
> ++ {
> + parsingCSignature = TRUE;
> + }
> ++#line 6852 "../parser.c"
> + break;
> +
> +- case 458:
> +-#line 3703 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 459: /* optsig: '[' $@18 cpptype '(' arglist ')' ']' */
> ++#line 3729 "parser.y"
> ++ {
> + (yyval.optsignature) = sipMalloc(sizeof (signatureDef));
> +
> +- *(yyval.optsignature) = (yyvsp[(5) - (7)].signature);
> +- (yyval.optsignature)->result = (yyvsp[(3) - (7)].memArg);
> ++ *(yyval.optsignature) = (yyvsp[-2].signature);
> ++ (yyval.optsignature)->result = (yyvsp[-4].memArg);
> +
> + parsingCSignature = FALSE;
> + }
> ++#line 6865 "../parser.c"
> + break;
> +
> +- case 459:
> +-#line 3713 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 460: /* function: cpptype TK_NAME_VALUE '(' arglist ')' optconst optfinal optexceptions optabstract optflags optsig ';' optdocstring premethodcode methodcode virtualcatchercode virtualcallcode */
> ++#line 3739 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> +- applyTypeFlags(currentModule, &(yyvsp[(1) - (17)].memArg), &(yyvsp[(10) - (17)].optflags));
> ++ applyTypeFlags(currentModule, &(yyvsp[-16].memArg), &(yyvsp[-7].optflags));
> +
> +- (yyvsp[(4) - (17)].signature).result = (yyvsp[(1) - (17)].memArg);
> ++ (yyvsp[-13].signature).result = (yyvsp[-16].memArg);
> +
> + newFunction(currentSpec, currentModule, currentScope(), NULL,
> + NULL, sectionFlags, currentIsStatic, currentIsSignal,
> +- currentIsSlot, currentIsVirt, (yyvsp[(2) - (17)].text), &(yyvsp[(4) - (17)].signature), (yyvsp[(6) - (17)].number), (yyvsp[(9) - (17)].number), &(yyvsp[(10) - (17)].optflags),
> +- (yyvsp[(15) - (17)].codeb), (yyvsp[(16) - (17)].codeb), (yyvsp[(17) - (17)].codeb), (yyvsp[(8) - (17)].throwlist), (yyvsp[(11) - (17)].optsignature), (yyvsp[(13) - (17)].docstr), (yyvsp[(7) - (17)].number), (yyvsp[(14) - (17)].codeb));
> ++ currentIsSlot, currentIsVirt, (yyvsp[-15].text), &(yyvsp[-13].signature), (yyvsp[-11].number), (yyvsp[-8].number), &(yyvsp[-7].optflags),
> ++ (yyvsp[-2].codeb), (yyvsp[-1].codeb), (yyvsp[0].codeb), (yyvsp[-9].throwlist), (yyvsp[-6].optsignature), (yyvsp[-4].docstr), (yyvsp[-10].number), (yyvsp[-3].codeb));
> + }
> +
> + currentIsStatic = FALSE;
> +@@ -6941,11 +6884,12 @@ yyreduce:
> + currentIsSlot = FALSE;
> + currentIsVirt = FALSE;
> + }
> ++#line 6888 "../parser.c"
> + break;
> +
> +- case 460:
> +-#line 3731 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 461: /* function: cpptype TK_OPERATOR '=' '(' cpptype ')' ';' */
> ++#line 3757 "parser.y"
> ++ {
> + /*
> + * It looks like an assignment operator (though we don't bother to
> + * check the types) so make sure it is private.
> +@@ -6965,11 +6909,12 @@ yyreduce:
> + currentIsSlot = FALSE;
> + currentIsVirt = FALSE;
> + }
> ++#line 6913 "../parser.c"
> + break;
> +
> +- case 461:
> +-#line 3751 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 462: /* function: cpptype TK_OPERATOR operatorname '(' arglist ')' optconst optfinal optexceptions optabstract optflags optsig ';' premethodcode methodcode virtualcatchercode virtualcallcode */
> ++#line 3777 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + classDef *cd = currentScope();
> +@@ -6989,23 +6934,23 @@ yyreduce:
> + ns_scope = NULL;
> + }
> +
> +- applyTypeFlags(currentModule, &(yyvsp[(1) - (17)].memArg), &(yyvsp[(11) - (17)].optflags));
> ++ applyTypeFlags(currentModule, &(yyvsp[-16].memArg), &(yyvsp[-6].optflags));
> +
> + /* Handle the unary '+' and '-' operators. */
> +- if ((cd != NULL && (yyvsp[(5) - (17)].signature).nrArgs == 0) || (cd == NULL && (yyvsp[(5) - (17)].signature).nrArgs == 1))
> ++ if ((cd != NULL && (yyvsp[-12].signature).nrArgs == 0) || (cd == NULL && (yyvsp[-12].signature).nrArgs == 1))
> + {
> +- if (strcmp((yyvsp[(3) - (17)].text), "__add__") == 0)
> +- (yyvsp[(3) - (17)].text) = "__pos__";
> +- else if (strcmp((yyvsp[(3) - (17)].text), "__sub__") == 0)
> +- (yyvsp[(3) - (17)].text) = "__neg__";
> ++ if (strcmp((yyvsp[-14].text), "__add__") == 0)
> ++ (yyvsp[-14].text) = "__pos__";
> ++ else if (strcmp((yyvsp[-14].text), "__sub__") == 0)
> ++ (yyvsp[-14].text) = "__neg__";
> + }
> +
> +- (yyvsp[(5) - (17)].signature).result = (yyvsp[(1) - (17)].memArg);
> ++ (yyvsp[-12].signature).result = (yyvsp[-16].memArg);
> +
> + newFunction(currentSpec, currentModule, cd, ns_scope, NULL,
> + sectionFlags, currentIsStatic, currentIsSignal,
> +- currentIsSlot, currentIsVirt, (yyvsp[(3) - (17)].text), &(yyvsp[(5) - (17)].signature), (yyvsp[(7) - (17)].number), (yyvsp[(10) - (17)].number), &(yyvsp[(11) - (17)].optflags),
> +- (yyvsp[(15) - (17)].codeb), (yyvsp[(16) - (17)].codeb), (yyvsp[(17) - (17)].codeb), (yyvsp[(9) - (17)].throwlist), (yyvsp[(12) - (17)].optsignature), NULL, (yyvsp[(8) - (17)].number), (yyvsp[(14) - (17)].codeb));
> ++ currentIsSlot, currentIsVirt, (yyvsp[-14].text), &(yyvsp[-12].signature), (yyvsp[-10].number), (yyvsp[-7].number), &(yyvsp[-6].optflags),
> ++ (yyvsp[-2].codeb), (yyvsp[-1].codeb), (yyvsp[0].codeb), (yyvsp[-8].throwlist), (yyvsp[-5].optsignature), NULL, (yyvsp[-9].number), (yyvsp[-3].codeb));
> + }
> +
> + currentIsStatic = FALSE;
> +@@ -7013,22 +6958,23 @@ yyreduce:
> + currentIsSlot = FALSE;
> + currentIsVirt = FALSE;
> + }
> ++#line 6962 "../parser.c"
> + break;
> +
> +- case 462:
> +-#line 3795 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 463: /* function: TK_OPERATOR cpptype '(' arglist ')' optconst optfinal optexceptions optabstract optflags optsig ';' premethodcode methodcode virtualcatchercode virtualcallcode */
> ++#line 3821 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + char *sname;
> + classDef *scope = currentScope();
> +
> +- if (scope == NULL || (yyvsp[(4) - (16)].signature).nrArgs != 0)
> ++ if (scope == NULL || (yyvsp[-12].signature).nrArgs != 0)
> + yyerror("Operator casts must be specified in a class and have no arguments");
> +
> +- applyTypeFlags(currentModule, &(yyvsp[(2) - (16)].memArg), &(yyvsp[(10) - (16)].optflags));
> ++ applyTypeFlags(currentModule, &(yyvsp[-14].memArg), &(yyvsp[-6].optflags));
> +
> +- switch ((yyvsp[(2) - (16)].memArg).atype)
> ++ switch ((yyvsp[-14].memArg).atype)
> + {
> + case defined_type:
> + sname = NULL;
> +@@ -7067,12 +7013,12 @@ yyreduce:
> +
> + if (sname != NULL)
> + {
> +- (yyvsp[(4) - (16)].signature).result = (yyvsp[(2) - (16)].memArg);
> ++ (yyvsp[-12].signature).result = (yyvsp[-14].memArg);
> +
> + newFunction(currentSpec, currentModule, scope, NULL, NULL,
> + sectionFlags, currentIsStatic, currentIsSignal,
> +- currentIsSlot, currentIsVirt, sname, &(yyvsp[(4) - (16)].signature), (yyvsp[(6) - (16)].number), (yyvsp[(9) - (16)].number),
> +- &(yyvsp[(10) - (16)].optflags), (yyvsp[(14) - (16)].codeb), (yyvsp[(15) - (16)].codeb), (yyvsp[(16) - (16)].codeb), (yyvsp[(8) - (16)].throwlist), (yyvsp[(11) - (16)].optsignature), NULL, (yyvsp[(7) - (16)].number), (yyvsp[(13) - (16)].codeb));
> ++ currentIsSlot, currentIsVirt, sname, &(yyvsp[-12].signature), (yyvsp[-10].number), (yyvsp[-7].number),
> ++ &(yyvsp[-6].optflags), (yyvsp[-2].codeb), (yyvsp[-1].codeb), (yyvsp[0].codeb), (yyvsp[-8].throwlist), (yyvsp[-5].optsignature), NULL, (yyvsp[-9].number), (yyvsp[-3].codeb));
> + }
> + else
> + {
> +@@ -7080,11 +7026,11 @@ yyreduce:
> +
> + /* Check it doesn't already exist. */
> + for (al = scope->casts; al != NULL; al = al->next)
> +- if (compareScopedNames((yyvsp[(2) - (16)].memArg).u.snd, al->arg.u.snd) == 0)
> ++ if (compareScopedNames((yyvsp[-14].memArg).u.snd, al->arg.u.snd) == 0)
> + yyerror("This operator cast has already been specified in this class");
> +
> + al = sipMalloc(sizeof (argList));
> +- al->arg = (yyvsp[(2) - (16)].memArg);
> ++ al->arg = (yyvsp[-14].memArg);
> + al->next = scope->casts;
> +
> + scope->casts = al;
> +@@ -7096,367 +7042,421 @@ yyreduce:
> + currentIsSlot = FALSE;
> + currentIsVirt = FALSE;
> + }
> ++#line 7046 "../parser.c"
> + break;
> +
> +- case 463:
> +-#line 3876 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__add__";}
> ++ case 464: /* operatorname: '+' */
> ++#line 3902 "parser.y"
> ++ {(yyval.text) = "__add__";}
> ++#line 7052 "../parser.c"
> + break;
> +
> +- case 464:
> +-#line 3877 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__sub__";}
> ++ case 465: /* operatorname: '-' */
> ++#line 3903 "parser.y"
> ++ {(yyval.text) = "__sub__";}
> ++#line 7058 "../parser.c"
> + break;
> +
> +- case 465:
> +-#line 3878 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__mul__";}
> ++ case 466: /* operatorname: '*' */
> ++#line 3904 "parser.y"
> ++ {(yyval.text) = "__mul__";}
> ++#line 7064 "../parser.c"
> + break;
> +
> +- case 466:
> +-#line 3879 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__div__";}
> ++ case 467: /* operatorname: '/' */
> ++#line 3905 "parser.y"
> ++ {(yyval.text) = "__div__";}
> ++#line 7070 "../parser.c"
> + break;
> +
> +- case 467:
> +-#line 3880 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__mod__";}
> ++ case 468: /* operatorname: '%' */
> ++#line 3906 "parser.y"
> ++ {(yyval.text) = "__mod__";}
> ++#line 7076 "../parser.c"
> + break;
> +
> +- case 468:
> +-#line 3881 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__and__";}
> ++ case 469: /* operatorname: '&' */
> ++#line 3907 "parser.y"
> ++ {(yyval.text) = "__and__";}
> ++#line 7082 "../parser.c"
> + break;
> +
> +- case 469:
> +-#line 3882 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__or__";}
> ++ case 470: /* operatorname: '|' */
> ++#line 3908 "parser.y"
> ++ {(yyval.text) = "__or__";}
> ++#line 7088 "../parser.c"
> + break;
> +
> +- case 470:
> +-#line 3883 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__xor__";}
> ++ case 471: /* operatorname: '^' */
> ++#line 3909 "parser.y"
> ++ {(yyval.text) = "__xor__";}
> ++#line 7094 "../parser.c"
> + break;
> +
> +- case 471:
> +-#line 3884 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__lshift__";}
> ++ case 472: /* operatorname: '<' '<' */
> ++#line 3910 "parser.y"
> ++ {(yyval.text) = "__lshift__";}
> ++#line 7100 "../parser.c"
> + break;
> +
> +- case 472:
> +-#line 3885 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__rshift__";}
> ++ case 473: /* operatorname: '>' '>' */
> ++#line 3911 "parser.y"
> ++ {(yyval.text) = "__rshift__";}
> ++#line 7106 "../parser.c"
> + break;
> +
> +- case 473:
> +-#line 3886 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__iadd__";}
> ++ case 474: /* operatorname: '+' '=' */
> ++#line 3912 "parser.y"
> ++ {(yyval.text) = "__iadd__";}
> ++#line 7112 "../parser.c"
> + break;
> +
> +- case 474:
> +-#line 3887 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__isub__";}
> ++ case 475: /* operatorname: '-' '=' */
> ++#line 3913 "parser.y"
> ++ {(yyval.text) = "__isub__";}
> ++#line 7118 "../parser.c"
> + break;
> +
> +- case 475:
> +-#line 3888 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__imul__";}
> ++ case 476: /* operatorname: '*' '=' */
> ++#line 3914 "parser.y"
> ++ {(yyval.text) = "__imul__";}
> ++#line 7124 "../parser.c"
> + break;
> +
> +- case 476:
> +-#line 3889 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__idiv__";}
> ++ case 477: /* operatorname: '/' '=' */
> ++#line 3915 "parser.y"
> ++ {(yyval.text) = "__idiv__";}
> ++#line 7130 "../parser.c"
> + break;
> +
> +- case 477:
> +-#line 3890 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__imod__";}
> ++ case 478: /* operatorname: '%' '=' */
> ++#line 3916 "parser.y"
> ++ {(yyval.text) = "__imod__";}
> ++#line 7136 "../parser.c"
> + break;
> +
> +- case 478:
> +-#line 3891 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__iand__";}
> ++ case 479: /* operatorname: '&' '=' */
> ++#line 3917 "parser.y"
> ++ {(yyval.text) = "__iand__";}
> ++#line 7142 "../parser.c"
> + break;
> +
> +- case 479:
> +-#line 3892 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__ior__";}
> ++ case 480: /* operatorname: '|' '=' */
> ++#line 3918 "parser.y"
> ++ {(yyval.text) = "__ior__";}
> ++#line 7148 "../parser.c"
> + break;
> +
> +- case 480:
> +-#line 3893 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__ixor__";}
> ++ case 481: /* operatorname: '^' '=' */
> ++#line 3919 "parser.y"
> ++ {(yyval.text) = "__ixor__";}
> ++#line 7154 "../parser.c"
> + break;
> +
> +- case 481:
> +-#line 3894 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__ilshift__";}
> ++ case 482: /* operatorname: '<' '<' '=' */
> ++#line 3920 "parser.y"
> ++ {(yyval.text) = "__ilshift__";}
> ++#line 7160 "../parser.c"
> + break;
> +
> +- case 482:
> +-#line 3895 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__irshift__";}
> ++ case 483: /* operatorname: '>' '>' '=' */
> ++#line 3921 "parser.y"
> ++ {(yyval.text) = "__irshift__";}
> ++#line 7166 "../parser.c"
> + break;
> +
> +- case 483:
> +-#line 3896 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__invert__";}
> ++ case 484: /* operatorname: '~' */
> ++#line 3922 "parser.y"
> ++ {(yyval.text) = "__invert__";}
> ++#line 7172 "../parser.c"
> + break;
> +
> +- case 484:
> +-#line 3897 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__call__";}
> ++ case 485: /* operatorname: '(' ')' */
> ++#line 3923 "parser.y"
> ++ {(yyval.text) = "__call__";}
> ++#line 7178 "../parser.c"
> + break;
> +
> +- case 485:
> +-#line 3898 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__getitem__";}
> ++ case 486: /* operatorname: '[' ']' */
> ++#line 3924 "parser.y"
> ++ {(yyval.text) = "__getitem__";}
> ++#line 7184 "../parser.c"
> + break;
> +
> +- case 486:
> +-#line 3899 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__lt__";}
> ++ case 487: /* operatorname: '<' */
> ++#line 3925 "parser.y"
> ++ {(yyval.text) = "__lt__";}
> ++#line 7190 "../parser.c"
> + break;
> +
> +- case 487:
> +-#line 3900 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__le__";}
> ++ case 488: /* operatorname: '<' '=' */
> ++#line 3926 "parser.y"
> ++ {(yyval.text) = "__le__";}
> ++#line 7196 "../parser.c"
> + break;
> +
> +- case 488:
> +-#line 3901 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__eq__";}
> ++ case 489: /* operatorname: '=' '=' */
> ++#line 3927 "parser.y"
> ++ {(yyval.text) = "__eq__";}
> ++#line 7202 "../parser.c"
> + break;
> +
> +- case 489:
> +-#line 3902 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__ne__";}
> ++ case 490: /* operatorname: '!' '=' */
> ++#line 3928 "parser.y"
> ++ {(yyval.text) = "__ne__";}
> ++#line 7208 "../parser.c"
> + break;
> +
> +- case 490:
> +-#line 3903 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__gt__";}
> ++ case 491: /* operatorname: '>' */
> ++#line 3929 "parser.y"
> ++ {(yyval.text) = "__gt__";}
> ++#line 7214 "../parser.c"
> + break;
> +
> +- case 491:
> +-#line 3904 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {(yyval.text) = "__ge__";}
> ++ case 492: /* operatorname: '>' '=' */
> ++#line 3930 "parser.y"
> ++ {(yyval.text) = "__ge__";}
> ++#line 7220 "../parser.c"
> + break;
> +
> +- case 492:
> +-#line 3907 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 493: /* optconst: %empty */
> ++#line 3933 "parser.y"
> ++ {
> + (yyval.number) = FALSE;
> + }
> ++#line 7228 "../parser.c"
> + break;
> +
> +- case 493:
> +-#line 3910 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 494: /* optconst: TK_CONST */
> ++#line 3936 "parser.y"
> ++ {
> + (yyval.number) = TRUE;
> + }
> ++#line 7236 "../parser.c"
> + break;
> +
> +- case 494:
> +-#line 3915 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 495: /* optfinal: %empty */
> ++#line 3941 "parser.y"
> ++ {
> + (yyval.number) = FALSE;
> + }
> ++#line 7244 "../parser.c"
> + break;
> +
> +- case 495:
> +-#line 3918 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 496: /* optfinal: TK_FINAL */
> ++#line 3944 "parser.y"
> ++ {
> + (yyval.number) = TRUE;
> + }
> ++#line 7252 "../parser.c"
> + break;
> +
> +- case 496:
> +-#line 3923 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 497: /* optabstract: %empty */
> ++#line 3949 "parser.y"
> ++ {
> + (yyval.number) = 0;
> + }
> ++#line 7260 "../parser.c"
> + break;
> +
> +- case 497:
> +-#line 3926 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- if ((yyvsp[(2) - (2)].number) != 0)
> ++ case 498: /* optabstract: '=' TK_NUMBER_VALUE */
> ++#line 3952 "parser.y"
> ++ {
> ++ if ((yyvsp[0].number) != 0)
> + yyerror("Abstract virtual function '= 0' expected");
> +
> + (yyval.number) = TRUE;
> + }
> ++#line 7271 "../parser.c"
> + break;
> +
> +- case 498:
> +-#line 3934 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 499: /* optflags: %empty */
> ++#line 3960 "parser.y"
> ++ {
> + (yyval.optflags).nrFlags = 0;
> + }
> ++#line 7279 "../parser.c"
> + break;
> +
> +- case 499:
> +-#line 3937 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.optflags) = (yyvsp[(2) - (3)].optflags);
> ++ case 500: /* optflags: '/' flaglist '/' */
> ++#line 3963 "parser.y"
> ++ {
> ++ (yyval.optflags) = (yyvsp[-1].optflags);
> + }
> ++#line 7287 "../parser.c"
> + break;
> +
> +- case 500:
> +-#line 3943 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.optflags).flags[0] = (yyvsp[(1) - (1)].flag);
> ++ case 501: /* flaglist: flag */
> ++#line 3969 "parser.y"
> ++ {
> ++ (yyval.optflags).flags[0] = (yyvsp[0].flag);
> + (yyval.optflags).nrFlags = 1;
> + }
> ++#line 7296 "../parser.c"
> + break;
> +
> +- case 501:
> +-#line 3947 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 502: /* flaglist: flaglist ',' flag */
> ++#line 3973 "parser.y"
> ++ {
> + /* Check there is room. */
> +
> +- if ((yyvsp[(1) - (3)].optflags).nrFlags == MAX_NR_FLAGS)
> ++ if ((yyvsp[-2].optflags).nrFlags == MAX_NR_FLAGS)
> + yyerror("Too many optional flags");
> +
> +- (yyval.optflags) = (yyvsp[(1) - (3)].optflags);
> ++ (yyval.optflags) = (yyvsp[-2].optflags);
> +
> +- (yyval.optflags).flags[(yyval.optflags).nrFlags++] = (yyvsp[(3) - (3)].flag);
> ++ (yyval.optflags).flags[(yyval.optflags).nrFlags++] = (yyvsp[0].flag);
> + }
> ++#line 7311 "../parser.c"
> + break;
> +
> +- case 502:
> +-#line 3959 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 503: /* flag: TK_NAME_VALUE */
> ++#line 3985 "parser.y"
> ++ {
> + (yyval.flag).ftype = bool_flag;
> +- (yyval.flag).fname = (yyvsp[(1) - (1)].text);
> ++ (yyval.flag).fname = (yyvsp[0].text);
> + }
> ++#line 7320 "../parser.c"
> + break;
> +
> +- case 503:
> +-#line 3963 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.flag) = (yyvsp[(3) - (3)].flag);
> +- (yyval.flag).fname = (yyvsp[(1) - (3)].text);
> ++ case 504: /* flag: TK_NAME_VALUE '=' flagvalue */
> ++#line 3989 "parser.y"
> ++ {
> ++ (yyval.flag) = (yyvsp[0].flag);
> ++ (yyval.flag).fname = (yyvsp[-2].text);
> + }
> ++#line 7329 "../parser.c"
> + break;
> +
> +- case 504:
> +-#line 3969 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.flag).ftype = (strchr((yyvsp[(1) - (1)].text), '.') != NULL) ? dotted_name_flag : name_flag;
> +- (yyval.flag).fvalue.sval = (yyvsp[(1) - (1)].text);
> ++ case 505: /* flagvalue: dottedname */
> ++#line 3995 "parser.y"
> ++ {
> ++ (yyval.flag).ftype = (strchr((yyvsp[0].text), '.') != NULL) ? dotted_name_flag : name_flag;
> ++ (yyval.flag).fvalue.sval = (yyvsp[0].text);
> + }
> ++#line 7338 "../parser.c"
> + break;
> +
> +- case 505:
> +-#line 3973 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 506: /* flagvalue: TK_NAME_VALUE ':' optnumber '-' optnumber */
> ++#line 3999 "parser.y"
> ++ {
> + apiVersionRangeDef *avd;
> + int from, to;
> +
> + (yyval.flag).ftype = api_range_flag;
> +
> + /* Check that the API is known. */
> +- if ((avd = findAPI(currentSpec, (yyvsp[(1) - (5)].text))) == NULL)
> ++ if ((avd = findAPI(currentSpec, (yyvsp[-4].text))) == NULL)
> + yyerror("unknown API name in API annotation");
> +
> + if (inMainModule())
> + setIsUsedName(avd->api_name);
> +
> + /* Unbounded values are represented by 0. */
> +- if ((from = (yyvsp[(3) - (5)].number)) < 0)
> ++ if ((from = (yyvsp[-2].number)) < 0)
> + from = 0;
> +
> +- if ((to = (yyvsp[(5) - (5)].number)) < 0)
> ++ if ((to = (yyvsp[0].number)) < 0)
> + to = 0;
> +
> + (yyval.flag).fvalue.aval = convertAPIRange(currentModule, avd->api_name,
> + from, to);
> + }
> ++#line 7366 "../parser.c"
> + break;
> +
> +- case 506:
> +-#line 3996 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 507: /* flagvalue: TK_STRING_VALUE */
> ++#line 4022 "parser.y"
> ++ {
> + (yyval.flag).ftype = string_flag;
> +- (yyval.flag).fvalue.sval = convertFeaturedString((yyvsp[(1) - (1)].text));
> ++ (yyval.flag).fvalue.sval = convertFeaturedString((yyvsp[0].text));
> + }
> ++#line 7375 "../parser.c"
> + break;
> +
> +- case 507:
> +-#line 4000 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 508: /* flagvalue: TK_NUMBER_VALUE */
> ++#line 4026 "parser.y"
> ++ {
> + (yyval.flag).ftype = integer_flag;
> +- (yyval.flag).fvalue.ival = (yyvsp[(1) - (1)].number);
> ++ (yyval.flag).fvalue.ival = (yyvsp[0].number);
> + }
> ++#line 7384 "../parser.c"
> + break;
> +
> +- case 508:
> +-#line 4006 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 509: /* virtualcallcode: %empty */
> ++#line 4032 "parser.y"
> ++ {
> + (yyval.codeb) = NULL;
> + }
> ++#line 7392 "../parser.c"
> + break;
> +
> +- case 509:
> +-#line 4009 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> ++ case 510: /* virtualcallcode: TK_VIRTUALCALLCODE codeblock */
> ++#line 4035 "parser.y"
> ++ {
> ++ (yyval.codeb) = (yyvsp[0].codeb);
> + }
> ++#line 7400 "../parser.c"
> + break;
> +
> +- case 510:
> +-#line 4014 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 511: /* methodcode: %empty */
> ++#line 4040 "parser.y"
> ++ {
> + (yyval.codeb) = NULL;
> + }
> ++#line 7408 "../parser.c"
> + break;
> +
> +- case 511:
> +-#line 4017 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> ++ case 512: /* methodcode: TK_METHODCODE codeblock */
> ++#line 4043 "parser.y"
> ++ {
> ++ (yyval.codeb) = (yyvsp[0].codeb);
> + }
> ++#line 7416 "../parser.c"
> + break;
> +
> +- case 512:
> +-#line 4022 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 513: /* premethodcode: %empty */
> ++#line 4048 "parser.y"
> ++ {
> + (yyval.codeb) = NULL;
> + }
> ++#line 7424 "../parser.c"
> + break;
> +
> +- case 513:
> +-#line 4025 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> ++ case 514: /* premethodcode: TK_PREMETHODCODE codeblock */
> ++#line 4051 "parser.y"
> ++ {
> ++ (yyval.codeb) = (yyvsp[0].codeb);
> + }
> ++#line 7432 "../parser.c"
> + break;
> +
> +- case 514:
> +-#line 4030 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 515: /* virtualcatchercode: %empty */
> ++#line 4056 "parser.y"
> ++ {
> + (yyval.codeb) = NULL;
> + }
> ++#line 7440 "../parser.c"
> + break;
> +
> +- case 515:
> +-#line 4033 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.codeb) = (yyvsp[(2) - (2)].codeb);
> ++ case 516: /* virtualcatchercode: TK_VIRTUALCATCHERCODE codeblock */
> ++#line 4059 "parser.y"
> ++ {
> ++ (yyval.codeb) = (yyvsp[0].codeb);
> + }
> ++#line 7448 "../parser.c"
> + break;
> +
> +- case 516:
> +-#line 4038 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 517: /* arglist: rawarglist */
> ++#line 4064 "parser.y"
> ++ {
> + int a, nrrxcon, nrrxdis, nrslotcon, nrslotdis, nrarray, nrarraysize;
> +
> + nrrxcon = nrrxdis = nrslotcon = nrslotdis = nrarray = nrarraysize = 0;
> +
> +- for (a = 0; a < (yyvsp[(1) - (1)].signature).nrArgs; ++a)
> ++ for (a = 0; a < (yyvsp[0].signature).nrArgs; ++a)
> + {
> +- argDef *ad = &(yyvsp[(1) - (1)].signature).args[a];
> ++ argDef *ad = &(yyvsp[0].signature).args[a];
> +
> + switch (ad -> atype)
> + {
> +@@ -7497,226 +7497,243 @@ yyreduce:
> + if (nrarray != nrarraysize || nrarray > 1)
> + yyerror("/Array/ and /ArraySize/ must both be given and at most once");
> +
> +- (yyval.signature) = (yyvsp[(1) - (1)].signature);
> ++ (yyval.signature) = (yyvsp[0].signature);
> + }
> ++#line 7503 "../parser.c"
> + break;
> +
> +- case 517:
> +-#line 4090 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 518: /* rawarglist: %empty */
> ++#line 4116 "parser.y"
> ++ {
> + /* No arguments. */
> +
> + (yyval.signature).nrArgs = 0;
> + }
> ++#line 7513 "../parser.c"
> + break;
> +
> +- case 518:
> +-#line 4095 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 519: /* rawarglist: argvalue */
> ++#line 4121 "parser.y"
> ++ {
> + /* The single or first argument. */
> +
> +- (yyval.signature).args[0] = (yyvsp[(1) - (1)].memArg);
> ++ (yyval.signature).args[0] = (yyvsp[0].memArg);
> + (yyval.signature).nrArgs = 1;
> + }
> ++#line 7524 "../parser.c"
> + break;
> +
> +- case 519:
> +-#line 4101 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 520: /* rawarglist: rawarglist ',' argvalue */
> ++#line 4127 "parser.y"
> ++ {
> + /* Check that it wasn't ...(,arg...). */
> +- if ((yyvsp[(1) - (3)].signature).nrArgs == 0)
> ++ if ((yyvsp[-2].signature).nrArgs == 0)
> + yyerror("First argument of the list is missing");
> +
> + /*
> + * If this argument has no default value, then the
> + * previous one mustn't either.
> + */
> +- if ((yyvsp[(3) - (3)].memArg).defval == NULL && (yyvsp[(1) - (3)].signature).args[(yyvsp[(1) - (3)].signature).nrArgs - 1].defval != NULL)
> ++ if ((yyvsp[0].memArg).defval == NULL && (yyvsp[-2].signature).args[(yyvsp[-2].signature).nrArgs - 1].defval != NULL)
> + yyerror("Compulsory argument given after optional argument");
> +
> + /* Check there is room. */
> +- if ((yyvsp[(1) - (3)].signature).nrArgs == MAX_NR_ARGS)
> ++ if ((yyvsp[-2].signature).nrArgs == MAX_NR_ARGS)
> + yyerror("Internal error - increase the value of MAX_NR_ARGS");
> +
> +- (yyval.signature) = (yyvsp[(1) - (3)].signature);
> ++ (yyval.signature) = (yyvsp[-2].signature);
> +
> +- (yyval.signature).args[(yyval.signature).nrArgs] = (yyvsp[(3) - (3)].memArg);
> ++ (yyval.signature).args[(yyval.signature).nrArgs] = (yyvsp[0].memArg);
> + (yyval.signature).nrArgs++;
> + }
> ++#line 7550 "../parser.c"
> + break;
> +
> +- case 520:
> +-#line 4124 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 521: /* argvalue: TK_SIPSIGNAL optname optflags optassign */
> ++#line 4150 "parser.y"
> ++ {
> + deprecated("SIP_SIGNAL is deprecated\n");
> +- checkNoAnnos(&(yyvsp[(3) - (4)].optflags), "SIP_SIGNAL has no annotations");
> ++ checkNoAnnos(&(yyvsp[-1].optflags), "SIP_SIGNAL has no annotations");
> +
> + (yyval.memArg).atype = signal_type;
> + (yyval.memArg).argflags = ARG_IS_CONST;
> + (yyval.memArg).nrderefs = 0;
> +- (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) - (4)].text));
> +- (yyval.memArg).defval = (yyvsp[(4) - (4)].valp);
> ++ (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-2].text));
> ++ (yyval.memArg).defval = (yyvsp[0].valp);
> +
> + currentSpec -> sigslots = TRUE;
> + }
> ++#line 7567 "../parser.c"
> + break;
> +
> +- case 521:
> +-#line 4136 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 522: /* argvalue: TK_SIPSLOT optname optflags optassign */
> ++#line 4162 "parser.y"
> ++ {
> + deprecated("SIP_SLOT is deprecated\n");
> +- checkNoAnnos(&(yyvsp[(3) - (4)].optflags), "SIP_SLOT has no annotations");
> ++ checkNoAnnos(&(yyvsp[-1].optflags), "SIP_SLOT has no annotations");
> +
> + (yyval.memArg).atype = slot_type;
> + (yyval.memArg).argflags = ARG_IS_CONST;
> + (yyval.memArg).nrderefs = 0;
> +- (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) - (4)].text));
> +- (yyval.memArg).defval = (yyvsp[(4) - (4)].valp);
> ++ (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-2].text));
> ++ (yyval.memArg).defval = (yyvsp[0].valp);
> +
> + currentSpec -> sigslots = TRUE;
> + }
> ++#line 7584 "../parser.c"
> + break;
> +
> +- case 522:
> +-#line 4148 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 523: /* argvalue: TK_SIPANYSLOT optname optflags optassign */
> ++#line 4174 "parser.y"
> ++ {
> + deprecated("SIP_ANYSLOT is deprecated\n");
> +- checkNoAnnos(&(yyvsp[(3) - (4)].optflags), "SIP_ANYSLOT has no annotations");
> ++ checkNoAnnos(&(yyvsp[-1].optflags), "SIP_ANYSLOT has no annotations");
> +
> + (yyval.memArg).atype = anyslot_type;
> + (yyval.memArg).argflags = ARG_IS_CONST;
> + (yyval.memArg).nrderefs = 0;
> +- (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) - (4)].text));
> +- (yyval.memArg).defval = (yyvsp[(4) - (4)].valp);
> ++ (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-2].text));
> ++ (yyval.memArg).defval = (yyvsp[0].valp);
> +
> + currentSpec -> sigslots = TRUE;
> + }
> ++#line 7601 "../parser.c"
> + break;
> +
> +- case 523:
> +-#line 4160 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 524: /* argvalue: TK_SIPRXCON optname optflags */
> ++#line 4186 "parser.y"
> ++ {
> + const char *annos[] = {
> + "SingleShot",
> + NULL
> + };
> +
> + deprecated("SIP_RXOBJ_CON is deprecated\n");
> +- checkAnnos(&(yyvsp[(3) - (3)].optflags), annos);
> ++ checkAnnos(&(yyvsp[0].optflags), annos);
> +
> + (yyval.memArg).atype = rxcon_type;
> + (yyval.memArg).argflags = 0;
> + (yyval.memArg).nrderefs = 0;
> +- (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) - (3)].text));
> ++ (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-1].text));
> +
> +- if (getOptFlag(&(yyvsp[(3) - (3)].optflags), "SingleShot", bool_flag) != NULL)
> ++ if (getOptFlag(&(yyvsp[0].optflags), "SingleShot", bool_flag) != NULL)
> + (yyval.memArg).argflags |= ARG_SINGLE_SHOT;
> +
> + currentSpec -> sigslots = TRUE;
> + }
> ++#line 7625 "../parser.c"
> + break;
> +
> +- case 524:
> +-#line 4179 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 525: /* argvalue: TK_SIPRXDIS optname optflags */
> ++#line 4205 "parser.y"
> ++ {
> + deprecated("SIP_RXOBJ_DIS is deprecated\n");
> +- checkNoAnnos(&(yyvsp[(3) - (3)].optflags), "SIP_RXOBJ_DIS has no annotations");
> ++ checkNoAnnos(&(yyvsp[0].optflags), "SIP_RXOBJ_DIS has no annotations");
> +
> + (yyval.memArg).atype = rxdis_type;
> + (yyval.memArg).argflags = 0;
> + (yyval.memArg).nrderefs = 0;
> +- (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) - (3)].text));
> ++ (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-1].text));
> +
> + currentSpec -> sigslots = TRUE;
> + }
> ++#line 7641 "../parser.c"
> + break;
> +
> +- case 525:
> +-#line 4190 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 526: /* argvalue: TK_SIPSLOTCON '(' arglist ')' optname optflags */
> ++#line 4216 "parser.y"
> ++ {
> + deprecated("SIP_SLOT_CON is deprecated\n");
> +- checkNoAnnos(&(yyvsp[(6) - (6)].optflags), "SIP_SLOT_CON has no annotations");
> ++ checkNoAnnos(&(yyvsp[0].optflags), "SIP_SLOT_CON has no annotations");
> +
> + (yyval.memArg).atype = slotcon_type;
> + (yyval.memArg).argflags = ARG_IS_CONST;
> + (yyval.memArg).nrderefs = 0;
> +- (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(5) - (6)].text));
> ++ (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-1].text));
> +
> +- memset(&(yyvsp[(3) - (6)].signature).result, 0, sizeof (argDef));
> +- (yyvsp[(3) - (6)].signature).result.atype = void_type;
> ++ memset(&(yyvsp[-3].signature).result, 0, sizeof (argDef));
> ++ (yyvsp[-3].signature).result.atype = void_type;
> +
> + (yyval.memArg).u.sa = sipMalloc(sizeof (signatureDef));
> +- *(yyval.memArg).u.sa = (yyvsp[(3) - (6)].signature);
> ++ *(yyval.memArg).u.sa = (yyvsp[-3].signature);
> +
> + currentSpec -> sigslots = TRUE;
> + }
> ++#line 7663 "../parser.c"
> + break;
> +
> +- case 526:
> +-#line 4207 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 527: /* argvalue: TK_SIPSLOTDIS '(' arglist ')' optname optflags */
> ++#line 4233 "parser.y"
> ++ {
> + deprecated("SIP_SLOT_DIS is deprecated\n");
> +- checkNoAnnos(&(yyvsp[(6) - (6)].optflags), "SIP_SLOT_DIS has no annotations");
> ++ checkNoAnnos(&(yyvsp[0].optflags), "SIP_SLOT_DIS has no annotations");
> +
> + (yyval.memArg).atype = slotdis_type;
> + (yyval.memArg).argflags = ARG_IS_CONST;
> + (yyval.memArg).nrderefs = 0;
> +- (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(5) - (6)].text));
> ++ (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-1].text));
> +
> +- memset(&(yyvsp[(3) - (6)].signature).result, 0, sizeof (argDef));
> +- (yyvsp[(3) - (6)].signature).result.atype = void_type;
> ++ memset(&(yyvsp[-3].signature).result, 0, sizeof (argDef));
> ++ (yyvsp[-3].signature).result.atype = void_type;
> +
> + (yyval.memArg).u.sa = sipMalloc(sizeof (signatureDef));
> +- *(yyval.memArg).u.sa = (yyvsp[(3) - (6)].signature);
> ++ *(yyval.memArg).u.sa = (yyvsp[-3].signature);
> +
> + currentSpec -> sigslots = TRUE;
> + }
> ++#line 7685 "../parser.c"
> + break;
> +
> +- case 527:
> +-#line 4224 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 528: /* argvalue: TK_QOBJECT optname optflags */
> ++#line 4250 "parser.y"
> ++ {
> + deprecated("SIP_QOBJECT is deprecated\n");
> +- checkNoAnnos(&(yyvsp[(3) - (3)].optflags), "SIP_QOBJECT has no annotations");
> ++ checkNoAnnos(&(yyvsp[0].optflags), "SIP_QOBJECT has no annotations");
> +
> + (yyval.memArg).atype = qobject_type;
> + (yyval.memArg).argflags = 0;
> + (yyval.memArg).nrderefs = 0;
> +- (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) - (3)].text));
> ++ (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-1].text));
> + }
> ++#line 7699 "../parser.c"
> + break;
> +
> +- case 528:
> +-#line 4233 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.memArg) = (yyvsp[(1) - (2)].memArg);
> +- (yyval.memArg).defval = (yyvsp[(2) - (2)].valp);
> ++ case 529: /* argvalue: argtype optassign */
> ++#line 4259 "parser.y"
> ++ {
> ++ (yyval.memArg) = (yyvsp[-1].memArg);
> ++ (yyval.memArg).defval = (yyvsp[0].valp);
> + }
> ++#line 7708 "../parser.c"
> + break;
> +
> +- case 529:
> +-#line 4240 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {currentIsSignal = TRUE;}
> ++ case 530: /* $@19: %empty */
> ++#line 4266 "parser.y"
> ++ {currentIsSignal = TRUE;}
> ++#line 7714 "../parser.c"
> + break;
> +
> +- case 531:
> +-#line 4241 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {currentIsSlot = TRUE;}
> ++ case 532: /* $@20: %empty */
> ++#line 4267 "parser.y"
> ++ {currentIsSlot = TRUE;}
> ++#line 7720 "../parser.c"
> + break;
> +
> +- case 534:
> +-#line 4246 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {currentIsStatic = TRUE;}
> ++ case 535: /* $@21: %empty */
> ++#line 4272 "parser.y"
> ++ {currentIsStatic = TRUE;}
> ++#line 7726 "../parser.c"
> + break;
> +
> +- case 539:
> +-#line 4256 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {currentIsVirt = TRUE;}
> ++ case 540: /* $@22: %empty */
> ++#line 4282 "parser.y"
> ++ {currentIsVirt = TRUE;}
> ++#line 7732 "../parser.c"
> + break;
> +
> +- case 542:
> +-#line 4260 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 543: /* variable: cpptype TK_NAME_VALUE optflags variable_body ';' optaccesscode optgetcode optsetcode */
> ++#line 4286 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + const char *annos[] = {
> +@@ -7730,99 +7747,105 @@ yyreduce:
> + NULL
> + };
> +
> +- checkAnnos(&(yyvsp[(3) - (8)].optflags), annos);
> ++ checkAnnos(&(yyvsp[-5].optflags), annos);
> +
> +- if ((yyvsp[(6) - (8)].codeb) != NULL)
> ++ if ((yyvsp[-2].codeb) != NULL)
> + {
> +- if ((yyvsp[(4) - (8)].variable).access_code != NULL)
> ++ if ((yyvsp[-4].variable).access_code != NULL)
> + yyerror("%AccessCode already defined");
> +
> +- (yyvsp[(4) - (8)].variable).access_code = (yyvsp[(6) - (8)].codeb);
> ++ (yyvsp[-4].variable).access_code = (yyvsp[-2].codeb);
> +
> + deprecated("%AccessCode should be used as a sub-directive");
> + }
> +
> +- if ((yyvsp[(7) - (8)].codeb) != NULL)
> ++ if ((yyvsp[-1].codeb) != NULL)
> + {
> +- if ((yyvsp[(4) - (8)].variable).get_code != NULL)
> ++ if ((yyvsp[-4].variable).get_code != NULL)
> + yyerror("%GetCode already defined");
> +
> +- (yyvsp[(4) - (8)].variable).get_code = (yyvsp[(7) - (8)].codeb);
> ++ (yyvsp[-4].variable).get_code = (yyvsp[-1].codeb);
> +
> + deprecated("%GetCode should be used as a sub-directive");
> + }
> +
> +- if ((yyvsp[(8) - (8)].codeb) != NULL)
> ++ if ((yyvsp[0].codeb) != NULL)
> + {
> +- if ((yyvsp[(4) - (8)].variable).set_code != NULL)
> ++ if ((yyvsp[-4].variable).set_code != NULL)
> + yyerror("%SetCode already defined");
> +
> +- (yyvsp[(4) - (8)].variable).set_code = (yyvsp[(8) - (8)].codeb);
> ++ (yyvsp[-4].variable).set_code = (yyvsp[0].codeb);
> +
> + deprecated("%SetCode should be used as a sub-directive");
> + }
> +
> +- newVar(currentSpec, currentModule, (yyvsp[(2) - (8)].text), currentIsStatic, &(yyvsp[(1) - (8)].memArg),
> +- &(yyvsp[(3) - (8)].optflags), (yyvsp[(4) - (8)].variable).access_code, (yyvsp[(4) - (8)].variable).get_code, (yyvsp[(4) - (8)].variable).set_code,
> ++ newVar(currentSpec, currentModule, (yyvsp[-6].text), currentIsStatic, &(yyvsp[-7].memArg),
> ++ &(yyvsp[-5].optflags), (yyvsp[-4].variable).access_code, (yyvsp[-4].variable).get_code, (yyvsp[-4].variable).set_code,
> + sectionFlags);
> + }
> +
> + currentIsStatic = FALSE;
> + }
> ++#line 7790 "../parser.c"
> + break;
> +
> +- case 543:
> +-#line 4315 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 544: /* variable_body: %empty */
> ++#line 4341 "parser.y"
> ++ {
> + (yyval.variable).token = 0;
> + (yyval.variable).access_code = NULL;
> + (yyval.variable).get_code = NULL;
> + (yyval.variable).set_code = NULL;
> + }
> ++#line 7801 "../parser.c"
> + break;
> +
> +- case 544:
> +-#line 4321 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.variable) = (yyvsp[(2) - (3)].variable);
> ++ case 545: /* variable_body: '{' variable_body_directives '}' */
> ++#line 4347 "parser.y"
> ++ {
> ++ (yyval.variable) = (yyvsp[-1].variable);
> + }
> ++#line 7809 "../parser.c"
> + break;
> +
> +- case 546:
> +-#line 4327 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.variable) = (yyvsp[(1) - (2)].variable);
> ++ case 547: /* variable_body_directives: variable_body_directives variable_body_directive */
> ++#line 4353 "parser.y"
> ++ {
> ++ (yyval.variable) = (yyvsp[-1].variable);
> +
> +- switch ((yyvsp[(2) - (2)].variable).token)
> ++ switch ((yyvsp[0].variable).token)
> + {
> +- case TK_ACCESSCODE: (yyval.variable).access_code = (yyvsp[(2) - (2)].variable).access_code; break;
> +- case TK_GETCODE: (yyval.variable).get_code = (yyvsp[(2) - (2)].variable).get_code; break;
> +- case TK_SETCODE: (yyval.variable).set_code = (yyvsp[(2) - (2)].variable).set_code; break;
> ++ case TK_ACCESSCODE: (yyval.variable).access_code = (yyvsp[0].variable).access_code; break;
> ++ case TK_GETCODE: (yyval.variable).get_code = (yyvsp[0].variable).get_code; break;
> ++ case TK_SETCODE: (yyval.variable).set_code = (yyvsp[0].variable).set_code; break;
> + }
> + }
> ++#line 7824 "../parser.c"
> + break;
> +
> +- case 547:
> +-#line 4339 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 548: /* variable_body_directive: ifstart */
> ++#line 4365 "parser.y"
> ++ {
> + (yyval.variable).token = TK_IF;
> + }
> ++#line 7832 "../parser.c"
> + break;
> +
> +- case 548:
> +-#line 4342 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 549: /* variable_body_directive: ifend */
> ++#line 4368 "parser.y"
> ++ {
> + (yyval.variable).token = TK_END;
> + }
> ++#line 7840 "../parser.c"
> + break;
> +
> +- case 549:
> +-#line 4345 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 550: /* variable_body_directive: TK_ACCESSCODE codeblock */
> ++#line 4371 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + (yyval.variable).token = TK_ACCESSCODE;
> +- (yyval.variable).access_code = (yyvsp[(2) - (2)].codeb);
> ++ (yyval.variable).access_code = (yyvsp[0].codeb);
> + }
> + else
> + {
> +@@ -7833,15 +7856,16 @@ yyreduce:
> + (yyval.variable).get_code = NULL;
> + (yyval.variable).set_code = NULL;
> + }
> ++#line 7860 "../parser.c"
> + break;
> +
> +- case 550:
> +-#line 4360 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 551: /* variable_body_directive: TK_GETCODE codeblock */
> ++#line 4386 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + (yyval.variable).token = TK_GETCODE;
> +- (yyval.variable).get_code = (yyvsp[(2) - (2)].codeb);
> ++ (yyval.variable).get_code = (yyvsp[0].codeb);
> + }
> + else
> + {
> +@@ -7852,15 +7876,16 @@ yyreduce:
> + (yyval.variable).access_code = NULL;
> + (yyval.variable).set_code = NULL;
> + }
> ++#line 7880 "../parser.c"
> + break;
> +
> +- case 551:
> +-#line 4375 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 552: /* variable_body_directive: TK_SETCODE codeblock */
> ++#line 4401 "parser.y"
> ++ {
> + if (notSkipping())
> + {
> + (yyval.variable).token = TK_SETCODE;
> +- (yyval.variable).set_code = (yyvsp[(2) - (2)].codeb);
> ++ (yyval.variable).set_code = (yyvsp[0].codeb);
> + }
> + else
> + {
> +@@ -7871,36 +7896,39 @@ yyreduce:
> + (yyval.variable).access_code = NULL;
> + (yyval.variable).get_code = NULL;
> + }
> ++#line 7900 "../parser.c"
> + break;
> +
> +- case 552:
> +-#line 4392 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.memArg) = (yyvsp[(2) - (4)].memArg);
> +- add_derefs(&(yyval.memArg), &(yyvsp[(3) - (4)].memArg));
> +- (yyval.memArg).argflags |= ARG_IS_CONST | (yyvsp[(4) - (4)].number);
> ++ case 553: /* cpptype: TK_CONST basetype deref optref */
> ++#line 4418 "parser.y"
> ++ {
> ++ (yyval.memArg) = (yyvsp[-2].memArg);
> ++ add_derefs(&(yyval.memArg), &(yyvsp[-1].memArg));
> ++ (yyval.memArg).argflags |= ARG_IS_CONST | (yyvsp[0].number);
> + }
> ++#line 7910 "../parser.c"
> + break;
> +
> +- case 553:
> +-#line 4397 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- (yyval.memArg) = (yyvsp[(1) - (3)].memArg);
> +- add_derefs(&(yyval.memArg), &(yyvsp[(2) - (3)].memArg));
> +- (yyval.memArg).argflags |= (yyvsp[(3) - (3)].number);
> ++ case 554: /* cpptype: basetype deref optref */
> ++#line 4423 "parser.y"
> ++ {
> ++ (yyval.memArg) = (yyvsp[-2].memArg);
> ++ add_derefs(&(yyval.memArg), &(yyvsp[-1].memArg));
> ++ (yyval.memArg).argflags |= (yyvsp[0].number);
> +
> + /* PyObject * is a synonym for SIP_PYOBJECT. */
> +- if ((yyvsp[(1) - (3)].memArg).atype == defined_type && strcmp((yyvsp[(1) - (3)].memArg).u.snd->name, "PyObject") == 0 && (yyvsp[(1) - (3)].memArg).u.snd->next == NULL && (yyvsp[(2) - (3)].memArg).nrderefs == 1 && (yyvsp[(3) - (3)].number) == 0)
> ++ if ((yyvsp[-2].memArg).atype == defined_type && strcmp((yyvsp[-2].memArg).u.snd->name, "PyObject") == 0 && (yyvsp[-2].memArg).u.snd->next == NULL && (yyvsp[-1].memArg).nrderefs == 1 && (yyvsp[0].number) == 0)
> + {
> + (yyval.memArg).atype = pyobject_type;
> + (yyval.memArg).nrderefs = 0;
> + }
> + }
> ++#line 7927 "../parser.c"
> + break;
> +
> +- case 554:
> +-#line 4411 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 555: /* argtype: cpptype optname optflags */
> ++#line 4437 "parser.y"
> ++ {
> + const char *annos[] = {
> + "AllowNone",
> + "Array",
> +@@ -7930,54 +7958,54 @@ yyreduce:
> +
> + optFlag *of;
> +
> +- checkAnnos(&(yyvsp[(3) - (3)].optflags), annos);
> ++ checkAnnos(&(yyvsp[0].optflags), annos);
> +
> +- (yyval.memArg) = (yyvsp[(1) - (3)].memArg);
> +- (yyval.memArg).name = cacheName(currentSpec, (yyvsp[(2) - (3)].text));
> ++ (yyval.memArg) = (yyvsp[-2].memArg);
> ++ (yyval.memArg).name = cacheName(currentSpec, (yyvsp[-1].text));
> +
> +- handleKeepReference(&(yyvsp[(3) - (3)].optflags), &(yyval.memArg), currentModule);
> ++ handleKeepReference(&(yyvsp[0].optflags), &(yyval.memArg), currentModule);
> +
> +- if ((of = getOptFlag(&(yyvsp[(3) - (3)].optflags), "ScopesStripped", opt_integer_flag)) != NULL)
> ++ if ((of = getOptFlag(&(yyvsp[0].optflags), "ScopesStripped", opt_integer_flag)) != NULL)
> + if (((yyval.memArg).scopes_stripped = of->fvalue.ival) <= 0)
> + yyerror("/ScopesStripped/ must be greater than 0");
> +
> +- if (getAllowNone(&(yyvsp[(3) - (3)].optflags)))
> ++ if (getAllowNone(&(yyvsp[0].optflags)))
> + (yyval.memArg).argflags |= ARG_ALLOW_NONE;
> +
> +- if (getDisallowNone(&(yyvsp[(3) - (3)].optflags)))
> ++ if (getDisallowNone(&(yyvsp[0].optflags)))
> + (yyval.memArg).argflags |= ARG_DISALLOW_NONE;
> +
> +- if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"GetWrapper",bool_flag) != NULL)
> ++ if (getOptFlag(&(yyvsp[0].optflags),"GetWrapper",bool_flag) != NULL)
> + (yyval.memArg).argflags |= ARG_GET_WRAPPER;
> +
> +- if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"Array",bool_flag) != NULL)
> ++ if (getOptFlag(&(yyvsp[0].optflags),"Array",bool_flag) != NULL)
> + (yyval.memArg).argflags |= ARG_ARRAY;
> +
> +- if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"ArraySize",bool_flag) != NULL)
> ++ if (getOptFlag(&(yyvsp[0].optflags),"ArraySize",bool_flag) != NULL)
> + (yyval.memArg).argflags |= ARG_ARRAY_SIZE;
> +
> +- if (getTransfer(&(yyvsp[(3) - (3)].optflags)))
> ++ if (getTransfer(&(yyvsp[0].optflags)))
> + (yyval.memArg).argflags |= ARG_XFERRED;
> +
> +- if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"TransferThis",bool_flag) != NULL)
> ++ if (getOptFlag(&(yyvsp[0].optflags),"TransferThis",bool_flag) != NULL)
> + (yyval.memArg).argflags |= ARG_THIS_XFERRED;
> +
> +- if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"TransferBack",bool_flag) != NULL)
> ++ if (getOptFlag(&(yyvsp[0].optflags),"TransferBack",bool_flag) != NULL)
> + (yyval.memArg).argflags |= ARG_XFERRED_BACK;
> +
> +- if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"In",bool_flag) != NULL)
> ++ if (getOptFlag(&(yyvsp[0].optflags),"In",bool_flag) != NULL)
> + (yyval.memArg).argflags |= ARG_IN;
> +
> +- if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"Out",bool_flag) != NULL)
> ++ if (getOptFlag(&(yyvsp[0].optflags),"Out",bool_flag) != NULL)
> + (yyval.memArg).argflags |= ARG_OUT;
> +
> +- if (getOptFlag(&(yyvsp[(3) - (3)].optflags), "ResultSize", bool_flag) != NULL)
> ++ if (getOptFlag(&(yyvsp[0].optflags), "ResultSize", bool_flag) != NULL)
> + (yyval.memArg).argflags |= ARG_RESULT_SIZE;
> +
> +- if (getOptFlag(&(yyvsp[(3) - (3)].optflags), "NoCopy", bool_flag) != NULL)
> ++ if (getOptFlag(&(yyvsp[0].optflags), "NoCopy", bool_flag) != NULL)
> + (yyval.memArg).argflags |= ARG_NO_COPY;
> +
> +- if (getOptFlag(&(yyvsp[(3) - (3)].optflags),"Constrained",bool_flag) != NULL)
> ++ if (getOptFlag(&(yyvsp[0].optflags),"Constrained",bool_flag) != NULL)
> + {
> + (yyval.memArg).argflags |= ARG_CONSTRAINED;
> +
> +@@ -8005,499 +8033,518 @@ yyreduce:
> + }
> + }
> +
> +- applyTypeFlags(currentModule, &(yyval.memArg), &(yyvsp[(3) - (3)].optflags));
> +- (yyval.memArg).typehint_value = getTypeHintValue(&(yyvsp[(3) - (3)].optflags));
> ++ applyTypeFlags(currentModule, &(yyval.memArg), &(yyvsp[0].optflags));
> ++ (yyval.memArg).typehint_value = getTypeHintValue(&(yyvsp[0].optflags));
> + }
> ++#line 8040 "../parser.c"
> + break;
> +
> +- case 555:
> +-#line 4521 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 556: /* optref: %empty */
> ++#line 4547 "parser.y"
> ++ {
> + (yyval.number) = 0;
> + }
> ++#line 8048 "../parser.c"
> + break;
> +
> +- case 556:
> +-#line 4524 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 557: /* optref: '&' */
> ++#line 4550 "parser.y"
> ++ {
> + if (currentSpec -> genc)
> + yyerror("References not allowed in a C module");
> +
> + (yyval.number) = ARG_IS_REF;
> + }
> ++#line 8059 "../parser.c"
> + break;
> +
> +- case 557:
> +-#line 4532 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 558: /* deref: %empty */
> ++#line 4558 "parser.y"
> ++ {
> + (yyval.memArg).nrderefs = 0;
> + }
> ++#line 8067 "../parser.c"
> + break;
> +
> +- case 558:
> +-#line 4535 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- add_new_deref(&(yyval.memArg), &(yyvsp[(1) - (3)].memArg), TRUE);
> ++ case 559: /* deref: deref '*' TK_CONST */
> ++#line 4561 "parser.y"
> ++ {
> ++ add_new_deref(&(yyval.memArg), &(yyvsp[-2].memArg), TRUE);
> + }
> ++#line 8075 "../parser.c"
> + break;
> +
> +- case 559:
> +-#line 4538 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> +- add_new_deref(&(yyval.memArg), &(yyvsp[(1) - (2)].memArg), FALSE);
> ++ case 560: /* deref: deref '*' */
> ++#line 4564 "parser.y"
> ++ {
> ++ add_new_deref(&(yyval.memArg), &(yyvsp[-1].memArg), FALSE);
> + }
> ++#line 8083 "../parser.c"
> + break;
> +
> +- case 560:
> +-#line 4543 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 561: /* basetype: scopedname */
> ++#line 4569 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = defined_type;
> +- (yyval.memArg).u.snd = (yyvsp[(1) - (1)].scpvalp);
> ++ (yyval.memArg).u.snd = (yyvsp[0].scpvalp);
> +
> + /* Try and resolve typedefs as early as possible. */
> + resolveAnyTypedef(currentSpec, &(yyval.memArg));
> + }
> ++#line 8096 "../parser.c"
> + break;
> +
> +- case 561:
> +-#line 4551 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 562: /* basetype: scopedname '<' cpptypelist '>' */
> ++#line 4577 "parser.y"
> ++ {
> + templateDef *td;
> +
> + td = sipMalloc(sizeof(templateDef));
> +- td->fqname = (yyvsp[(1) - (4)].scpvalp);
> +- td->types = (yyvsp[(3) - (4)].signature);
> ++ td->fqname = (yyvsp[-3].scpvalp);
> ++ td->types = (yyvsp[-1].signature);
> +
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = template_type;
> + (yyval.memArg).u.td = td;
> + }
> ++#line 8112 "../parser.c"
> + break;
> +
> +- case 562:
> +-#line 4562 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 563: /* basetype: TK_STRUCT scopedname */
> ++#line 4588 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> +
> + /* In a C module all structures must be defined. */
> + if (currentSpec -> genc)
> + {
> + (yyval.memArg).atype = defined_type;
> +- (yyval.memArg).u.snd = (yyvsp[(2) - (2)].scpvalp);
> ++ (yyval.memArg).u.snd = (yyvsp[0].scpvalp);
> + }
> + else
> + {
> + (yyval.memArg).atype = struct_type;
> +- (yyval.memArg).u.sname = (yyvsp[(2) - (2)].scpvalp);
> ++ (yyval.memArg).u.sname = (yyvsp[0].scpvalp);
> + }
> + }
> ++#line 8132 "../parser.c"
> + break;
> +
> +- case 563:
> +-#line 4577 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 564: /* basetype: TK_UNSIGNED TK_SHORT */
> ++#line 4603 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = ushort_type;
> + }
> ++#line 8141 "../parser.c"
> + break;
> +
> +- case 564:
> +-#line 4581 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 565: /* basetype: TK_SHORT */
> ++#line 4607 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = short_type;
> + }
> ++#line 8150 "../parser.c"
> + break;
> +
> +- case 565:
> +-#line 4585 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 566: /* basetype: TK_UNSIGNED */
> ++#line 4611 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = uint_type;
> + }
> ++#line 8159 "../parser.c"
> + break;
> +
> +- case 566:
> +-#line 4589 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 567: /* basetype: TK_UNSIGNED TK_INT */
> ++#line 4615 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = uint_type;
> + }
> ++#line 8168 "../parser.c"
> + break;
> +
> +- case 567:
> +-#line 4593 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 568: /* basetype: TK_INT */
> ++#line 4619 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = int_type;
> + }
> ++#line 8177 "../parser.c"
> + break;
> +
> +- case 568:
> +-#line 4597 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 569: /* basetype: TK_LONG */
> ++#line 4623 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = long_type;
> + }
> ++#line 8186 "../parser.c"
> + break;
> +
> +- case 569:
> +-#line 4601 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 570: /* basetype: TK_UNSIGNED TK_LONG */
> ++#line 4627 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = ulong_type;
> + }
> ++#line 8195 "../parser.c"
> + break;
> +
> +- case 570:
> +-#line 4605 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 571: /* basetype: TK_LONG TK_LONG */
> ++#line 4631 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = longlong_type;
> + }
> ++#line 8204 "../parser.c"
> + break;
> +
> +- case 571:
> +-#line 4609 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 572: /* basetype: TK_UNSIGNED TK_LONG TK_LONG */
> ++#line 4635 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = ulonglong_type;
> + }
> ++#line 8213 "../parser.c"
> + break;
> +
> +- case 572:
> +-#line 4613 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 573: /* basetype: TK_FLOAT */
> ++#line 4639 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = float_type;
> + }
> ++#line 8222 "../parser.c"
> + break;
> +
> +- case 573:
> +-#line 4617 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 574: /* basetype: TK_DOUBLE */
> ++#line 4643 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = double_type;
> + }
> ++#line 8231 "../parser.c"
> + break;
> +
> +- case 574:
> +-#line 4621 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 575: /* basetype: TK_BOOL */
> ++#line 4647 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = bool_type;
> + }
> ++#line 8240 "../parser.c"
> + break;
> +
> +- case 575:
> +-#line 4625 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 576: /* basetype: TK_SIGNED TK_CHAR */
> ++#line 4651 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = sstring_type;
> + }
> ++#line 8249 "../parser.c"
> + break;
> +
> +- case 576:
> +-#line 4629 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 577: /* basetype: TK_UNSIGNED TK_CHAR */
> ++#line 4655 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = ustring_type;
> + }
> ++#line 8258 "../parser.c"
> + break;
> +
> +- case 577:
> +-#line 4633 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 578: /* basetype: TK_CHAR */
> ++#line 4659 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = string_type;
> + }
> ++#line 8267 "../parser.c"
> + break;
> +
> +- case 578:
> +-#line 4637 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 579: /* basetype: TK_WCHAR_T */
> ++#line 4663 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = wstring_type;
> + }
> ++#line 8276 "../parser.c"
> + break;
> +
> +- case 579:
> +-#line 4641 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 580: /* basetype: TK_VOID */
> ++#line 4667 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = void_type;
> + }
> ++#line 8285 "../parser.c"
> + break;
> +
> +- case 580:
> +-#line 4645 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 581: /* basetype: TK_PYOBJECT */
> ++#line 4671 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = pyobject_type;
> + }
> ++#line 8294 "../parser.c"
> + break;
> +
> +- case 581:
> +-#line 4649 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 582: /* basetype: TK_PYTUPLE */
> ++#line 4675 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = pytuple_type;
> + }
> ++#line 8303 "../parser.c"
> + break;
> +
> +- case 582:
> +-#line 4653 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 583: /* basetype: TK_PYLIST */
> ++#line 4679 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = pylist_type;
> + }
> ++#line 8312 "../parser.c"
> + break;
> +
> +- case 583:
> +-#line 4657 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 584: /* basetype: TK_PYDICT */
> ++#line 4683 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = pydict_type;
> + }
> ++#line 8321 "../parser.c"
> + break;
> +
> +- case 584:
> +-#line 4661 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 585: /* basetype: TK_PYCALLABLE */
> ++#line 4687 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = pycallable_type;
> + }
> ++#line 8330 "../parser.c"
> + break;
> +
> +- case 585:
> +-#line 4665 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 586: /* basetype: TK_PYSLICE */
> ++#line 4691 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = pyslice_type;
> + }
> ++#line 8339 "../parser.c"
> + break;
> +
> +- case 586:
> +-#line 4669 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 587: /* basetype: TK_PYTYPE */
> ++#line 4695 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = pytype_type;
> + }
> ++#line 8348 "../parser.c"
> + break;
> +
> +- case 587:
> +-#line 4673 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 588: /* basetype: TK_PYBUFFER */
> ++#line 4699 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = pybuffer_type;
> + }
> ++#line 8357 "../parser.c"
> + break;
> +
> +- case 588:
> +-#line 4677 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 589: /* basetype: TK_SIPSSIZET */
> ++#line 4703 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = ssize_type;
> + }
> ++#line 8366 "../parser.c"
> + break;
> +
> +- case 589:
> +-#line 4681 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 590: /* basetype: TK_SIZET */
> ++#line 4707 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = size_type;
> + }
> ++#line 8375 "../parser.c"
> + break;
> +
> +- case 590:
> +-#line 4685 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 591: /* basetype: TK_ELLIPSIS */
> ++#line 4711 "parser.y"
> ++ {
> + memset(&(yyval.memArg), 0, sizeof (argDef));
> + (yyval.memArg).atype = ellipsis_type;
> + }
> ++#line 8384 "../parser.c"
> + break;
> +
> +- case 591:
> +-#line 4691 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 592: /* cpptypelist: cpptype */
> ++#line 4717 "parser.y"
> ++ {
> + /* The single or first type. */
> +
> +- (yyval.signature).args[0] = (yyvsp[(1) - (1)].memArg);
> ++ (yyval.signature).args[0] = (yyvsp[0].memArg);
> + (yyval.signature).nrArgs = 1;
> + }
> ++#line 8395 "../parser.c"
> + break;
> +
> +- case 592:
> +-#line 4697 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 593: /* cpptypelist: cpptypelist ',' cpptype */
> ++#line 4723 "parser.y"
> ++ {
> + /* Check there is nothing after an ellipsis. */
> +- if ((yyvsp[(1) - (3)].signature).args[(yyvsp[(1) - (3)].signature).nrArgs - 1].atype == ellipsis_type)
> ++ if ((yyvsp[-2].signature).args[(yyvsp[-2].signature).nrArgs - 1].atype == ellipsis_type)
> + yyerror("An ellipsis must be at the end of the argument list");
> +
> + /* Check there is room. */
> +- if ((yyvsp[(1) - (3)].signature).nrArgs == MAX_NR_ARGS)
> ++ if ((yyvsp[-2].signature).nrArgs == MAX_NR_ARGS)
> + yyerror("Internal error - increase the value of MAX_NR_ARGS");
> +
> +- (yyval.signature) = (yyvsp[(1) - (3)].signature);
> ++ (yyval.signature) = (yyvsp[-2].signature);
> +
> +- (yyval.signature).args[(yyval.signature).nrArgs] = (yyvsp[(3) - (3)].memArg);
> ++ (yyval.signature).args[(yyval.signature).nrArgs] = (yyvsp[0].memArg);
> + (yyval.signature).nrArgs++;
> + }
> ++#line 8414 "../parser.c"
> + break;
> +
> +- case 593:
> +-#line 4713 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 594: /* optexceptions: %empty */
> ++#line 4739 "parser.y"
> ++ {
> + (yyval.throwlist) = NULL;
> + }
> ++#line 8422 "../parser.c"
> + break;
> +
> +- case 594:
> +-#line 4716 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 595: /* optexceptions: TK_THROW '(' exceptionlist ')' */
> ++#line 4742 "parser.y"
> ++ {
> + if (currentSpec->genc)
> + yyerror("Exceptions not allowed in a C module");
> +
> +- (yyval.throwlist) = (yyvsp[(3) - (4)].throwlist);
> ++ (yyval.throwlist) = (yyvsp[-1].throwlist);
> + }
> ++#line 8433 "../parser.c"
> + break;
> +
> +- case 595:
> +-#line 4724 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 596: /* exceptionlist: %empty */
> ++#line 4750 "parser.y"
> ++ {
> + /* Empty list so use a blank. */
> +
> + (yyval.throwlist) = sipMalloc(sizeof (throwArgs));
> + (yyval.throwlist) -> nrArgs = 0;
> + }
> ++#line 8444 "../parser.c"
> + break;
> +
> +- case 596:
> +-#line 4730 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 597: /* exceptionlist: scopedname */
> ++#line 4756 "parser.y"
> ++ {
> + /* The only or first exception. */
> +
> + (yyval.throwlist) = sipMalloc(sizeof (throwArgs));
> + (yyval.throwlist) -> nrArgs = 1;
> +- (yyval.throwlist) -> args[0] = findException(currentSpec, (yyvsp[(1) - (1)].scpvalp), FALSE);
> ++ (yyval.throwlist) -> args[0] = findException(currentSpec, (yyvsp[0].scpvalp), FALSE);
> + }
> ++#line 8456 "../parser.c"
> + break;
> +
> +- case 597:
> +-#line 4737 "sip-4.19.23/sipgen/metasrc/parser.y"
> +- {
> ++ case 598: /* exceptionlist: exceptionlist ',' scopedname */
> ++#line 4763 "parser.y"
> ++ {
> + /* Check that it wasn't ...(,arg...). */
> +
> +- if ((yyvsp[(1) - (3)].throwlist) -> nrArgs == 0)
> ++ if ((yyvsp[-2].throwlist) -> nrArgs == 0)
> + yyerror("First exception of throw specifier is missing");
> +
> + /* Check there is room. */
> +
> +- if ((yyvsp[(1) - (3)].throwlist) -> nrArgs == MAX_NR_ARGS)
> ++ if ((yyvsp[-2].throwlist) -> nrArgs == MAX_NR_ARGS)
> + yyerror("Internal error - increase the value of MAX_NR_ARGS");
> +
> +- (yyval.throwlist) = (yyvsp[(1) - (3)].throwlist);
> +- (yyval.throwlist) -> args[(yyval.throwlist) -> nrArgs++] = findException(currentSpec, (yyvsp[(3) - (3)].scpvalp), FALSE);
> ++ (yyval.throwlist) = (yyvsp[-2].throwlist);
> ++ (yyval.throwlist) -> args[(yyval.throwlist) -> nrArgs++] = findException(currentSpec, (yyvsp[0].scpvalp), FALSE);
> + }
> ++#line 8475 "../parser.c"
> + break;
> +
> +
> +-/* Line 1267 of yacc.c. */
> +-#line 8408 "sip-4.19.23/sipgen/parser.c"
> ++#line 8479 "../parser.c"
> ++
> + default: break;
> + }
> +- YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
> ++ /* User semantic actions sometimes alter yychar, and that requires
> ++ that yytoken be updated with the new translation. We take the
> ++ approach of translating immediately before every use of yytoken.
> ++ One alternative is translating here after every semantic action,
> ++ but that translation would be missed if the semantic action invokes
> ++ YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
> ++ if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
> ++ incorrect destructor might then be invoked immediately. In the
> ++ case of YYERROR or YYBACKUP, subsequent parser actions might lead
> ++ to an incorrect destructor call or verbose syntax error message
> ++ before the lookahead is translated. */
> ++ YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
> +
> + YYPOPSTACK (yylen);
> + yylen = 0;
> +- YY_STACK_PRINT (yyss, yyssp);
> +
> + *++yyvsp = yyval;
> +
> +-
> +- /* Now `shift' the result of the reduction. Determine what state
> ++ /* Now 'shift' the result of the reduction. Determine what state
> + that goes to, based on the state we popped back to and the rule
> + number reduced by. */
> +-
> +- yyn = yyr1[yyn];
> +-
> +- yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
> +- if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
> +- yystate = yytable[yystate];
> +- else
> +- yystate = yydefgoto[yyn - YYNTOKENS];
> ++ {
> ++ const int yylhs = yyr1[yyn] - YYNTOKENS;
> ++ const int yyi = yypgoto[yylhs] + *yyssp;
> ++ yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
> ++ ? yytable[yyi]
> ++ : yydefgoto[yylhs]);
> ++ }
> +
> + goto yynewstate;
> +
> +
> +-/*------------------------------------.
> +-| yyerrlab -- here on detecting error |
> +-`------------------------------------*/
> ++/*--------------------------------------.
> ++| yyerrlab -- here on detecting error. |
> ++`--------------------------------------*/
> + yyerrlab:
> ++ /* Make sure we have latest lookahead translation. See comments at
> ++ user semantic actions for why this is necessary. */
> ++ yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
> + /* If not already recovering from an error, report this error. */
> + if (!yyerrstatus)
> + {
> + ++yynerrs;
> +-#if ! YYERROR_VERBOSE
> + yyerror (YY_("syntax error"));
> +-#else
> +- {
> +- YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
> +- if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
> +- {
> +- YYSIZE_T yyalloc = 2 * yysize;
> +- if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
> +- yyalloc = YYSTACK_ALLOC_MAXIMUM;
> +- if (yymsg != yymsgbuf)
> +- YYSTACK_FREE (yymsg);
> +- yymsg = (char *) YYSTACK_ALLOC (yyalloc);
> +- if (yymsg)
> +- yymsg_alloc = yyalloc;
> +- else
> +- {
> +- yymsg = yymsgbuf;
> +- yymsg_alloc = sizeof yymsgbuf;
> +- }
> +- }
> +-
> +- if (0 < yysize && yysize <= yymsg_alloc)
> +- {
> +- (void) yysyntax_error (yymsg, yystate, yychar);
> +- yyerror (yymsg);
> +- }
> +- else
> +- {
> +- yyerror (YY_("syntax error"));
> +- if (yysize != 0)
> +- goto yyexhaustedlab;
> +- }
> +- }
> +-#endif
> + }
> +
> +-
> +-
> + if (yyerrstatus == 3)
> + {
> +- /* If just tried and failed to reuse look-ahead token after an
> +- error, discard it. */
> ++ /* If just tried and failed to reuse lookahead token after an
> ++ error, discard it. */
> +
> + if (yychar <= YYEOF)
> +- {
> +- /* Return failure if at end of input. */
> +- if (yychar == YYEOF)
> +- YYABORT;
> +- }
> ++ {
> ++ /* Return failure if at end of input. */
> ++ if (yychar == YYEOF)
> ++ YYABORT;
> ++ }
> + else
> +- {
> +- yydestruct ("Error: discarding",
> +- yytoken, &yylval);
> +- yychar = YYEMPTY;
> +- }
> ++ {
> ++ yydestruct ("Error: discarding",
> ++ yytoken, &yylval);
> ++ yychar = YYEMPTY;
> ++ }
> + }
> +
> +- /* Else will try to reuse look-ahead token after shifting the error
> ++ /* Else will try to reuse lookahead token after shifting the error
> + token. */
> + goto yyerrlab1;
> +
> +@@ -8506,14 +8553,13 @@ yyerrlab:
> + | yyerrorlab -- error raised explicitly by YYERROR. |
> + `---------------------------------------------------*/
> + yyerrorlab:
> ++ /* Pacify compilers when the user code never invokes YYERROR and the
> ++ label yyerrorlab therefore never appears in user code. */
> ++ if (0)
> ++ YYERROR;
> ++ ++yynerrs;
> +
> +- /* Pacify compilers like GCC when the user code never invokes
> +- YYERROR and the label yyerrorlab therefore never appears in user
> +- code. */
> +- if (/*CONSTCOND*/ 0)
> +- goto yyerrorlab;
> +-
> +- /* Do not reclaim the symbols of the rule which action triggered
> ++ /* Do not reclaim the symbols of the rule whose action triggered
> + this YYERROR. */
> + YYPOPSTACK (yylen);
> + yylen = 0;
> +@@ -8526,42 +8572,42 @@ yyerrorlab:
> + | yyerrlab1 -- common code for both syntax error and YYERROR. |
> + `-------------------------------------------------------------*/
> + yyerrlab1:
> +- yyerrstatus = 3; /* Each real token shifted decrements this. */
> ++ yyerrstatus = 3; /* Each real token shifted decrements this. */
> +
> ++ /* Pop stack until we find a state that shifts the error token. */
> + for (;;)
> + {
> + yyn = yypact[yystate];
> +- if (yyn != YYPACT_NINF)
> +- {
> +- yyn += YYTERROR;
> +- if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
> +- {
> +- yyn = yytable[yyn];
> +- if (0 < yyn)
> +- break;
> +- }
> +- }
> ++ if (!yypact_value_is_default (yyn))
> ++ {
> ++ yyn += YYSYMBOL_YYerror;
> ++ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
> ++ {
> ++ yyn = yytable[yyn];
> ++ if (0 < yyn)
> ++ break;
> ++ }
> ++ }
> +
> + /* Pop the current state because it cannot handle the error token. */
> + if (yyssp == yyss)
> +- YYABORT;
> ++ YYABORT;
> +
> +
> + yydestruct ("Error: popping",
> +- yystos[yystate], yyvsp);
> ++ YY_ACCESSING_SYMBOL (yystate), yyvsp);
> + YYPOPSTACK (1);
> + yystate = *yyssp;
> + YY_STACK_PRINT (yyss, yyssp);
> + }
> +
> +- if (yyn == YYFINAL)
> +- YYACCEPT;
> +-
> ++ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
> + *++yyvsp = yylval;
> ++ YY_IGNORE_MAYBE_UNINITIALIZED_END
> +
> +
> + /* Shift the error token. */
> +- YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
> ++ YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
> +
> + yystate = yyn;
> + goto yynewstate;
> +@@ -8572,53 +8618,57 @@ yyerrlab1:
> + `-------------------------------------*/
> + yyacceptlab:
> + yyresult = 0;
> +- goto yyreturn;
> ++ goto yyreturnlab;
> ++
> +
> + /*-----------------------------------.
> + | yyabortlab -- YYABORT comes here. |
> + `-----------------------------------*/
> + yyabortlab:
> + yyresult = 1;
> +- goto yyreturn;
> ++ goto yyreturnlab;
> +
> +-#ifndef yyoverflow
> +-/*-------------------------------------------------.
> +-| yyexhaustedlab -- memory exhaustion comes here. |
> +-`-------------------------------------------------*/
> ++
> ++/*-----------------------------------------------------------.
> ++| yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here. |
> ++`-----------------------------------------------------------*/
> + yyexhaustedlab:
> + yyerror (YY_("memory exhausted"));
> + yyresult = 2;
> +- /* Fall through. */
> +-#endif
> ++ goto yyreturnlab;
> ++
> +
> +-yyreturn:
> +- if (yychar != YYEOF && yychar != YYEMPTY)
> +- yydestruct ("Cleanup: discarding lookahead",
> +- yytoken, &yylval);
> +- /* Do not reclaim the symbols of the rule which action triggered
> ++/*----------------------------------------------------------.
> ++| yyreturnlab -- parsing is finished, clean up and return. |
> ++`----------------------------------------------------------*/
> ++yyreturnlab:
> ++ if (yychar != YYEMPTY)
> ++ {
> ++ /* Make sure we have latest lookahead translation. See comments at
> ++ user semantic actions for why this is necessary. */
> ++ yytoken = YYTRANSLATE (yychar);
> ++ yydestruct ("Cleanup: discarding lookahead",
> ++ yytoken, &yylval);
> ++ }
> ++ /* Do not reclaim the symbols of the rule whose action triggered
> + this YYABORT or YYACCEPT. */
> + YYPOPSTACK (yylen);
> + YY_STACK_PRINT (yyss, yyssp);
> + while (yyssp != yyss)
> + {
> + yydestruct ("Cleanup: popping",
> +- yystos[*yyssp], yyvsp);
> ++ YY_ACCESSING_SYMBOL (+*yyssp), yyvsp);
> + YYPOPSTACK (1);
> + }
> + #ifndef yyoverflow
> + if (yyss != yyssa)
> + YYSTACK_FREE (yyss);
> + #endif
> +-#if YYERROR_VERBOSE
> +- if (yymsg != yymsgbuf)
> +- YYSTACK_FREE (yymsg);
> +-#endif
> +- /* Make sure YYID is used. */
> +- return YYID (yyresult);
> +-}
> +
> ++ return yyresult;
> ++}
> +
> +-#line 4753 "sip-4.19.23/sipgen/metasrc/parser.y"
> ++#line 4779 "parser.y"
> +
> +
> +
> +@@ -13382,9 +13432,9 @@ static void addProperty(sipSpec *pt, mod
> + */
> + static moduleDef *configureModule(sipSpec *pt, moduleDef *module,
> + const char *filename, const char *name, int c_module, KwArgs kwargs,
> +- int use_arg_names, int use_limited_api, int call_super_init,
> +- int all_raise_py_exc, const char *def_error_handler,
> +- docstringDef *docstring)
> ++ int use_arg_names, int py_ssize_t_clean, int use_limited_api,
> ++ int call_super_init, int all_raise_py_exc,
> ++ const char *def_error_handler, docstringDef *docstring)
> + {
> + moduleDef *mod;
> +
> +@@ -13418,6 +13468,9 @@ static moduleDef *configureModule(sipSpe
> + if (use_arg_names)
> + setUseArgNames(module);
> +
> ++ if (py_ssize_t_clean)
> ++ setPY_SSIZE_T_CLEAN(module);
> ++
> + if (use_limited_api)
> + setUseLimitedAPI(module);
> +
> +@@ -13597,4 +13650,3 @@ static void checkEllipsis(signatureDef *
> + if (sd->args[a].atype == ellipsis_type && a < sd->nrArgs - 1)
> + yyerror("An ellipsis must be at the end of the argument list if /NoArgParser/ is not specified");
> + }
> +-
> +Index: sip-4.19.23/sipgen/parser.h
> +===================================================================
> +--- sip-4.19.23.orig/sipgen/parser.h
> ++++ sip-4.19.23/sipgen/parser.h
> +@@ -1,14 +1,14 @@
> +-/* A Bison parser, made by GNU Bison 2.3. */
> ++/* A Bison parser, made by GNU Bison 3.8.2. */
> +
> +-/* Skeleton interface for Bison's Yacc-like parsers in C
> ++/* Bison interface for Yacc-like parsers in C
> +
> +- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
> +- Free Software Foundation, Inc.
> ++ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
> ++ Inc.
> +
> +- This program is free software; you can redistribute it and/or modify
> ++ 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
> +- the Free Software Foundation; either version 2, or (at your option)
> +- any later version.
> ++ the Free Software Foundation, either version 3 of the License, or
> ++ (at your option) any later version.
> +
> + This program is distributed in the hope that it will be useful,
> + but WITHOUT ANY WARRANTY; without even the implied warranty of
> +@@ -16,9 +16,7 @@
> + GNU General Public License for more details.
> +
> + 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., 51 Franklin Street, Fifth Floor,
> +- Boston, MA 02110-1301, USA. */
> ++ along with this program. If not, see <https://www.gnu.org/licenses/>. */
> +
> + /* As a special exception, you may create a larger work that contains
> + part or all of the Bison parser skeleton and distribute that work
> +@@ -33,164 +31,187 @@
> + This special exception was added by the Free Software Foundation in
> + version 2.2 of Bison. */
> +
> +-/* Tokens. */
> ++/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
> ++ especially those whose name start with YY_ or yy_. They are
> ++ private implementation details that can be changed or removed. */
> ++
> ++#ifndef YY_YY_PARSER_H_INCLUDED
> ++# define YY_YY_PARSER_H_INCLUDED
> ++/* Debug traces. */
> ++#ifndef YYDEBUG
> ++# define YYDEBUG 0
> ++#endif
> ++#if YYDEBUG
> ++extern int yydebug;
> ++#endif
> ++
> ++/* Token kinds. */
> + #ifndef YYTOKENTYPE
> + # define YYTOKENTYPE
> +- /* Put the tokens into the symbol table, so that GDB and other debuggers
> +- know about them. */
> +- enum yytokentype {
> +- TK_API = 258,
> +- TK_AUTOPYNAME = 259,
> +- TK_DEFDOCSTRFMT = 260,
> +- TK_DEFDOCSTRSIG = 261,
> +- TK_DEFENCODING = 262,
> +- TK_PLUGIN = 263,
> +- TK_VIRTERRORHANDLER = 264,
> +- TK_EXPTYPEHINTCODE = 265,
> +- TK_TYPEHINTCODE = 266,
> +- TK_DOCSTRING = 267,
> +- TK_DOC = 268,
> +- TK_EXPORTEDDOC = 269,
> +- TK_EXTRACT = 270,
> +- TK_MAKEFILE = 271,
> +- TK_ACCESSCODE = 272,
> +- TK_GETCODE = 273,
> +- TK_SETCODE = 274,
> +- TK_PREINITCODE = 275,
> +- TK_INITCODE = 276,
> +- TK_POSTINITCODE = 277,
> +- TK_FINALCODE = 278,
> +- TK_UNITCODE = 279,
> +- TK_UNITPOSTINCLUDECODE = 280,
> +- TK_MODCODE = 281,
> +- TK_TYPECODE = 282,
> +- TK_PREPYCODE = 283,
> +- TK_COPYING = 284,
> +- TK_MAPPEDTYPE = 285,
> +- TK_CODELINE = 286,
> +- TK_IF = 287,
> +- TK_END = 288,
> +- TK_NAME_VALUE = 289,
> +- TK_PATH_VALUE = 290,
> +- TK_STRING_VALUE = 291,
> +- TK_VIRTUALCATCHERCODE = 292,
> +- TK_TRAVERSECODE = 293,
> +- TK_CLEARCODE = 294,
> +- TK_GETBUFFERCODE = 295,
> +- TK_RELEASEBUFFERCODE = 296,
> +- TK_READBUFFERCODE = 297,
> +- TK_WRITEBUFFERCODE = 298,
> +- TK_SEGCOUNTCODE = 299,
> +- TK_CHARBUFFERCODE = 300,
> +- TK_PICKLECODE = 301,
> +- TK_VIRTUALCALLCODE = 302,
> +- TK_METHODCODE = 303,
> +- TK_PREMETHODCODE = 304,
> +- TK_INSTANCECODE = 305,
> +- TK_FROMTYPE = 306,
> +- TK_TOTYPE = 307,
> +- TK_TOSUBCLASS = 308,
> +- TK_INCLUDE = 309,
> +- TK_OPTINCLUDE = 310,
> +- TK_IMPORT = 311,
> +- TK_EXPHEADERCODE = 312,
> +- TK_MODHEADERCODE = 313,
> +- TK_TYPEHEADERCODE = 314,
> +- TK_MODULE = 315,
> +- TK_CMODULE = 316,
> +- TK_CONSMODULE = 317,
> +- TK_COMPOMODULE = 318,
> +- TK_CLASS = 319,
> +- TK_STRUCT = 320,
> +- TK_PUBLIC = 321,
> +- TK_PROTECTED = 322,
> +- TK_PRIVATE = 323,
> +- TK_SIGNALS = 324,
> +- TK_SIGNAL_METHOD = 325,
> +- TK_SLOTS = 326,
> +- TK_SLOT_METHOD = 327,
> +- TK_BOOL = 328,
> +- TK_SHORT = 329,
> +- TK_INT = 330,
> +- TK_LONG = 331,
> +- TK_FLOAT = 332,
> +- TK_DOUBLE = 333,
> +- TK_CHAR = 334,
> +- TK_WCHAR_T = 335,
> +- TK_VOID = 336,
> +- TK_PYOBJECT = 337,
> +- TK_PYTUPLE = 338,
> +- TK_PYLIST = 339,
> +- TK_PYDICT = 340,
> +- TK_PYCALLABLE = 341,
> +- TK_PYSLICE = 342,
> +- TK_PYTYPE = 343,
> +- TK_PYBUFFER = 344,
> +- TK_VIRTUAL = 345,
> +- TK_ENUM = 346,
> +- TK_SIGNED = 347,
> +- TK_UNSIGNED = 348,
> +- TK_SCOPE = 349,
> +- TK_LOGICAL_OR = 350,
> +- TK_CONST = 351,
> +- TK_STATIC = 352,
> +- TK_SIPSIGNAL = 353,
> +- TK_SIPSLOT = 354,
> +- TK_SIPANYSLOT = 355,
> +- TK_SIPRXCON = 356,
> +- TK_SIPRXDIS = 357,
> +- TK_SIPSLOTCON = 358,
> +- TK_SIPSLOTDIS = 359,
> +- TK_SIPSSIZET = 360,
> +- TK_SIZET = 361,
> +- TK_NUMBER_VALUE = 362,
> +- TK_REAL_VALUE = 363,
> +- TK_TYPEDEF = 364,
> +- TK_NAMESPACE = 365,
> +- TK_TIMELINE = 366,
> +- TK_PLATFORMS = 367,
> +- TK_FEATURE = 368,
> +- TK_LICENSE = 369,
> +- TK_QCHAR_VALUE = 370,
> +- TK_TRUE_VALUE = 371,
> +- TK_FALSE_VALUE = 372,
> +- TK_NULL_VALUE = 373,
> +- TK_OPERATOR = 374,
> +- TK_THROW = 375,
> +- TK_QOBJECT = 376,
> +- TK_EXCEPTION = 377,
> +- TK_RAISECODE = 378,
> +- TK_EXPLICIT = 379,
> +- TK_TEMPLATE = 380,
> +- TK_FINAL = 381,
> +- TK_ELLIPSIS = 382,
> +- TK_DEFMETATYPE = 383,
> +- TK_DEFSUPERTYPE = 384,
> +- TK_PROPERTY = 385,
> +- TK_HIDE_NS = 386,
> +- TK_FORMAT = 387,
> +- TK_GET = 388,
> +- TK_ID = 389,
> +- TK_KWARGS = 390,
> +- TK_LANGUAGE = 391,
> +- TK_LICENSEE = 392,
> +- TK_NAME = 393,
> +- TK_OPTIONAL = 394,
> +- TK_ORDER = 395,
> +- TK_REMOVELEADING = 396,
> +- TK_SET = 397,
> +- TK_SIGNATURE = 398,
> +- TK_TIMESTAMP = 399,
> +- TK_TYPE = 400,
> +- TK_USEARGNAMES = 401,
> +- TK_USELIMITEDAPI = 402,
> +- TK_ALLRAISEPYEXC = 403,
> +- TK_CALLSUPERINIT = 404,
> +- TK_DEFERRORHANDLER = 405,
> +- TK_VERSION = 406
> +- };
> ++ enum yytokentype
> ++ {
> ++ YYEMPTY = -2,
> ++ YYEOF = 0, /* "end of file" */
> ++ YYerror = 256, /* error */
> ++ YYUNDEF = 257, /* "invalid token" */
> ++ TK_API = 258, /* TK_API */
> ++ TK_AUTOPYNAME = 259, /* TK_AUTOPYNAME */
> ++ TK_DEFDOCSTRFMT = 260, /* TK_DEFDOCSTRFMT */
> ++ TK_DEFDOCSTRSIG = 261, /* TK_DEFDOCSTRSIG */
> ++ TK_DEFENCODING = 262, /* TK_DEFENCODING */
> ++ TK_PLUGIN = 263, /* TK_PLUGIN */
> ++ TK_VIRTERRORHANDLER = 264, /* TK_VIRTERRORHANDLER */
> ++ TK_EXPTYPEHINTCODE = 265, /* TK_EXPTYPEHINTCODE */
> ++ TK_TYPEHINTCODE = 266, /* TK_TYPEHINTCODE */
> ++ TK_DOCSTRING = 267, /* TK_DOCSTRING */
> ++ TK_DOC = 268, /* TK_DOC */
> ++ TK_EXPORTEDDOC = 269, /* TK_EXPORTEDDOC */
> ++ TK_EXTRACT = 270, /* TK_EXTRACT */
> ++ TK_MAKEFILE = 271, /* TK_MAKEFILE */
> ++ TK_ACCESSCODE = 272, /* TK_ACCESSCODE */
> ++ TK_GETCODE = 273, /* TK_GETCODE */
> ++ TK_SETCODE = 274, /* TK_SETCODE */
> ++ TK_PREINITCODE = 275, /* TK_PREINITCODE */
> ++ TK_INITCODE = 276, /* TK_INITCODE */
> ++ TK_POSTINITCODE = 277, /* TK_POSTINITCODE */
> ++ TK_FINALCODE = 278, /* TK_FINALCODE */
> ++ TK_UNITCODE = 279, /* TK_UNITCODE */
> ++ TK_UNITPOSTINCLUDECODE = 280, /* TK_UNITPOSTINCLUDECODE */
> ++ TK_MODCODE = 281, /* TK_MODCODE */
> ++ TK_TYPECODE = 282, /* TK_TYPECODE */
> ++ TK_PREPYCODE = 283, /* TK_PREPYCODE */
> ++ TK_COPYING = 284, /* TK_COPYING */
> ++ TK_MAPPEDTYPE = 285, /* TK_MAPPEDTYPE */
> ++ TK_CODELINE = 286, /* TK_CODELINE */
> ++ TK_IF = 287, /* TK_IF */
> ++ TK_END = 288, /* TK_END */
> ++ TK_NAME_VALUE = 289, /* TK_NAME_VALUE */
> ++ TK_PATH_VALUE = 290, /* TK_PATH_VALUE */
> ++ TK_STRING_VALUE = 291, /* TK_STRING_VALUE */
> ++ TK_VIRTUALCATCHERCODE = 292, /* TK_VIRTUALCATCHERCODE */
> ++ TK_TRAVERSECODE = 293, /* TK_TRAVERSECODE */
> ++ TK_CLEARCODE = 294, /* TK_CLEARCODE */
> ++ TK_GETBUFFERCODE = 295, /* TK_GETBUFFERCODE */
> ++ TK_RELEASEBUFFERCODE = 296, /* TK_RELEASEBUFFERCODE */
> ++ TK_READBUFFERCODE = 297, /* TK_READBUFFERCODE */
> ++ TK_WRITEBUFFERCODE = 298, /* TK_WRITEBUFFERCODE */
> ++ TK_SEGCOUNTCODE = 299, /* TK_SEGCOUNTCODE */
> ++ TK_CHARBUFFERCODE = 300, /* TK_CHARBUFFERCODE */
> ++ TK_PICKLECODE = 301, /* TK_PICKLECODE */
> ++ TK_VIRTUALCALLCODE = 302, /* TK_VIRTUALCALLCODE */
> ++ TK_METHODCODE = 303, /* TK_METHODCODE */
> ++ TK_PREMETHODCODE = 304, /* TK_PREMETHODCODE */
> ++ TK_INSTANCECODE = 305, /* TK_INSTANCECODE */
> ++ TK_FROMTYPE = 306, /* TK_FROMTYPE */
> ++ TK_TOTYPE = 307, /* TK_TOTYPE */
> ++ TK_TOSUBCLASS = 308, /* TK_TOSUBCLASS */
> ++ TK_INCLUDE = 309, /* TK_INCLUDE */
> ++ TK_OPTINCLUDE = 310, /* TK_OPTINCLUDE */
> ++ TK_IMPORT = 311, /* TK_IMPORT */
> ++ TK_EXPHEADERCODE = 312, /* TK_EXPHEADERCODE */
> ++ TK_MODHEADERCODE = 313, /* TK_MODHEADERCODE */
> ++ TK_TYPEHEADERCODE = 314, /* TK_TYPEHEADERCODE */
> ++ TK_MODULE = 315, /* TK_MODULE */
> ++ TK_CMODULE = 316, /* TK_CMODULE */
> ++ TK_CONSMODULE = 317, /* TK_CONSMODULE */
> ++ TK_COMPOMODULE = 318, /* TK_COMPOMODULE */
> ++ TK_CLASS = 319, /* TK_CLASS */
> ++ TK_STRUCT = 320, /* TK_STRUCT */
> ++ TK_PUBLIC = 321, /* TK_PUBLIC */
> ++ TK_PROTECTED = 322, /* TK_PROTECTED */
> ++ TK_PRIVATE = 323, /* TK_PRIVATE */
> ++ TK_SIGNALS = 324, /* TK_SIGNALS */
> ++ TK_SIGNAL_METHOD = 325, /* TK_SIGNAL_METHOD */
> ++ TK_SLOTS = 326, /* TK_SLOTS */
> ++ TK_SLOT_METHOD = 327, /* TK_SLOT_METHOD */
> ++ TK_BOOL = 328, /* TK_BOOL */
> ++ TK_SHORT = 329, /* TK_SHORT */
> ++ TK_INT = 330, /* TK_INT */
> ++ TK_LONG = 331, /* TK_LONG */
> ++ TK_FLOAT = 332, /* TK_FLOAT */
> ++ TK_DOUBLE = 333, /* TK_DOUBLE */
> ++ TK_CHAR = 334, /* TK_CHAR */
> ++ TK_WCHAR_T = 335, /* TK_WCHAR_T */
> ++ TK_VOID = 336, /* TK_VOID */
> ++ TK_PYOBJECT = 337, /* TK_PYOBJECT */
> ++ TK_PYTUPLE = 338, /* TK_PYTUPLE */
> ++ TK_PYLIST = 339, /* TK_PYLIST */
> ++ TK_PYDICT = 340, /* TK_PYDICT */
> ++ TK_PYCALLABLE = 341, /* TK_PYCALLABLE */
> ++ TK_PYSLICE = 342, /* TK_PYSLICE */
> ++ TK_PYTYPE = 343, /* TK_PYTYPE */
> ++ TK_PYBUFFER = 344, /* TK_PYBUFFER */
> ++ TK_VIRTUAL = 345, /* TK_VIRTUAL */
> ++ TK_ENUM = 346, /* TK_ENUM */
> ++ TK_SIGNED = 347, /* TK_SIGNED */
> ++ TK_UNSIGNED = 348, /* TK_UNSIGNED */
> ++ TK_SCOPE = 349, /* TK_SCOPE */
> ++ TK_LOGICAL_OR = 350, /* TK_LOGICAL_OR */
> ++ TK_CONST = 351, /* TK_CONST */
> ++ TK_STATIC = 352, /* TK_STATIC */
> ++ TK_SIPSIGNAL = 353, /* TK_SIPSIGNAL */
> ++ TK_SIPSLOT = 354, /* TK_SIPSLOT */
> ++ TK_SIPANYSLOT = 355, /* TK_SIPANYSLOT */
> ++ TK_SIPRXCON = 356, /* TK_SIPRXCON */
> ++ TK_SIPRXDIS = 357, /* TK_SIPRXDIS */
> ++ TK_SIPSLOTCON = 358, /* TK_SIPSLOTCON */
> ++ TK_SIPSLOTDIS = 359, /* TK_SIPSLOTDIS */
> ++ TK_SIPSSIZET = 360, /* TK_SIPSSIZET */
> ++ TK_SIZET = 361, /* TK_SIZET */
> ++ TK_NUMBER_VALUE = 362, /* TK_NUMBER_VALUE */
> ++ TK_REAL_VALUE = 363, /* TK_REAL_VALUE */
> ++ TK_TYPEDEF = 364, /* TK_TYPEDEF */
> ++ TK_NAMESPACE = 365, /* TK_NAMESPACE */
> ++ TK_TIMELINE = 366, /* TK_TIMELINE */
> ++ TK_PLATFORMS = 367, /* TK_PLATFORMS */
> ++ TK_FEATURE = 368, /* TK_FEATURE */
> ++ TK_LICENSE = 369, /* TK_LICENSE */
> ++ TK_QCHAR_VALUE = 370, /* TK_QCHAR_VALUE */
> ++ TK_TRUE_VALUE = 371, /* TK_TRUE_VALUE */
> ++ TK_FALSE_VALUE = 372, /* TK_FALSE_VALUE */
> ++ TK_NULL_VALUE = 373, /* TK_NULL_VALUE */
> ++ TK_OPERATOR = 374, /* TK_OPERATOR */
> ++ TK_THROW = 375, /* TK_THROW */
> ++ TK_QOBJECT = 376, /* TK_QOBJECT */
> ++ TK_EXCEPTION = 377, /* TK_EXCEPTION */
> ++ TK_RAISECODE = 378, /* TK_RAISECODE */
> ++ TK_EXPLICIT = 379, /* TK_EXPLICIT */
> ++ TK_TEMPLATE = 380, /* TK_TEMPLATE */
> ++ TK_FINAL = 381, /* TK_FINAL */
> ++ TK_ELLIPSIS = 382, /* TK_ELLIPSIS */
> ++ TK_DEFMETATYPE = 383, /* TK_DEFMETATYPE */
> ++ TK_DEFSUPERTYPE = 384, /* TK_DEFSUPERTYPE */
> ++ TK_PROPERTY = 385, /* TK_PROPERTY */
> ++ TK_HIDE_NS = 386, /* TK_HIDE_NS */
> ++ TK_FORMAT = 387, /* TK_FORMAT */
> ++ TK_GET = 388, /* TK_GET */
> ++ TK_ID = 389, /* TK_ID */
> ++ TK_KWARGS = 390, /* TK_KWARGS */
> ++ TK_LANGUAGE = 391, /* TK_LANGUAGE */
> ++ TK_LICENSEE = 392, /* TK_LICENSEE */
> ++ TK_NAME = 393, /* TK_NAME */
> ++ TK_OPTIONAL = 394, /* TK_OPTIONAL */
> ++ TK_ORDER = 395, /* TK_ORDER */
> ++ TK_REMOVELEADING = 396, /* TK_REMOVELEADING */
> ++ TK_SET = 397, /* TK_SET */
> ++ TK_SIGNATURE = 398, /* TK_SIGNATURE */
> ++ TK_TIMESTAMP = 399, /* TK_TIMESTAMP */
> ++ TK_TYPE = 400, /* TK_TYPE */
> ++ TK_USEARGNAMES = 401, /* TK_USEARGNAMES */
> ++ TK_PYSSIZETCLEAN = 402, /* TK_PYSSIZETCLEAN */
> ++ TK_USELIMITEDAPI = 403, /* TK_USELIMITEDAPI */
> ++ TK_ALLRAISEPYEXC = 404, /* TK_ALLRAISEPYEXC */
> ++ TK_CALLSUPERINIT = 405, /* TK_CALLSUPERINIT */
> ++ TK_DEFERRORHANDLER = 406, /* TK_DEFERRORHANDLER */
> ++ TK_VERSION = 407 /* TK_VERSION */
> ++ };
> ++ typedef enum yytokentype yytoken_kind_t;
> + #endif
> +-/* Tokens. */
> ++/* Token kinds. */
> ++#define YYEMPTY -2
> ++#define YYEOF 0
> ++#define YYerror 256
> ++#define YYUNDEF 257
> + #define TK_API 258
> + #define TK_AUTOPYNAME 259
> + #define TK_DEFDOCSTRFMT 260
> +@@ -335,19 +356,19 @@
> + #define TK_TIMESTAMP 399
> + #define TK_TYPE 400
> + #define TK_USEARGNAMES 401
> +-#define TK_USELIMITEDAPI 402
> +-#define TK_ALLRAISEPYEXC 403
> +-#define TK_CALLSUPERINIT 404
> +-#define TK_DEFERRORHANDLER 405
> +-#define TK_VERSION 406
> +-
> +-
> +-
> ++#define TK_PYSSIZETCLEAN 402
> ++#define TK_USELIMITEDAPI 403
> ++#define TK_ALLRAISEPYEXC 404
> ++#define TK_CALLSUPERINIT 405
> ++#define TK_DEFERRORHANDLER 406
> ++#define TK_VERSION 407
> +
> ++/* Value type. */
> + #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
> +-typedef union YYSTYPE
> +-#line 202 "sip-4.19.23/sipgen/metasrc/parser.y"
> ++union YYSTYPE
> + {
> ++#line 202 "parser.y"
> ++
> + char qchar;
> + char *text;
> + long number;
> +@@ -390,14 +411,20 @@ typedef union YYSTYPE
> + variableCfg variable;
> + vehCfg veh;
> + int token;
> +-}
> +-/* Line 1529 of yacc.c. */
> +-#line 396 "sip-4.19.23/sipgen/parser.h"
> +- YYSTYPE;
> +-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
> +-# define YYSTYPE_IS_DECLARED 1
> ++
> ++#line 416 "../parser.h"
> ++
> ++};
> ++typedef union YYSTYPE YYSTYPE;
> + # define YYSTYPE_IS_TRIVIAL 1
> ++# define YYSTYPE_IS_DECLARED 1
> + #endif
> +
> ++
> + extern YYSTYPE yylval;
> +
> ++
> ++int yyparse (void);
> ++
> ++
> ++#endif /* !YY_YY_PARSER_H_INCLUDED */
> diff --git a/meta-oe/recipes-devtools/sip/sip3_4.19.23.bb b/meta-oe/recipes-devtools/sip/sip3_4.19.23.bb
> index 064ab0a0c..dc3db1fcd 100644
> --- a/meta-oe/recipes-devtools/sip/sip3_4.19.23.bb
> +++ b/meta-oe/recipes-devtools/sip/sip3_4.19.23.bb
> @@ -5,7 +5,9 @@ LICENSE = "GPL-2.0-or-later"
> LIC_FILES_CHKSUM = "file://LICENSE-GPL2;md5=e91355d8a6f8bd8f7c699d62863c7303"
>
> SRC_URI = "https://www.riverbankcomputing.com/static/Downloads/sip/${PV}/sip-${PV}.tar.gz \
> + file://added-the-py_ssize_t_clean-argument-to-the-module-directive.patch \
> "
> +
> SRC_URI[md5sum] = "70adc0c9734e2d9dcd241d3f931dfc74"
> SRC_URI[sha256sum] = "22ca9bcec5388114e40d4aafd7ccd0c4fe072297b628d0c5cdfa2f010c0bc7e7"
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#107195): https://lists.openembedded.org/g/openembedded-devel/message/107195
> Mute This Topic: https://lists.openembedded.org/mt/102930499/3616698
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [akuster808@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [oe] [kirkstone][PATCH 0/2] Add sipconfig.py support to sip3
2023-12-06 12:28 ` [oe] [kirkstone][PATCH 0/2] Add sipconfig.py support to sip3 akuster808
@ 2023-12-06 16:57 ` Woolley, Rob
2023-12-21 15:02 ` Woolley, Rob
0 siblings, 1 reply; 7+ messages in thread
From: Woolley, Rob @ 2023-12-06 16:57 UTC (permalink / raw)
To: akuster808, openembedded-devel@lists.openembedded.org
Cc: raj.khem@gmail.com, alex.kanavin@gmail.com
Hi Armin,
Thanks for looking at this. No, I don't think we need it in master.
Riverbank Computing changed python3-pyqt5 to only support SIP v6. (FYI I sent out a separate pull request to meta-qt5 to update python-pyqt5 to 5.15.7. This version is the last release to use SIP v4; see https://github.com/meta-qt5/meta-qt5/pull/546/commits/a82daf56e9c783c684da98a2996677bc1d7a439e)
Langdale is the last Yocto release with the sip v4.19.23 recipe before we removed it and created a new recipe for SIP v6. Dunfell and Kirkstone are the only supported releases to still use SIP v4. I did a test build of Dunfell with a copy of the Kirkstone recipes. The sip3, sip3-native, qtbase, and python3-pyqt5 tasks all completed successfully. I am happy to send out a Dunfell patch if you would like me to.
Regards,
Rob
From: akuster808 <akuster808@gmail.com>
Sent: Wednesday, December 6, 2023 7:28 AM
To: Woolley, Rob <Rob.Woolley@windriver.com>; openembedded-devel@lists.openembedded.org <openembedded-devel@lists.openembedded.org>
Cc: raj.khem@gmail.com <raj.khem@gmail.com>; alex.kanavin@gmail.com <alex.kanavin@gmail.com>
Subject: Re: [oe] [kirkstone][PATCH 0/2] Add sipconfig.py support to sip3
CAUTION: This email comes from a non Wind River email account!
Do not click links or open attachments unless you recognize the sender and know the content is safe.
On 12/1/23 10:09 PM, Rob Woolley via lists.openembedded.org wrote:
> Some packages in meta-ros, like qt-gui-cpp, need sipconfig.py to be
> present in python3-sip3. Changes are required to ensure that the
> sip tools execute successfully and that paths from the host machine
> don't get included in the SIP configuration file.
Do similar changes need to go into Master?
>
> Rob Woolley (2):
> sip3: Add sipconfig.py
> sip3: Add py_ssize_t_clean argument
>
> ...ean-argument-to-the-module-directive.patch | 17679 ++++++++++++++++
> meta-oe/recipes-devtools/sip/sip3_4.19.23.bb | 21 +-
> 2 files changed, 17699 insertions(+), 1 deletion(-)
> create mode 100644 meta-oe/recipes-devtools/sip/sip3/added-the-py_ssize_t_clean-argument-to-the-module-directive.patch
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#107194): https://lists.openembedded.org/g/openembedded-devel/message/107194
> Mute This Topic: https://lists.openembedded.org/mt/102930497/3616698
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [akuster808@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [oe] [kirkstone][PATCH 0/2] Add sipconfig.py support to sip3
2023-12-06 16:57 ` Woolley, Rob
@ 2023-12-21 15:02 ` Woolley, Rob
0 siblings, 0 replies; 7+ messages in thread
From: Woolley, Rob @ 2023-12-21 15:02 UTC (permalink / raw)
To: akuster808, openembedded-devel@lists.openembedded.org
Cc: raj.khem@gmail.com, alex.kanavin@gmail.com
[-- Attachment #1: Type: text/plain, Size: 3175 bytes --]
Hi Armin,
Is there anything else I can provide? I'm happy to do any additional testing if it helps.
Regards,
Rob
________________________________
From: Woolley, Rob <Rob.Woolley@windriver.com>
Sent: Wednesday, December 6, 2023 11:57 AM
To: akuster808 <akuster808@gmail.com>; openembedded-devel@lists.openembedded.org <openembedded-devel@lists.openembedded.org>
Cc: raj.khem@gmail.com <raj.khem@gmail.com>; alex.kanavin@gmail.com <alex.kanavin@gmail.com>
Subject: Re: [oe] [kirkstone][PATCH 0/2] Add sipconfig.py support to sip3
Hi Armin,
Thanks for looking at this. No, I don't think we need it in master.
Riverbank Computing changed python3-pyqt5 to only support SIP v6. (FYI I sent out a separate pull request to meta-qt5 to update python-pyqt5 to 5.15.7. This version is the last release to use SIP v4; see https://github.com/meta-qt5/meta-qt5/pull/546/commits/a82daf56e9c783c684da98a2996677bc1d7a439e)
Langdale is the last Yocto release with the sip v4.19.23 recipe before we removed it and created a new recipe for SIP v6. Dunfell and Kirkstone are the only supported releases to still use SIP v4. I did a test build of Dunfell with a copy of the Kirkstone recipes. The sip3, sip3-native, qtbase, and python3-pyqt5 tasks all completed successfully. I am happy to send out a Dunfell patch if you would like me to.
Regards,
Rob
From: akuster808 <akuster808@gmail.com>
Sent: Wednesday, December 6, 2023 7:28 AM
To: Woolley, Rob <Rob.Woolley@windriver.com>; openembedded-devel@lists.openembedded.org <openembedded-devel@lists.openembedded.org>
Cc: raj.khem@gmail.com <raj.khem@gmail.com>; alex.kanavin@gmail.com <alex.kanavin@gmail.com>
Subject: Re: [oe] [kirkstone][PATCH 0/2] Add sipconfig.py support to sip3
CAUTION: This email comes from a non Wind River email account!
Do not click links or open attachments unless you recognize the sender and know the content is safe.
On 12/1/23 10:09 PM, Rob Woolley via lists.openembedded.org wrote:
> Some packages in meta-ros, like qt-gui-cpp, need sipconfig.py to be
> present in python3-sip3. Changes are required to ensure that the
> sip tools execute successfully and that paths from the host machine
> don't get included in the SIP configuration file.
Do similar changes need to go into Master?
>
> Rob Woolley (2):
> sip3: Add sipconfig.py
> sip3: Add py_ssize_t_clean argument
>
> ...ean-argument-to-the-module-directive.patch | 17679 ++++++++++++++++
> meta-oe/recipes-devtools/sip/sip3_4.19.23.bb | 21 +-
> 2 files changed, 17699 insertions(+), 1 deletion(-)
> create mode 100644 meta-oe/recipes-devtools/sip/sip3/added-the-py_ssize_t_clean-argument-to-the-module-directive.patch
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#107194): https://lists.openembedded.org/g/openembedded-devel/message/107194
> Mute This Topic: https://lists.openembedded.org/mt/102930497/3616698
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [akuster808@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
[-- Attachment #2: Type: text/html, Size: 6229 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2023-12-21 15:02 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-02 3:09 [kirkstone][PATCH 0/2] Add sipconfig.py support to sip3 Rob Woolley
2023-12-02 3:09 ` [kirkstone][PATCH 1/2] sip3: Add sipconfig.py Rob Woolley
2023-12-02 3:09 ` [kirkstone][PATCH 2/2] sip3: Add py_ssize_t_clean argument Rob Woolley
2023-12-06 12:29 ` [oe] " akuster808
2023-12-06 12:28 ` [oe] [kirkstone][PATCH 0/2] Add sipconfig.py support to sip3 akuster808
2023-12-06 16:57 ` Woolley, Rob
2023-12-21 15:02 ` Woolley, Rob
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.