2 /* A Bison parser, made by GNU Bison 2.4.1. */
4 /* Skeleton implementation for Bison's Yacc-like parsers in C
6 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
7 Free Software Foundation, Inc.
9 This program is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>. */
22 /* As a special exception, you may create a larger work that contains
23 part or all of the Bison parser skeleton and distribute that work
24 under terms of your choice, so long as that work isn't itself a
25 parser generator using the skeleton or a modified version thereof
26 as a parser skeleton. Alternatively, if you modify or redistribute
27 the parser skeleton itself, you may (at your option) remove this
28 special exception, which will cause the skeleton and the resulting
29 Bison output files to be licensed under the GNU General Public
30 License without this special exception.
32 This special exception was added by the Free Software Foundation in
33 version 2.2 of Bison. */
35 /* C LALR(1) parser skeleton written by Richard Stallman, by
36 simplifying the original so-called "semantic" parser. */
38 /* All symbols defined below should begin with yy or YY, to avoid
39 infringing on user name space. This should be done even for local
40 variables, as they might otherwise be expanded by user macros.
41 There are some unavoidable exceptions within include files to
42 define necessary library symbols; they are noted "INFRINGES ON
43 USER NAME SPACE" below. */
45 /* Identify Bison output. */
49 #define YYBISON_VERSION "2.4.1"
52 #define YYSKELETON_NAME "yacc.c"
63 /* Using locations. */
64 #define YYLSP_NEEDED 0
68 /* Copy the first part of user declarations. */
70 /* Line 189 of yacc.c */
76 This file must be translated to C and modified to build everywhere.
80 yacc -b vtkParse vtkParse.y
82 Modify vtkParse.tab.c:
83 - convert TABs to spaces (eight per tab)
84 - remove spaces from ends of lines, s/ *$//g
85 - remove the "goto yyerrlab1;" that appears right before yyerrlab1:
86 - remove the #defined constants that appear right after the anonymous_enums
93 #define yyerror(a) fprintf(stderr,"%s\n",a)
96 /* Make sure yacc-generated code knows we have included stdlib.h. */
100 #define YYINCLUDED_STDLIB_H
102 /* Borland and MSVC do not define __STDC__ properly. */
103 #if !defined(__STDC__)
104 # if (defined(_MSC_VER) && _MSC_VER >= 1200) || defined(__BORLANDC__)
109 /* Disable warnings in generated code. */
110 #if defined(_MSC_VER)
111 # pragma warning (disable: 4127) /* conditional expression is constant */
112 # pragma warning (disable: 4244) /* conversion to smaller integer type */
114 #if defined(__BORLANDC__)
115 # pragma warn -8004 /* assigned a value that is never used */
116 # pragma warn -8008 /* conditional is always true */
117 # pragma warn -8066 /* unreachable code */
120 /* Map from the type anonymous_enumeration in vtkType.h to the VTK wrapping type
121 system number for the type. */
123 #include "vtkParse.h"
124 #include "vtkParseInternal.h"
125 #include "vtkParsePreprocess.h"
128 static unsigned int vtkParseTypeMap[] =
130 VTK_PARSE_VOID, /* VTK_VOID 0 */
132 VTK_PARSE_CHAR, /* VTK_CHAR 2 */
133 VTK_PARSE_UNSIGNED_CHAR, /* VTK_UNSIGNED_CHAR 3 */
134 VTK_PARSE_SHORT, /* VTK_SHORT 4 */
135 VTK_PARSE_UNSIGNED_SHORT, /* VTK_UNSIGNED_SHORT 5 */
136 VTK_PARSE_INT, /* VTK_INT 6 */
137 VTK_PARSE_UNSIGNED_INT, /* VTK_UNSIGNED_INT 7 */
138 VTK_PARSE_LONG, /* VTK_LONG 8 */
139 VTK_PARSE_UNSIGNED_LONG, /* VTK_UNSIGNED_LONG 9 */
140 VTK_PARSE_FLOAT, /* VTK_FLOAT 10 */
141 VTK_PARSE_DOUBLE, /* VTK_DOUBLE 11 */
142 VTK_PARSE_ID_TYPE, /* VTK_ID_TYPE 12 */
143 VTK_PARSE_STRING, /* VTK_STRING 13 */
144 0, /* VTK_OPAQUE 14 */
145 VTK_PARSE_SIGNED_CHAR, /* VTK_SIGNED_CHAR 15 */
146 VTK_PARSE_LONG_LONG, /* VTK_LONG_LONG 16 */
147 VTK_PARSE_UNSIGNED_LONG_LONG, /* VTK_UNSIGNED_LONG_LONG 17 */
148 VTK_PARSE___INT64, /* VTK___INT64 18 */
149 VTK_PARSE_UNSIGNED___INT64, /* VTK_UNSIGNED___INT64 19 */
150 0, /* VTK_VARIANT 20 */
151 0, /* VTK_OBJECT 21 */
152 VTK_PARSE_UNICODE_STRING /* VTK_UNICODE_STRING 22 */
155 /* Define some constants to simplify references to the table lookup in
156 the type_primitive production rule code. */
157 #define VTK_PARSE_INT8 vtkParseTypeMap[VTK_TYPE_INT8]
158 #define VTK_PARSE_UINT8 vtkParseTypeMap[VTK_TYPE_UINT8]
159 #define VTK_PARSE_INT16 vtkParseTypeMap[VTK_TYPE_INT16]
160 #define VTK_PARSE_UINT16 vtkParseTypeMap[VTK_TYPE_UINT16]
161 #define VTK_PARSE_INT32 vtkParseTypeMap[VTK_TYPE_INT32]
162 #define VTK_PARSE_UINT32 vtkParseTypeMap[VTK_TYPE_UINT32]
163 #define VTK_PARSE_INT64 vtkParseTypeMap[VTK_TYPE_INT64]
164 #define VTK_PARSE_UINT64 vtkParseTypeMap[VTK_TYPE_UINT64]
165 #define VTK_PARSE_FLOAT32 vtkParseTypeMap[VTK_TYPE_FLOAT32]
166 #define VTK_PARSE_FLOAT64 vtkParseTypeMap[VTK_TYPE_FLOAT64]
168 #define vtkParseDebug(s1, s2) \
169 if ( parseDebug ) { fprintf(stderr, " %s %s\n", s1, s2); }
174 /* the "preprocessor" */
175 PreprocessInfo preprocessor = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
177 /* global variables */
180 int NumberOfConcreteClasses = 0;
181 const char **ConcreteClasses;
183 NamespaceInfo *currentNamespace = NULL;
184 ClassInfo *currentClass = NULL;
185 FunctionInfo *currentFunction = NULL;
186 TemplateArgs *currentTemplate = NULL;
188 const char *currentEnumName = 0;
189 const char *currentEnumValue = 0;
192 parse_access_t access_level = VTK_ACCESS_PUBLIC;
195 /* helper functions */
196 void start_class(const char *classname, int is_struct_or_union);
197 void reject_class(const char *classname, int is_struct_or_union);
199 void output_function(void);
200 void reject_function(void);
201 void set_return(FunctionInfo *func, unsigned int type,
202 const char *typeclass, int count);
203 void add_argument(FunctionInfo *func, unsigned int type,
204 const char *classname, int count);
205 void add_using(const char *name, int is_namespace);
206 void start_enum(const char *enumname);
207 void add_enum(const char *name, const char *value);
209 void add_constant(const char *name, const char *value,
210 unsigned int type, const char *typeclass, int global);
211 const char *add_const_scope(const char *name);
212 void prepend_scope(char *cp, const char *arg);
213 unsigned int add_indirection(unsigned int tval, unsigned int ptr);
214 unsigned int add_indirection_to_array(unsigned int ptr);
215 void handle_complex_type(ValueInfo *val, unsigned int datatype,
216 unsigned int extra, const char *funcSig);
217 void handle_function_type(ValueInfo *arg, const char *name,
218 const char *funcSig);
220 void outputSetVectorMacro(const char *var, unsigned int argType,
221 const char *typeText, int n);
222 void outputGetVectorMacro(const char *var, unsigned int argType,
223 const char *typeText, int n);
225 /*----------------------------------------------------------------
226 * String utility methods
228 * Strings are centrally allocated and are const, and they are not
229 * freed until the program exits. If they need to be freed before
230 * then, vtkstrfree() can be called.
233 size_t stringChunkPos = 0;
234 int numberOfChunks = 0;
235 char **stringArray = NULL;
237 /* allocate a string of n+1 bytes */
238 static char *vtkstralloc(size_t n)
240 size_t chunk_size = 8176;
244 // align next start position on an 8-byte boundary
245 nextChunkPos = (((stringChunkPos + n + 8) | 7 ) - 7);
247 if (numberOfChunks == 0 || nextChunkPos > chunk_size)
249 if (n + 1 > chunk_size)
253 cp = (char *)malloc(chunk_size);
254 vtkParse_AddStringToArray((const char ***)&stringArray, &numberOfChunks,
257 nextChunkPos = (((n + 8) | 7) - 7);
260 cp = &stringArray[numberOfChunks-1][stringChunkPos];
263 stringChunkPos = nextChunkPos;
268 /* free all allocated strings */
273 for (i = 0; i < numberOfChunks; i++)
275 free(stringArray[i]);
286 /* duplicate the first n bytes of a string and terminate */
287 static const char *vtkstrndup(const char *in, size_t n)
291 res = vtkstralloc(n);
298 /* duplicate a string */
299 static const char *vtkstrdup(const char *in)
303 return vtkstrndup(in, strlen(in));
309 /* helper function for concatenating strings */
310 static const char *vtkstrncat(size_t n, const char **str)
317 for (i = 0; i < n; i++)
322 j[i] = strlen(str[i]);
328 for (i = 0; i < n; i++)
332 strncpy(&cp[m], str[i], j[i]);
341 /* concatenate strings */
342 static const char *vtkstrcat(const char *str1, const char *str2)
348 return vtkstrncat(2, cp);
351 static const char *vtkstrcat3(const char *str1, const char *str2,
359 return vtkstrncat(3, cp);
362 static const char *vtkstrcat4(const char *str1, const char *str2,
363 const char *str3, const char *str4)
371 return vtkstrncat(4, cp);
374 static const char *vtkstrcat5(const char *str1, const char *str2,
375 const char *str3, const char *str4,
385 return vtkstrncat(5, cp);
388 static const char *vtkstrcat6(const char *str1, const char *str2,
389 const char *str3, const char *str4,
390 const char *str5, const char *str6)
400 return vtkstrncat(6, cp);
403 static const char *vtkstrcat7(const char *str1, const char *str2,
404 const char *str3, const char *str4,
405 const char *str5, const char *str6,
417 return vtkstrncat(7, cp);
420 /*----------------------------------------------------------------
424 /* "private" variables */
425 char *commentText = NULL;
426 size_t commentLength = 0;
427 size_t commentAllocatedLength = 0;
428 int commentState = 0;
430 const char *getComment()
432 if (commentState != 0)
444 commentText[commentLength] = '\0';
449 void addCommentLine(const char *line, size_t n)
451 if (commentState <= 0)
457 if (commentText == NULL)
459 commentAllocatedLength = n+80;
460 commentText = (char *)malloc(commentAllocatedLength);
462 commentText[0] = '\0';
464 else if (commentLength + n + 2 > commentAllocatedLength)
466 commentAllocatedLength = commentAllocatedLength + commentLength + n + 2;
467 commentText = (char *)realloc(commentText, commentAllocatedLength);
472 memcpy(&commentText[commentLength], line, n);
475 commentText[commentLength++] = '\n';
476 commentText[commentLength] = '\0';
481 switch (commentState)
484 /* Make comment persist until a new comment starts */
488 data.Description = vtkstrdup(getComment());
492 data.SeeAlso = vtkstrdup(getComment());
496 data.Caveats = vtkstrdup(getComment());
502 void closeOrClearComment()
504 if (commentState < 0)
514 void setCommentState(int state)
527 commentState = state;
531 /*----------------------------------------------------------------
534 * operates on: currentNamespace
537 /* "private" variables */
538 NamespaceInfo *namespaceStack[10];
539 int namespaceDepth = 0;
541 /* enter a namespace */
542 void pushNamespace(const char *name)
545 NamespaceInfo *oldNamespace = currentNamespace;
547 for (i = 0; i < oldNamespace->NumberOfNamespaces; i++)
549 /* see if the namespace already exists */
550 if (strcmp(name, oldNamespace->Namespaces[i]->Name) == 0)
552 currentNamespace = oldNamespace->Namespaces[i];
556 /* create a new namespace */
557 if (i == oldNamespace->NumberOfNamespaces)
559 currentNamespace = (NamespaceInfo *)malloc(sizeof(NamespaceInfo));
560 vtkParse_InitNamespace(currentNamespace);
561 currentNamespace->Name = vtkstrdup(name);
562 vtkParse_AddNamespaceToNamespace(oldNamespace, currentNamespace);
565 namespaceStack[namespaceDepth++] = oldNamespace;
568 /* leave the namespace */
571 currentNamespace = namespaceStack[--namespaceDepth];
575 /*----------------------------------------------------------------
578 * operates on: currentClass, access_level
581 /* "private" variables */
582 ClassInfo *classStack[10];
583 parse_access_t classAccessStack[10];
586 /* start an internal class definition */
589 classAccessStack[classDepth] = access_level;
590 classStack[classDepth++] = currentClass;
593 /* leave the internal class */
596 currentClass = classStack[--classDepth];
597 access_level = classAccessStack[classDepth];
601 /*----------------------------------------------------------------
604 * operates on: currentTemplate
607 /* "private" variables */
608 TemplateArgs *templateStack[10];
609 int templateDepth = 0;
611 /* begin a template */
614 currentTemplate = (TemplateArgs *)malloc(sizeof(TemplateArgs));
615 vtkParse_InitTemplateArgs(currentTemplate);
618 /* clear a template, if set */
623 free(currentTemplate);
625 currentTemplate = NULL;
628 /* push the template onto the stack, and start a new one */
631 templateStack[templateDepth++] = currentTemplate;
635 /* pop a template off the stack */
638 currentTemplate = templateStack[--templateDepth];
641 /*----------------------------------------------------------------
642 * Function signatures
644 * operates on: currentFunction
647 /* "private" variables */
650 size_t sigLength = 0;
651 size_t sigAllocatedLength = 0;
652 int sigMarkDepth = 0;
653 char *signature = NULL;
655 /* start a new signature */
660 sigAllocatedLength = 0;
666 /* get the signature */
672 /* reallocate Signature if n chars cannot be appended */
673 void checkSigSize(size_t n)
677 if (sigAllocatedLength == 0)
679 sigAllocatedLength = 80 + n;
680 signature = vtkstralloc(sigAllocatedLength);
683 else if (sigLength + n > sigAllocatedLength)
685 sigAllocatedLength += sigLength + n;
687 signature = vtkstralloc(sigAllocatedLength);
688 strncpy(signature, ccp, sigLength);
689 signature[sigLength] = '\0';
693 /* close the signature, i.e. allow no more additions to it */
699 /* re-open the signature */
705 /* insert text at the beginning of the signature */
706 void preSig(const char *arg)
715 strncpy(signature, arg, n);
719 else if (!sigClosed && n > 0)
722 memmove(&signature[n], signature, sigLength);
723 strncpy(signature, arg, n);
725 signature[sigLength] = '\0';
729 /* append text to the end of the signature */
730 void postSig(const char *arg)
739 strncpy(signature, arg, n);
746 strncpy(&signature[sigLength], arg, n);
748 signature[sigLength] = '\0';
752 /* prepend a scope:: to the ID at the end of the signature */
753 void preScopeSig(const char *arg)
762 strncpy(signature, arg, n);
769 prepend_scope(signature, arg);
770 sigLength = strlen(signature);
774 /* set a mark in the signature for later operations */
777 sigMark[sigMarkDepth] = 0;
780 sigMark[sigMarkDepth] = sigLength;
785 /* get the contents of the sig from the mark, and clear the mark */
786 const char *copySig()
788 const char *cp = NULL;
789 if (sigMarkDepth > 0)
795 cp = &signature[sigMark[sigMarkDepth]];
800 /* swap the signature text using the mark as the radix */
803 if (sigMarkDepth > 0)
807 if (signature && sigMark[sigMarkDepth] > 0)
814 m = sigMark[sigMarkDepth];
816 for (i = 0; i < nn; i++)
818 c = cp[i]; cp[i] = cp[m-i-1]; cp[m-i-1] = c;
821 for (i = 0; i < nn; i++)
823 c = cp[i+m]; cp[i+m] = cp[n-i-1]; cp[n-i-1] = c;
826 for (i = 0; i < nn; i++)
828 c = cp[i]; cp[i] = cp[n-i-1]; cp[n-i-1] = c;
833 /* chop the last space from the signature */
838 size_t n = sigLength;
839 if (n > 0 && signature[n-1] == ' ')
841 signature[n-1] = '\0';
847 /* mark this signature as legacy */
850 currentFunction->IsLegacy = 1;
853 /*----------------------------------------------------------------
854 * Storage type for vars and functions
857 /* "private" variables */
858 unsigned int storageType = 0;
860 /* save the storage type */
861 void setStorageType(unsigned int val)
866 /* modify the indirection (pointers, refs) in the storage type */
867 void setStorageTypeIndirection(unsigned int ind)
869 storageType = (storageType & ~VTK_PARSE_INDIRECT);
870 ind = (ind & VTK_PARSE_INDIRECT);
871 storageType = (storageType | ind);
874 /* retrieve the storage type */
875 unsigned int getStorageType()
880 /*----------------------------------------------------------------
884 /* "private" variables */
885 int numberOfDimensions = 0;
886 const char **arrayDimensions = NULL;
888 /* clear the array counter */
889 void clearArray(void)
891 numberOfDimensions = 0;
892 arrayDimensions = NULL;
895 /* add another dimension */
896 void pushArraySize(const char *size)
898 vtkParse_AddStringToArray(&arrayDimensions, &numberOfDimensions,
902 /* add another dimension to the front */
903 void pushArrayFront(const char *size)
907 vtkParse_AddStringToArray(&arrayDimensions, &numberOfDimensions, 0);
909 for (i = numberOfDimensions-1; i > 0; i--)
911 arrayDimensions[i] = arrayDimensions[i-1];
914 arrayDimensions[0] = vtkstrdup(size);
917 /* get the number of dimensions */
920 return numberOfDimensions;
923 /* get the whole array */
924 const char **getArray()
926 if (numberOfDimensions > 0)
928 return arrayDimensions;
933 /*----------------------------------------------------------------
934 * Variables and Arguments
937 /* "private" variables */
938 char *currentVarName = 0;
939 char *currentVarValue = 0;
942 /* clear the var Id */
943 void clearVarName(void)
945 currentVarName = NULL;
949 void setVarName(const char *text)
951 static char static_text[2048];
952 currentVarName = static_text;
953 strcpy(static_text, text);
956 /* return the var id */
957 const char *getVarName()
959 return currentVarName;
962 /* variable value -------------- */
964 /* clear the var value */
965 void clearVarValue(void)
967 currentVarValue = NULL;
970 /* set the var value */
971 void setVarValue(const char *text)
973 static char static_text[2048];
974 currentVarValue = static_text;
975 strcpy(static_text, text);
978 /* return the var value */
979 const char *getVarValue()
981 return currentVarValue;
984 /* variable type -------------- */
986 /* clear the current Id */
987 void clearTypeId(void)
992 /* set the current Id, it is sticky until cleared */
993 void setTypeId(const char *text)
995 static char static_text[2048];
996 if (currentId == NULL)
998 currentId = static_text;
999 strcpy(static_text, text);
1003 /* set the signature and type together */
1004 void typeSig(const char *text)
1015 else if ((currentId[0] == 'u' && strcmp(currentId, "unsigned") == 0) ||
1016 (currentId[0] == 's' && strcmp(currentId, "signed") == 0))
1018 n = strlen(currentId);
1020 strcpy(¤tId[n+1], text);
1024 /* return the current Id */
1025 const char *getTypeId()
1030 /*----------------------------------------------------------------
1031 * Specifically for function pointers, the scope (i.e. class) that
1032 * the function is a method of.
1035 const char *pointerScopeStack[10];
1036 int pointerScopeDepth = 0;
1038 /* save the scope for scoped method pointers */
1039 void scopeSig(const char *scope)
1041 if (scope && scope[0] != '\0')
1049 pointerScopeStack[pointerScopeDepth++] = vtkstrdup(scope);
1052 /* get the scope back */
1053 const char *getScope()
1055 return pointerScopeStack[--pointerScopeDepth];
1058 /*----------------------------------------------------------------
1061 * operates on: currentFunction
1064 /* "private" variables */
1065 FunctionInfo *functionStack[10] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
1066 const char *functionVarNameStack[10];
1067 const char *functionTypeIdStack[10];
1068 int functionDepth = 0;
1072 functionStack[functionDepth] = currentFunction;
1073 currentFunction = (FunctionInfo *)malloc(sizeof(FunctionInfo));
1074 vtkParse_InitFunction(currentFunction);
1075 if (!functionStack[functionDepth])
1079 functionVarNameStack[functionDepth] = vtkstrdup(getVarName());
1080 functionTypeIdStack[functionDepth] = vtkstrdup(getTypeId());
1084 functionStack[functionDepth] = 0;
1089 FunctionInfo *newFunction = currentFunction;
1092 currentFunction = functionStack[functionDepth];
1094 if (functionVarNameStack[functionDepth])
1096 setVarName(functionVarNameStack[functionDepth]);
1099 if (functionTypeIdStack[functionDepth])
1101 setTypeId(functionTypeIdStack[functionDepth]);
1104 functionStack[functionDepth+1] = newFunction;
1107 FunctionInfo *getFunction()
1109 return functionStack[functionDepth+1];
1112 /*----------------------------------------------------------------
1116 /* prepend a scope:: to a name */
1117 void prepend_scope(char *cp, const char *arg)
1126 ((cp[i-1] >= 'a' && cp[i-1] <= 'z') ||
1127 (cp[i-1] >= 'A' && cp[i-1] <= 'Z') ||
1128 (cp[i-1] >= '0' && cp[i-1] <= '9') ||
1129 cp[i-1] == '_' || cp[i-1] == ':' ||
1154 for (j = m; j > i; j--)
1156 cp[j+n+1] = cp[j-1];
1158 for (j = 0; j < n; j++)
1162 cp[n+i] = ':'; cp[n+i+1] = ':';
1166 /* expand a type by including pointers from another */
1167 unsigned int add_indirection(unsigned int type1, unsigned int type2)
1169 unsigned int ptr1 = (type1 & VTK_PARSE_POINTER_MASK);
1170 unsigned int ptr2 = (type2 & VTK_PARSE_POINTER_MASK);
1171 unsigned int reverse = 0;
1172 unsigned int result;
1174 /* one of type1 or type2 will only have VTK_PARSE_INDIRECT, but
1175 * we don't know which one. */
1176 result = ((type1 & ~VTK_PARSE_POINTER_MASK) |
1177 (type2 & ~VTK_PARSE_POINTER_MASK));
1181 reverse = ((reverse << 2) | (ptr2 & VTK_PARSE_POINTER_LOWMASK));
1182 ptr2 = ((ptr2 >> 2) & VTK_PARSE_POINTER_MASK);
1187 ptr1 = ((ptr1 << 2) | (reverse & VTK_PARSE_POINTER_LOWMASK));
1188 reverse = ((reverse >> 2) & VTK_PARSE_POINTER_MASK);
1190 /* make sure we don't exceed the VTK_PARSE_POINTER bitfield */
1191 if ((ptr1 & VTK_PARSE_POINTER_MASK) != ptr1)
1193 ptr1 = VTK_PARSE_BAD_INDIRECT;
1198 return (ptr1 | result);
1201 /* There is only one array, so add any parenthetical indirection to it */
1202 unsigned int add_indirection_to_array(unsigned int type)
1204 unsigned int ptrs = (type & VTK_PARSE_POINTER_MASK);
1205 unsigned int result = (type & ~VTK_PARSE_POINTER_MASK);
1206 unsigned int reverse = 0;
1208 if ((type & VTK_PARSE_INDIRECT) == VTK_PARSE_BAD_INDIRECT)
1210 return (result | VTK_PARSE_BAD_INDIRECT);
1215 reverse = ((reverse << 2) | (ptrs & VTK_PARSE_POINTER_LOWMASK));
1216 ptrs = ((ptrs >> 2) & VTK_PARSE_POINTER_MASK);
1219 /* I know the reversal makes no difference, but it is still
1220 * nice to add the pointers in the correct order, just in
1221 * case const pointers are thrown into the mix. */
1225 reverse = ((reverse >> 2) & VTK_PARSE_POINTER_MASK);
1233 /* Line 189 of yacc.c */
1234 #line 1235 "vtkParse.tab.c"
1236 /* Enabling traces. */
1241 /* Enabling verbose error messages. */
1242 #ifdef YYERROR_VERBOSE
1243 # undef YYERROR_VERBOSE
1244 # define YYERROR_VERBOSE 1
1246 # define YYERROR_VERBOSE 0
1249 /* Enabling the token table. */
1250 #ifndef YYTOKEN_TABLE
1251 # define YYTOKEN_TABLE 0
1257 # define YYTOKENTYPE
1258 /* Put the tokens into the symbol table, so that GDB and other debuggers
1268 STRING_LITERAL = 265,
1272 FLOAT_LITERAL = 269,
1281 UNSIGNED_SHORT = 278,
1283 UNSIGNED_LONG = 280,
1285 UNSIGNED_LONG_LONG = 282,
1287 UNSIGNED_INT64__ = 284,
1290 UNSIGNED_CHAR = 287,
1326 REINTERPRET_CAST = 323,
1331 OP_ARROW_POINTER = 328,
1339 OP_REMAINDER_EQ = 336,
1343 OP_LOGIC_AND_EQ = 340,
1344 OP_LOGIC_OR_EQ = 341,
1357 UnicodeString = 354,
1372 SetStringMacro = 369,
1373 GetStringMacro = 370,
1374 SetClampMacro = 371,
1375 SetObjectMacro = 372,
1376 GetObjectMacro = 373,
1378 SetVector2Macro = 375,
1379 SetVector3Macro = 376,
1380 SetVector4Macro = 377,
1381 SetVector6Macro = 378,
1382 GetVector2Macro = 379,
1383 GetVector3Macro = 380,
1384 GetVector4Macro = 381,
1385 GetVector6Macro = 382,
1386 SetVectorMacro = 383,
1387 GetVectorMacro = 384,
1388 ViewportCoordinateMacro = 385,
1389 WorldCoordinateMacro = 386,
1391 VTK_BYTE_SWAP_DECL = 388
1398 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
1399 typedef union YYSTYPE
1402 /* Line 214 of yacc.c */
1403 #line 1182 "vtkParse.y"
1406 unsigned int integer;
1410 /* Line 214 of yacc.c */
1411 #line 1544 "vtkParse.tab.c"
1413 # define YYSTYPE_IS_TRIVIAL 1
1414 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
1415 # define YYSTYPE_IS_DECLARED 1
1419 /* Copy the second part of user declarations. */
1422 /* Line 264 of yacc.c */
1423 #line 1556 "vtkParse.tab.c"
1430 typedef YYTYPE_UINT8 yytype_uint8;
1432 typedef unsigned char yytype_uint8;
1436 typedef YYTYPE_INT8 yytype_int8;
1437 #elif (defined __STDC__ || defined __C99__FUNC__ \
1438 || defined __cplusplus || defined _MSC_VER)
1439 typedef signed char yytype_int8;
1441 typedef short int yytype_int8;
1444 #ifdef YYTYPE_UINT16
1445 typedef YYTYPE_UINT16 yytype_uint16;
1447 typedef unsigned short int yytype_uint16;
1451 typedef YYTYPE_INT16 yytype_int16;
1453 typedef short int yytype_int16;
1457 # ifdef __SIZE_TYPE__
1458 # define YYSIZE_T __SIZE_TYPE__
1459 # elif defined size_t
1460 # define YYSIZE_T size_t
1461 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
1462 || defined __cplusplus || defined _MSC_VER)
1463 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
1464 # define YYSIZE_T size_t
1466 # define YYSIZE_T unsigned int
1470 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
1475 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
1476 # define YY_(msgid) dgettext ("bison-runtime", msgid)
1480 # define YY_(msgid) msgid
1484 /* Suppress unused-variable warnings by "using" E. */
1485 #if ! defined lint || defined __GNUC__
1486 # define YYUSE(e) ((void) (e))
1488 # define YYUSE(e) /* empty */
1491 /* Identity function, used to suppress warnings about constant conditions. */
1493 # define YYID(n) (n)
1495 #if (defined __STDC__ || defined __C99__FUNC__ \
1496 || defined __cplusplus || defined _MSC_VER)
1509 #if ! defined yyoverflow || YYERROR_VERBOSE
1511 /* The parser invokes alloca or malloc; define the necessary symbols. */
1513 # ifdef YYSTACK_USE_ALLOCA
1514 # if YYSTACK_USE_ALLOCA
1516 # define YYSTACK_ALLOC __builtin_alloca
1517 # elif defined __BUILTIN_VA_ARG_INCR
1518 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
1520 # define YYSTACK_ALLOC __alloca
1521 # elif defined _MSC_VER
1522 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
1523 # define alloca _alloca
1525 # define YYSTACK_ALLOC alloca
1526 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
1527 || defined __cplusplus || defined _MSC_VER)
1528 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1530 # define _STDLIB_H 1
1537 # ifdef YYSTACK_ALLOC
1538 /* Pacify GCC's `empty if-body' warning. */
1539 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
1540 # ifndef YYSTACK_ALLOC_MAXIMUM
1541 /* The OS might guarantee only one guard page at the bottom of the stack,
1542 and a page size can be as small as 4096 bytes. So we cannot safely
1543 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
1544 to allow for a few compiler-allocated temporary stack slots. */
1545 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
1548 # define YYSTACK_ALLOC YYMALLOC
1549 # define YYSTACK_FREE YYFREE
1550 # ifndef YYSTACK_ALLOC_MAXIMUM
1551 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
1553 # if (defined __cplusplus && ! defined _STDLIB_H \
1554 && ! ((defined YYMALLOC || defined malloc) \
1555 && (defined YYFREE || defined free)))
1556 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1558 # define _STDLIB_H 1
1562 # define YYMALLOC malloc
1563 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
1564 || defined __cplusplus || defined _MSC_VER)
1565 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
1569 # define YYFREE free
1570 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
1571 || defined __cplusplus || defined _MSC_VER)
1572 void free (void *); /* INFRINGES ON USER NAME SPACE */
1576 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
1579 #if (! defined yyoverflow \
1580 && (! defined __cplusplus \
1581 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1583 /* A type that is properly aligned for any stack member. */
1586 yytype_int16 yyss_alloc;
1590 /* The size of the maximum gap between one aligned stack and the next. */
1591 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
1593 /* The size of an array large to enough to hold all stacks, each with
1595 # define YYSTACK_BYTES(N) \
1596 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
1597 + YYSTACK_GAP_MAXIMUM)
1599 /* Copy COUNT objects from FROM to TO. The source and destination do
1602 # if defined __GNUC__ && 1 < __GNUC__
1603 # define YYCOPY(To, From, Count) \
1604 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
1606 # define YYCOPY(To, From, Count) \
1610 for (yyi = 0; yyi < (Count); yyi++) \
1611 (To)[yyi] = (From)[yyi]; \
1617 /* Relocate STACK from its old location to the new one. The
1618 local variables YYSIZE and YYSTACKSIZE give the old and new number of
1619 elements in the stack, and YYPTR gives the new location of the
1620 stack. Advance YYPTR to a properly aligned location for the next
1622 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
1625 YYSIZE_T yynewbytes; \
1626 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
1627 Stack = &yyptr->Stack_alloc; \
1628 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1629 yyptr += yynewbytes / sizeof (*yyptr); \
1635 /* YYFINAL -- State number of the termination state. */
1637 /* YYLAST -- Last index in YYTABLE. */
1640 /* YYNTOKENS -- Number of terminals. */
1641 #define YYNTOKENS 157
1642 /* YYNNTS -- Number of nonterminals. */
1644 /* YYNRULES -- Number of rules. */
1645 #define YYNRULES 581
1646 /* YYNRULES -- Number of states. */
1647 #define YYNSTATES 1021
1649 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
1650 #define YYUNDEFTOK 2
1651 #define YYMAXUTOK 388
1653 #define YYTRANSLATE(YYX) \
1654 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1656 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
1657 static const yytype_uint8 yytranslate[] =
1659 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1660 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1661 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1662 2, 2, 2, 155, 2, 2, 2, 149, 150, 2,
1663 135, 136, 147, 145, 142, 144, 156, 148, 2, 2,
1664 2, 2, 2, 2, 2, 2, 2, 2, 141, 134,
1665 139, 143, 140, 2, 2, 2, 2, 2, 2, 2,
1666 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1667 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1668 2, 153, 2, 154, 152, 2, 2, 2, 2, 2,
1669 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1670 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1671 2, 2, 2, 137, 151, 138, 146, 2, 2, 2,
1672 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1673 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1674 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1675 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1676 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1677 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1678 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1679 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1680 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1681 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1682 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1683 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1684 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1685 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1686 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1687 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1688 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1689 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1690 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1691 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1692 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1693 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1694 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1695 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1696 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
1697 125, 126, 127, 128, 129, 130, 131, 132, 133
1701 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
1703 static const yytype_uint16 yyprhs[] =
1705 0, 0, 3, 4, 5, 9, 11, 15, 17, 19,
1706 21, 23, 27, 32, 34, 37, 41, 44, 47, 50,
1707 54, 57, 59, 62, 67, 72, 77, 79, 85, 86,
1708 93, 98, 99, 107, 108, 119, 120, 128, 129, 140,
1709 145, 146, 154, 155, 166, 171, 172, 173, 177, 181,
1710 183, 187, 189, 191, 195, 200, 203, 206, 208, 211,
1711 215, 219, 222, 226, 230, 233, 239, 241, 243, 244,
1712 247, 249, 253, 255, 258, 261, 264, 266, 268, 270,
1713 271, 278, 279, 285, 286, 288, 292, 294, 298, 300,
1714 302, 304, 306, 308, 310, 312, 314, 316, 318, 319,
1715 323, 324, 329, 330, 335, 337, 339, 341, 343, 345,
1716 347, 349, 351, 353, 355, 357, 359, 361, 364, 368,
1717 372, 375, 379, 382, 384, 390, 394, 399, 404, 409,
1718 413, 415, 420, 425, 429, 433, 434, 440, 442, 443,
1719 448, 451, 454, 455, 459, 461, 463, 464, 465, 469,
1720 474, 479, 482, 486, 491, 497, 501, 506, 513, 521,
1721 527, 534, 537, 541, 544, 548, 552, 554, 557, 560,
1722 563, 567, 569, 572, 575, 579, 583, 585, 588, 592,
1723 593, 594, 603, 604, 608, 609, 610, 618, 619, 623,
1724 624, 627, 630, 632, 634, 638, 639, 645, 646, 647,
1725 657, 658, 662, 663, 669, 670, 674, 675, 679, 684,
1726 686, 687, 693, 694, 695, 698, 700, 702, 703, 708,
1727 709, 710, 716, 718, 720, 723, 724, 726, 727, 731,
1728 736, 741, 745, 748, 749, 752, 753, 754, 759, 760,
1729 763, 764, 768, 771, 772, 778, 781, 782, 788, 790,
1730 792, 794, 796, 798, 799, 801, 802, 803, 809, 811,
1731 813, 816, 818, 821, 822, 824, 826, 827, 829, 830,
1732 833, 834, 840, 841, 843, 844, 846, 848, 850, 852,
1733 854, 856, 858, 860, 862, 864, 866, 868, 870, 872,
1734 874, 876, 878, 880, 882, 884, 886, 888, 890, 893,
1735 896, 900, 903, 906, 910, 912, 915, 917, 920, 922,
1736 925, 928, 930, 932, 934, 936, 937, 941, 942, 948,
1737 949, 955, 956, 962, 964, 965, 970, 972, 974, 976,
1738 978, 980, 982, 984, 986, 988, 990, 992, 996, 1000,
1739 1002, 1004, 1006, 1008, 1010, 1012, 1014, 1016, 1019, 1021,
1740 1023, 1026, 1028, 1030, 1032, 1035, 1038, 1041, 1044, 1046,
1741 1048, 1050, 1052, 1054, 1056, 1058, 1060, 1062, 1064, 1066,
1742 1068, 1070, 1072, 1074, 1076, 1078, 1080, 1082, 1084, 1086,
1743 1088, 1090, 1092, 1094, 1096, 1098, 1100, 1102, 1104, 1106,
1744 1108, 1110, 1112, 1114, 1116, 1118, 1120, 1122, 1124, 1126,
1745 1128, 1130, 1132, 1133, 1140, 1141, 1143, 1144, 1145, 1150,
1746 1152, 1153, 1157, 1158, 1162, 1164, 1165, 1170, 1171, 1172,
1747 1182, 1184, 1186, 1188, 1190, 1192, 1195, 1197, 1199, 1201,
1748 1203, 1205, 1207, 1209, 1210, 1218, 1219, 1220, 1221, 1231,
1749 1232, 1238, 1239, 1245, 1246, 1247, 1258, 1259, 1267, 1268,
1750 1269, 1270, 1280, 1287, 1288, 1296, 1297, 1305, 1306, 1314,
1751 1315, 1323, 1324, 1332, 1333, 1341, 1342, 1350, 1351, 1359,
1752 1360, 1370, 1371, 1381, 1386, 1391, 1399, 1402, 1405, 1409,
1753 1413, 1415, 1417, 1419, 1421, 1423, 1425, 1427, 1429, 1431,
1754 1433, 1435, 1437, 1439, 1441, 1443, 1445, 1447, 1449, 1451,
1755 1453, 1455, 1457, 1459, 1461, 1463, 1465, 1467, 1469, 1471,
1756 1473, 1475, 1477, 1479, 1481, 1483, 1485, 1487, 1489, 1491,
1757 1493, 1495, 1496, 1499, 1500, 1503, 1505, 1507, 1509, 1511,
1758 1513, 1515, 1517, 1519, 1521, 1523, 1525, 1527, 1529, 1531,
1759 1533, 1535, 1537, 1539, 1541, 1543, 1545, 1547, 1549, 1551,
1760 1553, 1555, 1557, 1559, 1561, 1563, 1565, 1567, 1569, 1571,
1761 1573, 1575, 1577, 1579, 1581, 1583, 1585, 1587, 1589, 1591,
1762 1593, 1595, 1597, 1599, 1601, 1603, 1605, 1607, 1611, 1615,
1766 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
1767 static const yytype_int16 yyrhs[] =
1769 158, 0, -1, -1, -1, 158, 159, 160, -1, 252,
1770 -1, 178, 254, 134, -1, 196, -1, 162, -1, 161,
1771 -1, 194, -1, 164, 254, 134, -1, 197, 164, 254,
1772 134, -1, 41, -1, 214, 226, -1, 197, 214, 226,
1773 -1, 213, 226, -1, 208, 226, -1, 209, 226, -1,
1774 197, 208, 226, -1, 206, 226, -1, 321, -1, 299,
1775 134, -1, 9, 135, 346, 136, -1, 57, 135, 346,
1776 136, -1, 97, 135, 346, 136, -1, 134, -1, 59,
1777 10, 137, 158, 138, -1, -1, 55, 299, 163, 137,
1778 158, 138, -1, 55, 137, 346, 138, -1, -1, 4,
1779 280, 165, 174, 137, 171, 138, -1, -1, 4, 280,
1780 139, 294, 140, 166, 174, 137, 171, 138, -1, -1,
1781 3, 280, 167, 174, 137, 171, 138, -1, -1, 3,
1782 280, 139, 294, 140, 168, 174, 137, 171, 138, -1,
1783 3, 137, 346, 138, -1, -1, 40, 280, 169, 174,
1784 137, 171, 138, -1, -1, 40, 280, 139, 294, 140,
1785 170, 174, 137, 171, 138, -1, 40, 137, 346, 138,
1786 -1, -1, -1, 171, 172, 173, -1, 171, 177, 141,
1787 -1, 252, -1, 178, 254, 134, -1, 196, -1, 194,
1788 -1, 164, 254, 134, -1, 197, 164, 254, 134, -1,
1789 49, 192, -1, 49, 191, -1, 41, -1, 214, 226,
1790 -1, 49, 214, 226, -1, 197, 214, 226, -1, 211,
1791 226, -1, 49, 211, 226, -1, 197, 211, 226, -1,
1792 207, 226, -1, 133, 135, 346, 136, 134, -1, 321,
1793 -1, 134, -1, -1, 141, 175, -1, 176, -1, 176,
1794 142, 175, -1, 297, -1, 6, 297, -1, 7, 297,
1795 -1, 5, 297, -1, 5, -1, 6, -1, 7, -1,
1796 -1, 39, 280, 179, 137, 181, 138, -1, -1, 39,
1797 180, 137, 181, 138, -1, -1, 182, -1, 182, 142,
1798 181, -1, 280, -1, 280, 143, 185, -1, 184, -1,
1799 280, -1, 298, -1, 290, -1, 16, -1, 11, -1,
1800 13, -1, 12, -1, 15, -1, 183, -1, -1, 189,
1801 186, 185, -1, -1, 183, 190, 187, 185, -1, -1,
1802 135, 188, 185, 136, -1, 144, -1, 145, -1, 146,
1803 -1, 144, -1, 145, -1, 147, -1, 148, -1, 149,
1804 -1, 150, -1, 151, -1, 152, -1, 71, -1, 72,
1805 -1, 197, 192, -1, 4, 280, 193, -1, 3, 280,
1806 193, -1, 3, 193, -1, 40, 280, 193, -1, 40,
1807 193, -1, 134, -1, 137, 346, 138, 347, 134, -1,
1808 141, 347, 134, -1, 195, 285, 262, 134, -1, 195,
1809 164, 248, 134, -1, 195, 178, 248, 134, -1, 195,
1810 60, 134, -1, 54, -1, 56, 55, 297, 134, -1,
1811 56, 53, 297, 134, -1, 56, 297, 134, -1, 52,
1812 139, 140, -1, -1, 52, 139, 198, 199, 140, -1,
1813 201, -1, -1, 201, 142, 200, 199, -1, 304, 204,
1814 -1, 203, 204, -1, -1, 202, 197, 204, -1, 4,
1815 -1, 53, -1, -1, -1, 280, 205, 249, -1, 61,
1816 135, 208, 136, -1, 61, 135, 211, 136, -1, 283,
1817 223, -1, 283, 210, 223, -1, 299, 94, 146, 238,
1818 -1, 50, 299, 94, 146, 238, -1, 299, 94, 231,
1819 -1, 50, 299, 94, 231, -1, 299, 94, 299, 94,
1820 146, 238, -1, 50, 299, 94, 299, 94, 146, 238,
1821 -1, 299, 94, 299, 94, 231, -1, 50, 299, 94,
1822 299, 94, 231, -1, 299, 94, -1, 210, 299, 94,
1823 -1, 146, 238, -1, 50, 146, 238, -1, 8, 146,
1824 238, -1, 231, -1, 50, 231, -1, 212, 231, -1,
1825 283, 223, -1, 8, 283, 223, -1, 64, -1, 50,
1826 64, -1, 64, 50, -1, 299, 94, 215, -1, 283,
1827 210, 218, -1, 215, -1, 283, 218, -1, 8, 285,
1828 218, -1, -1, -1, 46, 283, 135, 216, 241, 136,
1829 217, 225, -1, -1, 220, 219, 225, -1, -1, -1,
1830 46, 344, 221, 135, 222, 241, 136, -1, -1, 227,
1831 224, 225, -1, -1, 143, 16, -1, 45, 16, -1,
1832 43, -1, 134, -1, 137, 346, 138, -1, -1, 280,
1833 135, 228, 241, 136, -1, -1, -1, 280, 139, 229,
1834 294, 140, 135, 230, 241, 136, -1, -1, 233, 232,
1835 235, -1, -1, 280, 135, 234, 241, 136, -1, -1,
1836 141, 237, 236, -1, -1, 142, 237, 236, -1, 297,
1837 135, 346, 136, -1, 239, -1, -1, 280, 135, 240,
1838 241, 136, -1, -1, -1, 242, 243, -1, 93, -1,
1839 245, -1, -1, 245, 142, 244, 243, -1, -1, -1,
1840 246, 285, 260, 247, 249, -1, 60, -1, 280, -1,
1841 300, 280, -1, -1, 250, -1, -1, 143, 251, 307,
1842 -1, 283, 253, 255, 134, -1, 58, 60, 255, 134,
1843 -1, 60, 255, 134, -1, 262, 249, -1, -1, 257,
1844 255, -1, -1, -1, 255, 142, 256, 257, -1, -1,
1845 258, 253, -1, -1, 300, 259, 253, -1, 271, 273,
1846 -1, -1, 264, 269, 136, 261, 267, -1, 272, 273,
1847 -1, -1, 265, 270, 136, 263, 267, -1, 135, -1,
1848 95, -1, 96, -1, 95, -1, 96, -1, -1, 43,
1849 -1, -1, -1, 135, 268, 241, 136, 266, -1, 274,
1850 -1, 260, -1, 300, 260, -1, 262, -1, 300, 262,
1851 -1, -1, 272, -1, 280, -1, -1, 274, -1, -1,
1852 275, 276, -1, -1, 278, 153, 277, 279, 154, -1,
1853 -1, 276, -1, -1, 185, -1, 57, -1, 97, -1,
1854 9, -1, 38, -1, 37, -1, 98, -1, 99, -1,
1855 281, -1, 282, -1, 102, -1, 103, -1, 104, -1,
1856 105, -1, 106, -1, 107, -1, 108, -1, 109, -1,
1857 110, -1, 111, -1, 100, -1, 101, -1, 285, -1,
1858 51, 285, -1, 59, 285, -1, 59, 10, 285, -1,
1859 50, 285, -1, 284, 285, -1, 50, 284, 285, -1,
1860 58, -1, 58, 50, -1, 286, -1, 286, 300, -1,
1861 288, -1, 287, 288, -1, 288, 287, -1, 43, -1,
1862 303, -1, 290, -1, 298, -1, -1, 53, 289, 297,
1863 -1, -1, 57, 139, 291, 294, 140, -1, -1, 9,
1864 139, 292, 294, 140, -1, -1, 97, 139, 293, 294,
1865 140, -1, 296, -1, -1, 296, 142, 295, 294, -1,
1866 285, -1, 184, -1, 57, -1, 9, -1, 97, -1,
1867 38, -1, 37, -1, 98, -1, 99, -1, 290, -1,
1868 298, -1, 299, 94, 297, -1, 290, 94, 297, -1,
1869 9, -1, 97, -1, 57, -1, 38, -1, 37, -1,
1870 98, -1, 99, -1, 150, -1, 301, 150, -1, 301,
1871 -1, 302, -1, 301, 302, -1, 147, -1, 44, -1,
1872 304, -1, 4, 305, -1, 3, 305, -1, 40, 305,
1873 -1, 39, 305, -1, 306, -1, 305, -1, 98, -1,
1874 99, -1, 37, -1, 38, -1, 9, -1, 57, -1,
1875 97, -1, 33, -1, 34, -1, 35, -1, 36, -1,
1876 102, -1, 103, -1, 104, -1, 105, -1, 106, -1,
1877 107, -1, 108, -1, 109, -1, 110, -1, 111, -1,
1878 100, -1, 101, -1, 17, -1, 18, -1, 19, -1,
1879 30, -1, 31, -1, 32, -1, 20, -1, 21, -1,
1880 22, -1, 23, -1, 24, -1, 25, -1, 26, -1,
1881 27, -1, 28, -1, 29, -1, 48, -1, 47, -1,
1882 312, -1, -1, 137, 308, 307, 310, 309, 138, -1,
1883 -1, 142, -1, -1, -1, 310, 142, 311, 307, -1,
1884 320, -1, -1, 145, 313, 320, -1, -1, 144, 314,
1885 320, -1, 319, -1, -1, 135, 315, 312, 136, -1,
1886 -1, -1, 318, 139, 316, 286, 140, 135, 317, 312,
1887 136, -1, 65, -1, 67, -1, 66, -1, 68, -1,
1888 10, -1, 319, 10, -1, 16, -1, 11, -1, 13,
1889 -1, 12, -1, 14, -1, 15, -1, 297, -1, -1,
1890 112, 135, 280, 142, 322, 285, 136, -1, -1, -1,
1891 -1, 113, 135, 323, 280, 142, 324, 285, 325, 136,
1892 -1, -1, 114, 135, 326, 280, 136, -1, -1, 115,
1893 135, 327, 280, 136, -1, -1, -1, 116, 135, 280,
1894 142, 328, 303, 329, 142, 347, 136, -1, -1, 117,
1895 135, 280, 142, 330, 303, 136, -1, -1, -1, -1,
1896 118, 135, 331, 280, 142, 332, 303, 333, 136, -1,
1897 119, 135, 280, 142, 303, 136, -1, -1, 120, 135,
1898 280, 142, 334, 303, 136, -1, -1, 124, 135, 280,
1899 142, 335, 303, 136, -1, -1, 121, 135, 280, 142,
1900 336, 303, 136, -1, -1, 125, 135, 280, 142, 337,
1901 303, 136, -1, -1, 122, 135, 280, 142, 338, 303,
1902 136, -1, -1, 126, 135, 280, 142, 339, 303, 136,
1903 -1, -1, 123, 135, 280, 142, 340, 303, 136, -1,
1904 -1, 127, 135, 280, 142, 341, 303, 136, -1, -1,
1905 128, 135, 280, 142, 342, 303, 142, 11, 136, -1,
1906 -1, 129, 135, 280, 142, 343, 303, 142, 11, 136,
1907 -1, 130, 135, 280, 136, -1, 131, 135, 280, 136,
1908 -1, 132, 135, 280, 142, 280, 309, 136, -1, 135,
1909 136, -1, 153, 154, -1, 62, 153, 154, -1, 63,
1910 153, 154, -1, 345, -1, 143, -1, 147, -1, 148,
1911 -1, 144, -1, 145, -1, 155, -1, 146, -1, 142,
1912 -1, 139, -1, 140, -1, 150, -1, 151, -1, 152,
1913 -1, 149, -1, 62, -1, 63, -1, 69, -1, 70,
1914 -1, 71, -1, 72, -1, 73, -1, 74, -1, 77,
1915 -1, 78, -1, 79, -1, 80, -1, 81, -1, 75,
1916 -1, 76, -1, 82, -1, 83, -1, 84, -1, 85,
1917 -1, 86, -1, 87, -1, 88, -1, 89, -1, 90,
1918 -1, 91, -1, 92, -1, -1, 346, 348, -1, -1,
1919 347, 349, -1, 134, -1, 349, -1, 42, -1, 350,
1920 -1, 352, -1, 351, -1, 54, -1, 345, -1, 141,
1921 -1, 156, -1, 94, -1, 4, -1, 52, -1, 38,
1922 -1, 37, -1, 98, -1, 99, -1, 306, -1, 13,
1923 -1, 11, -1, 12, -1, 14, -1, 15, -1, 10,
1924 -1, 41, -1, 43, -1, 44, -1, 45, -1, 3,
1925 -1, 46, -1, 58, -1, 50, -1, 8, -1, 39,
1926 -1, 40, -1, 53, -1, 16, -1, 60, -1, 93,
1927 -1, 5, -1, 7, -1, 6, -1, 55, -1, 56,
1928 -1, 59, -1, 9, -1, 57, -1, 97, -1, 67,
1929 -1, 66, -1, 65, -1, 68, -1, 137, 346, 138,
1930 -1, 153, 346, 154, -1, 135, 346, 136, -1, 95,
1931 346, 136, -1, 96, 346, 136, -1
1934 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1935 static const yytype_uint16 yyrline[] =
1937 0, 1332, 1332, 1333, 1332, 1337, 1338, 1339, 1340, 1341,
1938 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351,
1939 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1364, 1370, 1370,
1940 1372, 1378, 1378, 1380, 1380, 1382, 1382, 1384, 1384, 1386,
1941 1387, 1387, 1389, 1389, 1391, 1393, 1395, 1394, 1397, 1400,
1942 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410,
1943 1412, 1413, 1414, 1416, 1417, 1418, 1419, 1420, 1422, 1422,
1944 1424, 1424, 1426, 1427, 1428, 1429, 1436, 1437, 1438, 1448,
1945 1448, 1450, 1450, 1453, 1453, 1453, 1455, 1456, 1458, 1459,
1946 1460, 1460, 1462, 1462, 1462, 1462, 1462, 1464, 1465, 1465,
1947 1469, 1469, 1473, 1473, 1478, 1478, 1479, 1481, 1481, 1482,
1948 1482, 1483, 1483, 1484, 1484, 1485, 1486, 1492, 1494, 1495,
1949 1496, 1497, 1498, 1500, 1501, 1502, 1508, 1531, 1532, 1533,
1950 1535, 1542, 1543, 1544, 1551, 1552, 1552, 1558, 1559, 1559,
1951 1562, 1572, 1580, 1580, 1592, 1593, 1595, 1595, 1595, 1602,
1952 1604, 1610, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619,
1953 1620, 1622, 1623, 1625, 1626, 1627, 1632, 1633, 1634, 1641,
1954 1642, 1650, 1650, 1650, 1652, 1653, 1656, 1657, 1658, 1668,
1955 1672, 1667, 1684, 1684, 1693, 1694, 1693, 1701, 1701, 1710,
1956 1711, 1720, 1730, 1736, 1736, 1739, 1738, 1743, 1744, 1743,
1957 1751, 1751, 1758, 1758, 1760, 1760, 1762, 1762, 1764, 1766,
1958 1775, 1775, 1781, 1781, 1781, 1784, 1785, 1786, 1786, 1789,
1959 1791, 1789, 1820, 1844, 1844, 1846, 1846, 1848, 1848, 1855,
1960 1856, 1857, 1859, 1910, 1911, 1913, 1914, 1914, 1917, 1917,
1961 1918, 1918, 1922, 1923, 1923, 1937, 1938, 1938, 1951, 1952,
1962 1954, 1957, 1959, 1962, 1962, 1964, 1965, 1965, 1967, 1970,
1963 1971, 1975, 1976, 1979, 1979, 1981, 1983, 1983, 1985, 1985,
1964 1987, 1987, 1989, 1989, 1991, 1992, 1998, 1999, 2000, 2001,
1965 2002, 2003, 2004, 2005, 2006, 2009, 2010, 2011, 2012, 2013,
1966 2014, 2015, 2016, 2017, 2018, 2021, 2022, 2029, 2030, 2031,
1967 2032, 2034, 2035, 2037, 2041, 2042, 2044, 2045, 2047, 2048,
1968 2049, 2051, 2053, 2054, 2056, 2058, 2058, 2062, 2062, 2065,
1969 2065, 2068, 2068, 2072, 2073, 2073, 2076, 2076, 2078, 2079,
1970 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2088, 2093, 2099,
1971 2099, 2099, 2099, 2099, 2100, 2100, 2116, 2117, 2118, 2123,
1972 2124, 2136, 2137, 2140, 2141, 2142, 2143, 2144, 2147, 2148,
1973 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2160, 2161, 2162,
1974 2163, 2164, 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172,
1975 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2183,
1976 2184, 2186, 2187, 2189, 2190, 2192, 2193, 2195, 2196, 2198,
1977 2199, 2205, 2206, 2206, 2212, 2212, 2214, 2215, 2215, 2220,
1978 2221, 2221, 2222, 2222, 2226, 2227, 2227, 2228, 2230, 2228,
1979 2250, 2251, 2252, 2253, 2255, 2256, 2259, 2260, 2261, 2262,
1980 2263, 2264, 2265, 2275, 2275, 2285, 2286, 2286, 2285, 2295,
1981 2295, 2305, 2305, 2314, 2314, 2314, 2347, 2346, 2357, 2358,
1982 2358, 2357, 2367, 2385, 2385, 2390, 2390, 2395, 2395, 2400,
1983 2400, 2405, 2405, 2410, 2410, 2415, 2415, 2420, 2420, 2425,
1984 2425, 2442, 2442, 2456, 2493, 2531, 2588, 2589, 2590, 2591,
1985 2592, 2594, 2595, 2595, 2596, 2596, 2597, 2597, 2598, 2598,
1986 2599, 2599, 2600, 2600, 2601, 2602, 2603, 2604, 2605, 2606,
1987 2607, 2608, 2609, 2610, 2611, 2612, 2613, 2614, 2615, 2616,
1988 2617, 2618, 2619, 2620, 2621, 2622, 2623, 2624, 2625, 2626,
1989 2627, 2633, 2633, 2634, 2634, 2636, 2636, 2638, 2638, 2638,
1990 2638, 2638, 2639, 2639, 2639, 2639, 2639, 2639, 2640, 2640,
1991 2640, 2640, 2640, 2641, 2641, 2641, 2641, 2641, 2642, 2642,
1992 2642, 2642, 2642, 2642, 2643, 2643, 2643, 2643, 2643, 2643,
1993 2643, 2644, 2644, 2644, 2644, 2644, 2644, 2645, 2645, 2645,
1994 2645, 2645, 2645, 2646, 2646, 2646, 2646, 2648, 2649, 2650,
1999 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
2000 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
2001 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
2002 static const char *const yytname[] =
2004 "$end", "error", "$undefined", "STRUCT", "CLASS", "PUBLIC", "PRIVATE",
2005 "PROTECTED", "VIRTUAL", "ID", "STRING_LITERAL", "INT_LITERAL",
2006 "HEX_LITERAL", "OCT_LITERAL", "FLOAT_LITERAL", "CHAR_LITERAL", "ZERO",
2007 "FLOAT", "DOUBLE", "LONG_DOUBLE", "INT", "UNSIGNED_INT", "SHORT",
2008 "UNSIGNED_SHORT", "LONG", "UNSIGNED_LONG", "LONG_LONG",
2009 "UNSIGNED_LONG_LONG", "INT64__", "UNSIGNED_INT64__", "CHAR",
2010 "SIGNED_CHAR", "UNSIGNED_CHAR", "VOID", "BOOL", "SSIZE_T", "SIZE_T",
2011 "OSTREAM", "ISTREAM", "ENUM", "UNION", "CLASS_REF", "OTHER", "CONST",
2012 "CONST_PTR", "CONST_EQUAL", "OPERATOR", "UNSIGNED", "SIGNED", "FRIEND",
2013 "INLINE", "MUTABLE", "TEMPLATE", "TYPENAME", "TYPEDEF", "NAMESPACE",
2014 "USING", "VTK_ID", "STATIC", "EXTERN", "VAR_FUNCTION", "VTK_LEGACY",
2015 "NEW", "DELETE", "EXPLICIT", "STATIC_CAST", "DYNAMIC_CAST", "CONST_CAST",
2016 "REINTERPRET_CAST", "OP_LSHIFT_EQ", "OP_RSHIFT_EQ", "OP_LSHIFT",
2017 "OP_RSHIFT", "OP_ARROW_POINTER", "OP_ARROW", "OP_INCR", "OP_DECR",
2018 "OP_PLUS_EQ", "OP_MINUS_EQ", "OP_TIMES_EQ", "OP_DIVIDE_EQ",
2019 "OP_REMAINDER_EQ", "OP_AND_EQ", "OP_OR_EQ", "OP_XOR_EQ",
2020 "OP_LOGIC_AND_EQ", "OP_LOGIC_OR_EQ", "OP_LOGIC_AND", "OP_LOGIC_OR",
2021 "OP_LOGIC_EQ", "OP_LOGIC_NEQ", "OP_LOGIC_LEQ", "OP_LOGIC_GEQ",
2022 "ELLIPSIS", "DOUBLE_COLON", "LP", "LA", "QT_ID", "StdString",
2023 "UnicodeString", "IdType", "FloatType", "TypeInt8", "TypeUInt8",
2024 "TypeInt16", "TypeUInt16", "TypeInt32", "TypeUInt32", "TypeInt64",
2025 "TypeUInt64", "TypeFloat32", "TypeFloat64", "SetMacro", "GetMacro",
2026 "SetStringMacro", "GetStringMacro", "SetClampMacro", "SetObjectMacro",
2027 "GetObjectMacro", "BooleanMacro", "SetVector2Macro", "SetVector3Macro",
2028 "SetVector4Macro", "SetVector6Macro", "GetVector2Macro",
2029 "GetVector3Macro", "GetVector4Macro", "GetVector6Macro",
2030 "SetVectorMacro", "GetVectorMacro", "ViewportCoordinateMacro",
2031 "WorldCoordinateMacro", "TypeMacro", "VTK_BYTE_SWAP_DECL", "';'", "'('",
2032 "')'", "'{'", "'}'", "'<'", "'>'", "':'", "','", "'='", "'-'", "'+'",
2033 "'~'", "'*'", "'/'", "'%'", "'&'", "'|'", "'^'", "'['", "']'", "'!'",
2034 "'.'", "$accept", "strt", "$@1", "file_item", "extern", "namespace",
2035 "$@2", "class_def", "$@3", "$@4", "$@5", "$@6", "$@7", "$@8",
2036 "class_def_body", "$@9", "class_def_item", "optional_scope",
2037 "scope_list", "scope_list_item", "scope_type", "enum_def", "$@10",
2038 "$@11", "enum_list", "enum_item", "integer_value", "integer_literal",
2039 "integer_expression", "$@12", "$@13", "$@14", "math_unary_op",
2040 "math_binary_op", "template_internal_class", "internal_class",
2041 "internal_class_body", "type_def", "typedef_start", "using", "template",
2042 "$@15", "template_args", "$@16", "template_arg", "$@17",
2043 "class_or_typename", "maybe_template_id", "$@18", "legacy_function",
2044 "legacy_method", "function", "scoped_method", "scope", "method",
2045 "explicit_mod", "scoped_operator", "operator", "typecast_op_func",
2046 "$@19", "$@20", "op_func", "$@21", "op_sig", "$@22", "$@23", "func",
2047 "$@24", "func_trailer", "func_body", "func_sig", "$@25", "$@26", "@27",
2048 "constructor", "$@28", "constructor_sig", "$@29", "maybe_initializers",
2049 "more_initializers", "initializer", "destructor", "destructor_sig",
2050 "$@30", "args_list", "$@31", "more_args", "$@32", "arg", "$@33", "$@34",
2051 "maybe_indirect_id", "maybe_var_assign", "var_assign", "$@35", "var",
2052 "var_id_maybe_assign", "maybe_vars", "maybe_other_vars", "$@36",
2053 "other_var", "$@37", "$@38", "maybe_complex_var_id", "$@39",
2054 "complex_var_id", "$@40", "p_or_lp_or_la", "lp_or_la",
2055 "maybe_func_const", "maybe_array_or_args", "$@41",
2056 "maybe_indirect_maybe_var_id", "maybe_indirect_var_id", "maybe_var_id",
2057 "var_id", "maybe_var_array", "var_array", "$@42", "array", "$@43",
2058 "more_array", "array_size", "any_id", "sized_type_id", "special_type_id",
2059 "storage_type", "static_mod", "type", "type_red", "const_mod",
2060 "type_red1", "$@44", "templated_id", "$@45", "$@46", "$@47",
2061 "template_params", "$@48", "template_param", "maybe_scoped_id",
2062 "scoped_id", "class_id", "type_indirection", "pointers",
2063 "pointer_or_const_pointer", "type_red2", "type_simple", "type_id",
2064 "type_primitive", "value", "$@49", "maybe_comma", "more_values", "$@50",
2065 "literal", "$@51", "$@52", "$@53", "$@54", "$@55", "any_cast",
2066 "string_literal", "literal2", "macro", "$@56", "$@57", "$@58", "$@59",
2067 "$@60", "$@61", "$@62", "$@63", "$@64", "$@65", "$@66", "$@67", "$@68",
2068 "$@69", "$@70", "$@71", "$@72", "$@73", "$@74", "$@75", "$@76", "$@77",
2069 "op_token", "op_token_no_delim", "maybe_other", "maybe_other_no_semi",
2070 "other_stuff", "other_stuff_no_semi", "braces", "brackets", "parens", 0
2075 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
2077 static const yytype_uint16 yytoknum[] =
2079 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
2080 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
2081 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
2082 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2083 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
2084 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
2085 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
2086 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2087 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
2088 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
2089 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
2090 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
2091 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
2092 385, 386, 387, 388, 59, 40, 41, 123, 125, 60,
2093 62, 58, 44, 61, 45, 43, 126, 42, 47, 37,
2094 38, 124, 94, 91, 93, 33, 46
2098 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
2099 static const yytype_uint16 yyr1[] =
2101 0, 157, 158, 159, 158, 160, 160, 160, 160, 160,
2102 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
2103 160, 160, 160, 160, 160, 160, 160, 161, 163, 162,
2104 162, 165, 164, 166, 164, 167, 164, 168, 164, 164,
2105 169, 164, 170, 164, 164, 171, 172, 171, 171, 173,
2106 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
2107 173, 173, 173, 173, 173, 173, 173, 173, 174, 174,
2108 175, 175, 176, 176, 176, 176, 177, 177, 177, 179,
2109 178, 180, 178, 181, 181, 181, 182, 182, 183, 183,
2110 183, 183, 184, 184, 184, 184, 184, 185, 186, 185,
2111 187, 185, 188, 185, 189, 189, 189, 190, 190, 190,
2112 190, 190, 190, 190, 190, 190, 190, 191, 192, 192,
2113 192, 192, 192, 193, 193, 193, 194, 194, 194, 194,
2114 195, 196, 196, 196, 197, 198, 197, 199, 200, 199,
2115 201, 201, 202, 201, 203, 203, 204, 205, 204, 206,
2116 207, 208, 209, 209, 209, 209, 209, 209, 209, 209,
2117 209, 210, 210, 211, 211, 211, 211, 211, 211, 211,
2118 211, 212, 212, 212, 213, 213, 214, 214, 214, 216,
2119 217, 215, 219, 218, 221, 222, 220, 224, 223, 225,
2120 225, 225, 225, 226, 226, 228, 227, 229, 230, 227,
2121 232, 231, 234, 233, 235, 235, 236, 236, 237, 238,
2122 240, 239, 241, 242, 241, 243, 243, 244, 243, 246,
2123 247, 245, 245, 248, 248, 249, 249, 251, 250, 252,
2124 252, 252, 253, 254, 254, 255, 256, 255, 258, 257,
2125 259, 257, 260, 261, 260, 262, 263, 262, 264, 264,
2126 264, 265, 265, 266, 266, 267, 268, 267, 267, 269,
2127 269, 270, 270, 271, 271, 272, 273, 273, 275, 274,
2128 277, 276, 278, 278, 279, 279, 280, 280, 280, 280,
2129 280, 280, 280, 280, 280, 281, 281, 281, 281, 281,
2130 281, 281, 281, 281, 281, 282, 282, 283, 283, 283,
2131 283, 283, 283, 283, 284, 284, 285, 285, 286, 286,
2132 286, 287, 288, 288, 288, 289, 288, 291, 290, 292,
2133 290, 293, 290, 294, 295, 294, 296, 296, 297, 297,
2134 297, 297, 297, 297, 297, 297, 297, 298, 298, 299,
2135 299, 299, 299, 299, 299, 299, 300, 300, 300, 301,
2136 301, 302, 302, 303, 303, 303, 303, 303, 304, 304,
2137 305, 305, 305, 305, 305, 305, 305, 306, 306, 306,
2138 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
2139 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
2140 306, 306, 306, 306, 306, 306, 306, 306, 306, 306,
2141 306, 307, 308, 307, 309, 309, 310, 311, 310, 312,
2142 313, 312, 314, 312, 312, 315, 312, 316, 317, 312,
2143 318, 318, 318, 318, 319, 319, 320, 320, 320, 320,
2144 320, 320, 320, 322, 321, 323, 324, 325, 321, 326,
2145 321, 327, 321, 328, 329, 321, 330, 321, 331, 332,
2146 333, 321, 321, 334, 321, 335, 321, 336, 321, 337,
2147 321, 338, 321, 339, 321, 340, 321, 341, 321, 342,
2148 321, 343, 321, 321, 321, 321, 344, 344, 344, 344,
2149 344, 345, 345, 345, 345, 345, 345, 345, 345, 345,
2150 345, 345, 345, 345, 345, 345, 345, 345, 345, 345,
2151 345, 345, 345, 345, 345, 345, 345, 345, 345, 345,
2152 345, 345, 345, 345, 345, 345, 345, 345, 345, 345,
2153 345, 346, 346, 347, 347, 348, 348, 349, 349, 349,
2154 349, 349, 349, 349, 349, 349, 349, 349, 349, 349,
2155 349, 349, 349, 349, 349, 349, 349, 349, 349, 349,
2156 349, 349, 349, 349, 349, 349, 349, 349, 349, 349,
2157 349, 349, 349, 349, 349, 349, 349, 349, 349, 349,
2158 349, 349, 349, 349, 349, 349, 349, 350, 351, 352,
2162 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
2163 static const yytype_uint8 yyr2[] =
2165 0, 2, 0, 0, 3, 1, 3, 1, 1, 1,
2166 1, 3, 4, 1, 2, 3, 2, 2, 2, 3,
2167 2, 1, 2, 4, 4, 4, 1, 5, 0, 6,
2168 4, 0, 7, 0, 10, 0, 7, 0, 10, 4,
2169 0, 7, 0, 10, 4, 0, 0, 3, 3, 1,
2170 3, 1, 1, 3, 4, 2, 2, 1, 2, 3,
2171 3, 2, 3, 3, 2, 5, 1, 1, 0, 2,
2172 1, 3, 1, 2, 2, 2, 1, 1, 1, 0,
2173 6, 0, 5, 0, 1, 3, 1, 3, 1, 1,
2174 1, 1, 1, 1, 1, 1, 1, 1, 0, 3,
2175 0, 4, 0, 4, 1, 1, 1, 1, 1, 1,
2176 1, 1, 1, 1, 1, 1, 1, 2, 3, 3,
2177 2, 3, 2, 1, 5, 3, 4, 4, 4, 3,
2178 1, 4, 4, 3, 3, 0, 5, 1, 0, 4,
2179 2, 2, 0, 3, 1, 1, 0, 0, 3, 4,
2180 4, 2, 3, 4, 5, 3, 4, 6, 7, 5,
2181 6, 2, 3, 2, 3, 3, 1, 2, 2, 2,
2182 3, 1, 2, 2, 3, 3, 1, 2, 3, 0,
2183 0, 8, 0, 3, 0, 0, 7, 0, 3, 0,
2184 2, 2, 1, 1, 3, 0, 5, 0, 0, 9,
2185 0, 3, 0, 5, 0, 3, 0, 3, 4, 1,
2186 0, 5, 0, 0, 2, 1, 1, 0, 4, 0,
2187 0, 5, 1, 1, 2, 0, 1, 0, 3, 4,
2188 4, 3, 2, 0, 2, 0, 0, 4, 0, 2,
2189 0, 3, 2, 0, 5, 2, 0, 5, 1, 1,
2190 1, 1, 1, 0, 1, 0, 0, 5, 1, 1,
2191 2, 1, 2, 0, 1, 1, 0, 1, 0, 2,
2192 0, 5, 0, 1, 0, 1, 1, 1, 1, 1,
2193 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2194 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
2195 3, 2, 2, 3, 1, 2, 1, 2, 1, 2,
2196 2, 1, 1, 1, 1, 0, 3, 0, 5, 0,
2197 5, 0, 5, 1, 0, 4, 1, 1, 1, 1,
2198 1, 1, 1, 1, 1, 1, 1, 3, 3, 1,
2199 1, 1, 1, 1, 1, 1, 1, 2, 1, 1,
2200 2, 1, 1, 1, 2, 2, 2, 2, 1, 1,
2201 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2202 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2203 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2204 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2205 1, 1, 0, 6, 0, 1, 0, 0, 4, 1,
2206 0, 3, 0, 3, 1, 0, 4, 0, 0, 9,
2207 1, 1, 1, 1, 1, 2, 1, 1, 1, 1,
2208 1, 1, 1, 0, 7, 0, 0, 0, 9, 0,
2209 5, 0, 5, 0, 0, 10, 0, 7, 0, 0,
2210 0, 9, 6, 0, 7, 0, 7, 0, 7, 0,
2211 7, 0, 7, 0, 7, 0, 7, 0, 7, 0,
2212 9, 0, 9, 4, 4, 7, 2, 2, 3, 3,
2213 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2214 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2215 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2216 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2217 1, 0, 2, 0, 2, 1, 1, 1, 1, 1,
2218 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2219 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2220 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2221 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2222 1, 1, 1, 1, 1, 1, 1, 3, 3, 3,
2226 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
2227 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
2228 means the default is an error. */
2229 static const yytype_uint16 yydefact[] =
2231 2, 3, 1, 0, 0, 0, 0, 364, 383, 384,
2232 385, 389, 390, 391, 392, 393, 394, 395, 396, 397,
2233 398, 386, 387, 388, 367, 368, 369, 370, 362, 363,
2234 81, 0, 13, 311, 0, 400, 399, 0, 0, 0,
2235 315, 130, 0, 0, 365, 304, 0, 235, 0, 366,
2236 360, 361, 381, 382, 371, 372, 373, 374, 375, 376,
2237 377, 378, 379, 380, 0, 0, 0, 0, 0, 0,
2238 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2239 0, 0, 0, 0, 0, 26, 4, 9, 8, 238,
2240 238, 10, 0, 7, 0, 0, 0, 0, 0, 0,
2241 176, 5, 0, 0, 297, 306, 0, 308, 313, 314,
2242 0, 312, 353, 359, 358, 21, 364, 362, 363, 365,
2243 366, 360, 361, 295, 296, 285, 286, 287, 288, 289,
2244 290, 291, 292, 293, 294, 521, 35, 283, 284, 355,
2245 31, 354, 0, 0, 364, 0, 0, 365, 366, 0,
2246 0, 521, 319, 0, 79, 357, 521, 40, 356, 0,
2247 304, 0, 0, 0, 301, 0, 298, 135, 0, 339,
2248 343, 342, 341, 340, 344, 345, 521, 28, 329, 332,
2249 331, 0, 0, 328, 330, 333, 334, 335, 0, 336,
2250 521, 317, 305, 235, 0, 299, 0, 0, 521, 321,
2251 0, 435, 439, 441, 0, 0, 448, 0, 0, 0,
2252 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2253 0, 352, 351, 346, 0, 235, 0, 240, 348, 349,
2254 0, 0, 0, 0, 0, 238, 0, 0, 0, 193,
2255 521, 20, 17, 18, 16, 14, 278, 280, 279, 0,
2256 276, 251, 252, 277, 281, 282, 0, 177, 182, 151,
2257 187, 235, 225, 0, 266, 265, 0, 302, 307, 309,
2258 310, 0, 0, 22, 0, 0, 68, 0, 68, 364,
2259 362, 363, 365, 366, 360, 361, 178, 0, 0, 0,
2260 83, 0, 0, 0, 68, 0, 179, 303, 0, 134,
2261 142, 316, 0, 0, 0, 0, 133, 0, 0, 0,
2262 2, 300, 231, 236, 0, 0, 0, 0, 278, 280,
2263 279, 276, 277, 281, 282, 0, 0, 0, 0, 0,
2264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2265 0, 0, 0, 0, 0, 0, 11, 234, 239, 265,
2266 0, 347, 350, 6, 129, 0, 223, 0, 0, 0,
2267 0, 19, 15, 0, 0, 495, 496, 497, 498, 499,
2268 500, 501, 502, 508, 509, 503, 504, 505, 506, 507,
2269 510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
2270 520, 0, 489, 490, 488, 481, 484, 485, 487, 482,
2271 483, 494, 491, 492, 493, 0, 486, 184, 480, 175,
2272 152, 0, 189, 189, 0, 227, 232, 226, 261, 0,
2273 0, 245, 267, 272, 195, 197, 161, 338, 329, 332,
2274 331, 328, 330, 333, 334, 0, 174, 155, 200, 0,
2275 337, 0, 553, 536, 564, 566, 565, 557, 570, 548,
2276 544, 545, 543, 546, 547, 561, 539, 538, 558, 559,
2277 549, 527, 550, 551, 552, 554, 556, 537, 560, 531,
2278 567, 568, 571, 555, 569, 562, 495, 496, 575, 574,
2279 573, 576, 563, 535, 521, 521, 572, 540, 541, 525,
2280 521, 521, 39, 533, 521, 534, 542, 532, 522, 526,
2281 528, 530, 529, 93, 95, 94, 96, 92, 327, 326,
2282 0, 323, 0, 0, 0, 0, 23, 0, 0, 84,
2283 86, 83, 44, 0, 0, 213, 0, 156, 0, 144,
2284 145, 0, 137, 0, 146, 146, 30, 2, 132, 131,
2285 24, 0, 230, 3, 238, 149, 25, 0, 433, 0,
2286 0, 0, 443, 446, 0, 0, 453, 457, 461, 465,
2287 455, 459, 463, 467, 469, 471, 473, 474, 0, 241,
2288 127, 224, 128, 126, 12, 194, 0, 0, 476, 477,
2289 0, 162, 192, 0, 0, 183, 188, 229, 0, 246,
2290 262, 269, 0, 213, 0, 153, 209, 0, 204, 202,
2291 0, 0, 0, 0, 0, 0, 37, 324, 0, 0,
2292 0, 69, 70, 72, 45, 33, 45, 320, 82, 83,
2293 0, 0, 42, 45, 0, 219, 154, 0, 136, 138,
2294 146, 141, 147, 140, 3, 318, 27, 237, 322, 0,
2295 436, 440, 442, 0, 0, 449, 0, 0, 0, 0,
2296 0, 0, 0, 0, 0, 0, 0, 404, 478, 479,
2297 185, 191, 190, 424, 427, 429, 428, 430, 431, 426,
2298 420, 422, 421, 423, 415, 402, 412, 410, 432, 228,
2299 401, 0, 414, 409, 255, 270, 0, 0, 210, 0,
2300 201, 213, 0, 159, 580, 581, 579, 577, 578, 68,
2301 0, 75, 73, 74, 0, 46, 68, 46, 85, 278,
2302 276, 277, 102, 104, 105, 106, 97, 88, 87, 98,
2303 89, 91, 90, 80, 68, 46, 180, 222, 215, 214,
2304 216, 0, 0, 160, 142, 143, 225, 29, 0, 0,
2305 444, 0, 0, 452, 0, 0, 0, 0, 0, 0,
2306 0, 0, 0, 0, 405, 0, 213, 0, 0, 0,
2307 0, 417, 425, 256, 247, 258, 274, 196, 0, 213,
2308 206, 0, 0, 157, 0, 325, 71, 76, 77, 78,
2309 36, 0, 0, 0, 32, 0, 115, 116, 107, 108,
2310 109, 110, 111, 112, 113, 114, 100, 0, 0, 41,
2311 189, 217, 263, 158, 139, 148, 434, 437, 0, 447,
2312 450, 454, 458, 462, 466, 456, 460, 464, 468, 0,
2313 0, 475, 0, 0, 406, 413, 411, 0, 213, 275,
2314 0, 198, 0, 0, 205, 521, 203, 45, 0, 364,
2315 362, 363, 57, 0, 0, 365, 0, 171, 366, 360,
2316 361, 381, 382, 371, 372, 373, 374, 375, 376, 377,
2317 378, 379, 380, 0, 67, 0, 238, 47, 238, 52,
2318 51, 0, 0, 0, 0, 0, 166, 49, 0, 66,
2319 48, 45, 0, 0, 99, 45, 181, 219, 249, 250,
2320 248, 220, 263, 266, 264, 0, 523, 0, 0, 0,
2321 186, 416, 404, 0, 0, 271, 213, 211, 206, 0,
2322 46, 0, 0, 297, 0, 0, 0, 56, 55, 0,
2323 0, 0, 0, 172, 0, 167, 0, 173, 521, 163,
2324 0, 0, 238, 0, 0, 64, 61, 168, 58, 169,
2325 46, 103, 101, 46, 218, 225, 259, 0, 263, 242,
2326 438, 0, 451, 470, 472, 407, 0, 0, 253, 0,
2327 207, 208, 38, 165, 170, 123, 521, 523, 120, 0,
2328 0, 122, 0, 0, 0, 0, 117, 62, 59, 164,
2329 0, 0, 0, 0, 53, 50, 0, 63, 60, 34,
2330 43, 221, 243, 260, 445, 524, 0, 403, 418, 254,
2331 257, 199, 0, 0, 119, 118, 121, 150, 0, 54,
2332 255, 408, 0, 523, 125, 65, 244, 0, 0, 419,
2336 /* YYDEFGOTO[NTERM-NUM]. */
2337 static const yytype_int16 yydefgoto[] =
2339 -1, 1, 3, 86, 87, 88, 303, 89, 278, 706,
2340 276, 699, 294, 724, 705, 781, 867, 513, 611, 612,
2341 782, 90, 291, 153, 518, 519, 716, 508, 718, 797,
2342 883, 785, 719, 796, 917, 918, 968, 91, 92, 93,
2343 94, 300, 531, 734, 532, 533, 534, 631, 736, 95,
2344 872, 96, 97, 256, 873, 874, 98, 99, 100, 525,
2345 800, 257, 412, 258, 580, 756, 259, 413, 585, 241,
2346 260, 593, 594, 906, 876, 598, 438, 691, 690, 834,
2347 770, 595, 596, 769, 624, 625, 729, 887, 730, 731,
2348 945, 355, 416, 417, 588, 101, 261, 224, 196, 544,
2349 225, 226, 350, 891, 1010, 262, 684, 892, 263, 1000,
2350 764, 828, 947, 419, 893, 264, 421, 422, 423, 591,
2351 766, 592, 830, 439, 137, 138, 912, 103, 104, 105,
2352 106, 107, 168, 108, 308, 289, 317, 510, 700, 511,
2353 678, 109, 150, 227, 228, 229, 111, 112, 113, 114,
2354 679, 758, 755, 902, 996, 680, 760, 759, 757, 827,
2355 1012, 681, 682, 683, 115, 639, 326, 739, 895, 327,
2356 328, 643, 808, 644, 331, 742, 897, 647, 651, 648,
2357 652, 649, 653, 650, 654, 655, 656, 407, 497, 274,
2358 951, 498, 499, 500, 501, 502
2361 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2363 #define YYPACT_NINF -917
2364 static const yytype_int16 yypact[] =
2366 -917, 52, -917, 5135, 5259, 6825, 6259, 51, -917, -917,
2367 -917, -917, -917, -917, -917, -917, -917, -917, -917, -917,
2368 -917, -917, -917, -917, -917, -917, -917, -917, -14, 98,
2369 6825, 5274, -917, -917, 5714, -917, -917, 5823, 6259, -63,
2370 -917, -917, 81, 264, 170, 55, 5932, -917, -44, 181,
2371 108, 132, -917, -917, -917, -917, -917, -917, -917, -917,
2372 -917, -917, -917, -917, 38, 49, 53, 54, 64, 86,
2373 113, 122, 156, 158, 171, 172, 196, 198, 201, 209,
2374 215, 216, 219, 220, 224, -917, -917, -917, -917, 10,
2375 10, -917, 6041, -917, 5496, 134, 134, 134, 134, 134,
2376 -917, -917, 6615, 6259, -917, 15, 6368, 151, 188, -917,
2377 147, -917, -917, -917, -917, -917, 191, 206, 272, 387,
2378 395, 412, 413, -917, -917, -917, -917, -917, -917, -917,
2379 -917, -917, -917, -917, -917, -917, 36, -917, -917, -917,
2380 229, -917, 343, 343, -22, 343, 343, 0, 22, 289,
2381 282, -917, -917, 240, -917, -917, -917, 239, -917, 5823,
2382 332, 6150, 249, 6259, -917, 296, -917, 251, 408, -917,
2383 -917, -917, -917, -917, -917, -917, -917, -917, -22, 300,
2384 301, 408, 408, 0, 22, 303, 310, 188, 271, -917,
2385 -917, -917, -917, -917, 4932, -917, 138, 5714, -917, -917,
2386 6850, -917, -917, -917, 6850, 6850, -917, 6850, 6850, 6850,
2387 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850, 6850,
2388 6850, -917, -917, -917, 278, -917, 4819, -917, 19, -917,
2389 280, 281, 848, 848, 4819, 10, 134, 134, 6720, -917,
2390 -917, -917, -917, -917, -917, -917, 325, 300, 301, 6900,
2391 326, -917, -917, 327, 303, 310, 6795, -917, -917, -917,
2392 -917, -917, 279, 4456, 277, -58, 330, -917, -917, -917,
2393 -917, 408, 4606, -917, 1000, 5605, 284, 5605, 284, -917,
2394 -917, -917, -917, -917, -917, -917, -917, 408, 1154, 5605,
2395 6850, 295, 1308, 5605, 284, 6259, -917, -917, 4588, -917,
2396 6585, -917, 1462, 302, 304, 318, -917, 1616, 5605, 166,
2397 -917, -917, -917, -917, 308, 6850, 1770, 5605, -917, -917,
2398 -917, -917, -917, -917, -917, 311, 6850, 6850, 6850, 314,
2399 324, 6850, 335, 336, 338, 339, 340, 362, 368, 376,
2400 377, 378, 381, 391, 397, 393, -917, 396, -917, -917,
2401 4819, -917, -917, -917, -917, 405, -917, 6850, 407, 414,
2402 422, -917, -917, -58, 1924, 389, 404, -917, -917, -917,
2403 -917, -917, -917, -917, -917, -917, -917, -917, -917, -917,
2404 -917, -917, -917, -917, -917, -917, -917, -917, -917, -917,
2405 -917, 423, -917, -917, -917, -917, -917, -917, -917, -917,
2406 -917, -917, -917, -917, -917, 283, -917, -917, -917, -917,
2407 -917, 464, 40, 40, 184, -917, -917, -917, -917, 424,
2408 4819, -917, -917, -917, -917, -917, -917, -917, 28, -12,
2409 5, 139, 175, 123, 125, 6850, -917, -917, -917, 426,
2410 -917, 469, -917, -917, -917, -917, -917, -917, -917, -917,
2411 -917, -917, -917, -917, -917, -917, -917, -917, -917, -917,
2412 -917, -917, -917, -917, -917, -917, -917, -917, -917, -917,
2413 -917, -917, -917, -917, -917, -917, -917, -917, -917, -917,
2414 -917, -917, -917, -917, -917, -917, -917, -917, -917, -917,
2415 -917, -917, -917, -917, -917, -917, -917, -917, -917, -917,
2416 -917, -917, -917, -917, -917, -917, -917, -917, -917, -917,
2417 425, 427, 351, 429, 428, 433, -917, 431, 434, 432,
2418 430, 6850, -917, 439, 443, 445, 6850, -917, 488, -917,
2419 -917, 444, 447, 533, 6850, 6850, -917, -917, -917, -917,
2420 -917, 448, -917, 453, 15, -917, -917, 452, -917, 451,
2421 450, 459, -917, -917, 454, 6477, -917, -917, -917, -917,
2422 -917, -917, -917, -917, -917, -917, -917, -917, 6850, -917,
2423 -917, -917, -917, -917, -917, -917, 449, 455, -917, -917,
2424 462, -917, -917, 585, 586, -917, -917, -917, 4768, -917,
2425 -917, 458, 461, 445, 5605, -917, -917, 470, 463, -917,
2426 4663, 2078, 2232, 2386, 2540, 2694, -917, -917, 408, 408,
2427 408, -917, 465, -917, -917, -917, -917, -917, -917, 6850,
2428 4531, 468, -917, -917, 472, 41, -917, 4693, -917, -917,
2429 6850, -917, -917, -917, 474, -917, -917, -917, -917, 6259,
2430 -917, -917, -917, 6477, 6477, -917, 482, 6477, 6477, 6477,
2431 6477, 6477, 6477, 6477, 6477, 6477, 6477, 477, -917, -917,
2432 -917, -917, -917, -917, -917, -917, -917, -917, -917, -917,
2433 -917, -917, -917, -917, -917, -917, -917, -917, -917, -917,
2434 -917, 481, 611, -917, 144, -917, 486, 483, -917, 408,
2435 -917, 445, 6850, -917, -917, -917, -917, -917, -917, 284,
2436 5605, -917, -917, -917, 351, 43, 284, 59, -917, -22,
2437 0, 22, -917, -917, -917, -917, 364, -917, -917, -917,
2438 -917, 188, -917, -917, 284, 82, -917, -917, -917, -917,
2439 485, 6259, 6850, -917, 6585, -917, 279, -917, 489, 6259,
2440 -917, 493, 6477, -917, 494, 495, 496, 497, 498, 499,
2441 500, 501, 502, 503, -917, 504, 445, 4803, 4768, 446,
2442 446, -917, -917, -917, -917, -917, 4531, -917, 506, 445,
2443 505, 507, 510, -917, 487, -917, -917, -917, -917, -917,
2444 -917, 3772, 508, 511, -917, 4531, -917, -917, -917, -917,
2445 -917, -917, -917, -917, -917, -917, -917, 4531, 513, -917,
2446 40, -917, 5377, -917, -917, -917, -917, -917, 509, -917,
2447 -917, -917, -917, -917, -917, -917, -917, -917, -917, 627,
2448 628, -917, 516, 517, -917, -917, -917, 6259, 445, -917,
2449 512, -917, 518, 408, -917, -917, -917, -917, 4294, 28,
2450 -12, 5, -917, 3904, 4424, 139, 520, 607, 175, 123,
2451 125, 523, 524, 525, 526, 528, 529, 530, 532, 534,
2452 535, 538, 539, 540, -917, 6850, 10, -917, 10, -917,
2453 -917, 4034, 134, 134, 6850, 134, -917, -917, 6690, -917,
2454 -917, -917, 542, 4531, -917, -917, -917, 41, -917, -917,
2455 -917, -917, 390, 277, -917, 544, -917, 545, 546, 547,
2456 -917, -917, 543, 536, 550, -917, 445, -917, 505, 2848,
2457 97, 6850, 6850, 289, 4987, 6825, 4987, -917, -917, 243,
2458 134, 134, 6720, -917, 6850, -917, 4164, -917, -917, -917,
2459 553, 555, 10, 134, 134, -917, -917, -917, -917, -917,
2460 102, -917, -917, 107, -917, 279, -917, 554, 5377, -917,
2461 -917, 3310, -917, -917, -917, 557, 558, 556, 625, 562,
2462 -917, -917, -917, -917, -917, -917, -917, -917, -917, 200,
2463 200, -917, 200, 5008, 6850, 5008, -917, -917, -917, -917,
2464 4294, 563, 6850, 3002, -917, -917, 559, -917, -917, -917,
2465 -917, -917, -917, -917, -917, -917, 4768, -917, -917, -917,
2466 -917, -917, 3156, 3464, -917, -917, -917, -917, 566, -917,
2467 144, -917, 4803, -917, -917, -917, -917, 565, 3618, -917,
2471 /* YYPGOTO[NTERM-NUM]. */
2472 static const yytype_int16 yypgoto[] =
2474 -917, -270, -917, -917, -917, -917, -917, -72, -917, -917,
2475 -917, -917, -917, -917, -587, -917, -917, -273, -2, -917,
2476 -917, -84, -917, -917, -476, -917, -917, -541, -660, -917,
2477 -917, -917, -917, -917, -917, -227, -680, -78, -917, -77,
2478 -505, -917, -29, -917, -917, -917, -917, -466, -917, -917,
2479 -917, -27, -917, -917, -750, -917, -917, -70, 435, -917,
2480 -917, -146, -917, -917, -917, -917, -250, -917, -399, -81,
2481 -917, -917, -917, -917, -261, -917, -917, -917, -917, -202,
2482 -125, -501, -917, -917, -532, -917, -175, -917, -917, -917,
2483 -917, 480, -690, -917, -917, -71, -182, -83, 2, -917,
2484 173, -917, -917, -837, -917, -177, -917, -917, -917, -917,
2485 -296, -917, -917, -917, -917, -761, -178, -661, -917, -917,
2486 -917, -917, -917, -4, -917, -917, 1, -35, 90, -111,
2487 613, 612, -917, -33, -917, -917, -917, -246, -917, -917,
2488 131, -10, 31, -86, -917, 514, -180, -291, 8, -232,
2489 -726, -917, -181, -917, -917, -727, -917, -917, -917, -917,
2490 -917, -917, -917, -630, -59, -917, -917, -917, -917, -917,
2491 -917, -917, -917, -917, -917, -917, -917, -917, -917, -917,
2492 -917, -917, -917, -917, -917, -917, -917, -917, 519, -98,
2493 -916, -917, -877, -917, -917, -917
2496 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
2497 positive, shift that token. If negative, reduce the rule which
2498 number is the opposite. If zero, do what YYDEFACT says.
2499 If YYTABLE_NINF, syntax error. */
2500 #define YYTABLE_NINF -406
2501 static const yytype_int16 yytable[] =
2503 136, 140, 163, 286, 102, 515, 410, 230, 233, 535,
2504 187, 437, 139, 141, 586, 242, 243, 244, 245, 268,
2505 232, 524, 235, 765, 237, 626, 154, 157, 630, 707,
2506 823, 514, 824, 189, 110, 162, 725, 527, 155, 158,
2507 543, 894, 496, 517, 348, 621, 805, 523, 777, 778,
2508 779, 1003, 2, 288, 221, 946, 496, 359, 292, 221,
2509 496, 686, 541, 221, 777, 778, 779, 236, 165, 633,
2510 496, 547, -339, 177, 995, 496, 167, 424, 302, 717,
2511 -343, 425, -343, 582, 496, 583, 418, 777, 778, 779,
2512 169, 197, 307, 920, -341, 238, 149, 1018, 265, -342,
2513 316, 727, 777, 778, 779, 192, 829, 777, 778, 779,
2514 409, 993, 777, 778, 779, 193, -340, 152, 170, 171,
2515 -343, 933, -339, -280, 163, 882, 995, 164, 166, 825,
2516 826, 894, 496, 266, 728, 187, 195, 884, 172, 191,
2517 -279, 995, 364, 708, -233, -339, 357, 357, 187, 187,
2518 139, 141, 360, 155, 158, 361, 362, 222, 189, 772,
2519 223, 199, 222, -278, 735, 223, 222, 152, 569, 351,
2520 314, 189, 189, 200, 188, 275, 981, 420, 173, 174,
2521 175, 780, 234, 584, 201, -339, 151, 894, 202, 203,
2522 152, 773, -342, 267, 33, 309, 325, 784, 315, 204,
2523 329, 330, -344, 332, 333, 334, 335, 336, 337, 338,
2524 339, 340, 341, 342, 343, 344, 345, -344, 176, -345,
2525 799, 205, 349, 942, 822, 717, -345, 347, 356, 356,
2526 349, 803, -342, -341, 363, 962, 971, 832, 187, 187,
2527 989, 272, -344, 590, 717, 990, 973, 974, 206, 164,
2528 910, 195, 363, 297, 187, 991, 717, 207, -281, 349,
2529 -282, 189, 189, 414, -341, 187, -345, 634, 239, -340,
2530 1011, 240, 312, 178, -276, -340, 871, 189, 191, 763,
2531 313, 273, 271, 975, 311, 1017, 520, 411, 189, 1004,
2532 1005, 208, 1006, 209, 940, 971, 904, -268, 943, 301,
2533 542, 179, 180, 441, -341, 190, 210, 211, 313, 191,
2534 -277, 363, 304, 305, 199, -340, 198, 181, 587, 182,
2535 199, 183, 549, 550, 551, -278, 313, 554, -278, 528,
2536 -278, 212, -278, 213, 965, 249, 214, 966, 919, 693,
2537 -280, 967, 717, -280, 215, -280, 349, -280, 687, 765,
2538 216, 217, 279, 571, 218, 219, 608, 609, 610, 220,
2539 178, 184, 185, 186, 929, 509, 733, 509, 277, 496,
2540 496, 496, 496, 496, 959, 646, 287, 290, 293, 509,
2541 280, 281, 192, 509, 296, 311, 601, 602, 179, 180,
2542 298, 299, 603, 604, -343, -342, 605, -344, 509, 318,
2543 282, 886, 427, 440, -345, 306, -279, 509, 183, -279,
2544 963, -279, 346, -279, 353, 354, 349, 178, 440, -339,
2545 -341, -340, 415, 979, 426, 512, 774, 319, 320, 440,
2546 -268, 597, 521, 783, 221, 786, 787, 579, 538, 537,
2547 283, 284, 285, 535, 545, 179, 180, 321, 184, 185,
2548 186, 798, 539, 548, 775, 178, 552, 664, 665, 666,
2549 667, 668, 669, 740, 741, 183, 553, 744, 745, 746,
2550 747, 748, 749, 750, 751, 752, 753, 555, 556, 187,
2551 557, 558, 559, 179, 180, 888, 889, 322, 323, 324,
2552 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2553 133, 134, 189, 183, 560, 184, 185, 186, 788, 789,
2554 561, 790, 791, 792, 793, 794, 795, 520, 562, 563,
2555 564, -276, 597, 565, -276, 890, -276, 566, -276, -277,
2556 632, 632, -277, 567, -277, 568, -277, 222, 313, 570,
2557 223, 572, 576, 184, 185, 186, -281, -282, 573, -281,
2558 -282, -281, -282, -281, -282, 187, 574, 577, 581, 578,
2559 589, 599, 810, 600, 657, 606, 614, 187, 615, 607,
2560 616, 617, 618, 620, 619, 187, 187, 187, 189, 622,
2561 623, -212, 627, 925, 628, 39, 641, 721, 635, 629,
2562 189, 636, 638, 640, 187, 642, 645, 660, 189, 189,
2563 189, 661, 662, 658, 689, 688, 723, 704, 726, 659,
2564 722, -273, 737, 937, 685, 520, 720, 189, 743, 754,
2565 761, 762, 767, 768, 837, 806, 632, 801, 939, 809,
2566 811, 812, 813, 814, 815, 816, 817, 818, 898, 899,
2567 821, 831, 835, 613, 819, 820, 836, 833, 881, 880,
2568 885, 896, 900, 901, 907, 926, 187, 927, -295, -296,
2569 -285, -286, 964, -287, -288, -289, 905, -290, 999, -291,
2570 -292, 187, 939, -293, -294, 928, 957, 496, 941, 189,
2571 950, 952, 953, 954, 509, 955, 958, 984, 597, 985,
2572 992, 998, 976, 1009, 189, -405, 997, 868, 1001, 1007,
2573 1015, 1019, 776, 869, 870, 804, 960, 436, 908, 866,
2574 877, 875, 944, 358, 1016, 949, 903, 637, 269, 496,
2575 270, 956, 879, 0, 187, 187, 187, 187, 597, 738,
2576 0, 440, 939, 721, 0, 0, 0, 909, 0, 701,
2577 702, 703, 352, 0, 0, 0, 0, 189, 189, 189,
2578 189, 496, 721, 0, 0, 0, 722, 0, 440, 0,
2579 0, 0, 720, 0, 721, 0, 0, 286, 408, 0,
2580 496, 496, 0, 921, 0, 722, 0, 0, 0, 0,
2581 0, 720, 878, 930, 0, 931, 496, 722, 0, 0,
2582 509, 935, 936, 720, 938, 0, 0, 0, 349, 932,
2583 187, 934, 0, 0, 0, 0, 948, 0, 0, 163,
2584 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2585 771, 802, 0, 189, 0, 0, 0, 0, 0, 807,
2586 983, 0, 0, 0, 0, 613, 0, 0, 0, 977,
2587 978, 0, 0, 0, 922, 0, 0, 0, 0, 986,
2588 721, 0, 987, 988, 0, 0, 0, 318, 0, 0,
2589 0, 597, 0, 0, 0, 0, 0, 0, 1002, 0,
2590 0, 0, 922, 722, 265, 0, 0, 0, 0, 720,
2591 0, 0, 0, 0, 0, 319, 320, 0, 349, 0,
2592 0, 0, 221, 0, 0, 0, 0, 0, 0, 0,
2593 0, 0, 0, 0, 0, 321, 0, 597, 363, 0,
2594 969, 970, 972, 0, 0, 0, 0, 0, 363, 0,
2595 597, 0, 139, 141, 158, 0, 0, 982, 913, 0,
2596 0, 0, 0, 0, 164, 0, 0, 0, 0, 0,
2597 0, 0, 0, 0, 349, 322, 323, 324, 123, 124,
2598 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2599 0, 0, 0, 187, 771, 0, 0, 0, 0, 969,
2600 970, 972, 0, 0, 0, 0, 0, 0, 363, 187,
2601 0, 0, 0, 0, 0, 0, 189, 0, 0, 0,
2602 0, 0, 0, 0, 0, 222, 0, 0, 223, 0,
2603 0, 0, 189, 442, 443, 444, 445, 446, 447, 448,
2604 449, 450, 451, 452, 453, 454, 455, 8, 9, 10,
2605 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2606 21, 22, 23, 24, 25, 26, 27, 456, 457, 458,
2607 459, 460, 461, 462, 463, 464, 465, 35, 36, 0,
2608 466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
2609 475, 0, 476, 477, 0, 478, 479, 480, 481, 367,
2610 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
2611 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
2612 388, 389, 390, 482, 483, 484, 485, 486, 487, 488,
2613 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
2614 62, 63, 0, 0, 0, 0, 0, 0, 0, 0,
2615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2616 0, 0, 0, 0, 489, 490, 0, 491, 492, 392,
2617 393, 493, 394, 395, 396, 397, 398, 399, 400, 401,
2618 402, 403, 404, 494, 0, 406, 495, 442, 443, 444,
2619 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
2620 455, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2621 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2622 27, 456, 457, 458, 459, 460, 461, 462, 463, 464,
2623 465, 35, 36, 0, 466, 0, 467, 468, 469, 470,
2624 471, 472, 473, 474, 475, 0, 476, 477, 0, 478,
2625 479, 480, 481, 367, 368, 369, 370, 371, 372, 373,
2626 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
2627 384, 385, 386, 387, 388, 389, 390, 482, 483, 484,
2628 485, 486, 487, 488, 52, 53, 54, 55, 56, 57,
2629 58, 59, 60, 61, 62, 63, 0, 0, 0, 0,
2630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2631 0, 0, 0, 0, 0, 0, 0, 0, 489, 490,
2632 516, 491, 0, 392, 393, 493, 394, 395, 396, 397,
2633 398, 399, 400, 401, 402, 403, 404, 494, 0, 406,
2634 495, 442, 443, 444, 445, 446, 447, 448, 449, 450,
2635 451, 452, 453, 454, 455, 8, 9, 10, 11, 12,
2636 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
2637 23, 24, 25, 26, 27, 456, 457, 458, 459, 460,
2638 461, 462, 463, 464, 465, 35, 36, 0, 466, 0,
2639 467, 468, 469, 470, 471, 472, 473, 474, 475, 0,
2640 476, 477, 0, 478, 479, 480, 481, 367, 368, 369,
2641 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
2642 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
2643 390, 482, 483, 484, 485, 486, 487, 488, 52, 53,
2644 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
2645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2647 0, 0, 489, 490, 0, 491, 522, 392, 393, 493,
2648 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
2649 404, 494, 0, 406, 495, 442, 443, 444, 445, 446,
2650 447, 448, 449, 450, 451, 452, 453, 454, 455, 8,
2651 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2652 19, 20, 21, 22, 23, 24, 25, 26, 27, 456,
2653 457, 458, 459, 460, 461, 462, 463, 464, 465, 35,
2654 36, 0, 466, 0, 467, 468, 469, 470, 471, 472,
2655 473, 474, 475, 0, 476, 477, 0, 478, 479, 480,
2656 481, 367, 368, 369, 370, 371, 372, 373, 374, 375,
2657 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
2658 386, 387, 388, 389, 390, 482, 483, 484, 485, 486,
2659 487, 488, 52, 53, 54, 55, 56, 57, 58, 59,
2660 60, 61, 62, 63, 0, 0, 0, 0, 0, 0,
2661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2662 0, 0, 0, 0, 0, 0, 489, 490, 0, 491,
2663 536, 392, 393, 493, 394, 395, 396, 397, 398, 399,
2664 400, 401, 402, 403, 404, 494, 0, 406, 495, 442,
2665 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
2666 453, 454, 455, 8, 9, 10, 11, 12, 13, 14,
2667 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2668 25, 26, 27, 456, 457, 458, 459, 460, 461, 462,
2669 463, 464, 465, 35, 36, 0, 466, 0, 467, 468,
2670 469, 470, 471, 472, 473, 474, 475, 0, 476, 477,
2671 0, 478, 479, 480, 481, 367, 368, 369, 370, 371,
2672 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
2673 382, 383, 384, 385, 386, 387, 388, 389, 390, 482,
2674 483, 484, 485, 486, 487, 488, 52, 53, 54, 55,
2675 56, 57, 58, 59, 60, 61, 62, 63, 0, 0,
2676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2678 489, 490, 540, 491, 0, 392, 393, 493, 394, 395,
2679 396, 397, 398, 399, 400, 401, 402, 403, 404, 494,
2680 0, 406, 495, 442, 443, 444, 445, 446, 447, 448,
2681 449, 450, 451, 452, 453, 454, 455, 8, 9, 10,
2682 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2683 21, 22, 23, 24, 25, 26, 27, 456, 457, 458,
2684 459, 460, 461, 462, 463, 464, 465, 35, 36, 0,
2685 466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
2686 475, 0, 476, 477, 0, 478, 479, 480, 481, 367,
2687 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
2688 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
2689 388, 389, 390, 482, 483, 484, 485, 486, 487, 488,
2690 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
2691 62, 63, 0, 0, 0, 0, 0, 0, 0, 0,
2692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2693 0, 0, 0, 0, 489, 490, 546, 491, 0, 392,
2694 393, 493, 394, 395, 396, 397, 398, 399, 400, 401,
2695 402, 403, 404, 494, 0, 406, 495, 442, 443, 444,
2696 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
2697 455, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2698 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2699 27, 456, 457, 458, 459, 460, 461, 462, 463, 464,
2700 465, 35, 36, 0, 466, 0, 467, 468, 469, 470,
2701 471, 472, 473, 474, 475, 0, 476, 477, 0, 478,
2702 479, 480, 481, 367, 368, 369, 370, 371, 372, 373,
2703 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
2704 384, 385, 386, 387, 388, 389, 390, 482, 483, 484,
2705 485, 486, 487, 488, 52, 53, 54, 55, 56, 57,
2706 58, 59, 60, 61, 62, 63, 0, 0, 0, 0,
2707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2708 0, 0, 0, 0, 0, 0, 0, 0, 489, 490,
2709 0, 491, 575, 392, 393, 493, 394, 395, 396, 397,
2710 398, 399, 400, 401, 402, 403, 404, 494, 0, 406,
2711 495, 442, 443, 444, 445, 446, 447, 448, 449, 450,
2712 451, 452, 453, 454, 455, 8, 9, 10, 11, 12,
2713 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
2714 23, 24, 25, 26, 27, 456, 457, 458, 459, 460,
2715 461, 462, 463, 464, 465, 35, 36, 0, 466, 0,
2716 467, 468, 469, 470, 471, 472, 473, 474, 475, 0,
2717 476, 477, 0, 478, 479, 480, 481, 367, 368, 369,
2718 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
2719 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
2720 390, 482, 483, 484, 485, 486, 487, 488, 52, 53,
2721 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
2722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2724 0, 0, 489, 490, 694, 491, 0, 392, 393, 493,
2725 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
2726 404, 494, 0, 406, 495, 442, 443, 444, 445, 446,
2727 447, 448, 449, 450, 451, 452, 453, 454, 455, 8,
2728 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2729 19, 20, 21, 22, 23, 24, 25, 26, 27, 456,
2730 457, 458, 459, 460, 461, 462, 463, 464, 465, 35,
2731 36, 0, 466, 0, 467, 468, 469, 470, 471, 472,
2732 473, 474, 475, 0, 476, 477, 0, 478, 479, 480,
2733 481, 367, 368, 369, 370, 371, 372, 373, 374, 375,
2734 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
2735 386, 387, 388, 389, 390, 482, 483, 484, 485, 486,
2736 487, 488, 52, 53, 54, 55, 56, 57, 58, 59,
2737 60, 61, 62, 63, 0, 0, 0, 0, 0, 0,
2738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2739 0, 0, 0, 0, 0, 0, 489, 490, 695, 491,
2740 0, 392, 393, 493, 394, 395, 396, 397, 398, 399,
2741 400, 401, 402, 403, 404, 494, 0, 406, 495, 442,
2742 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
2743 453, 454, 455, 8, 9, 10, 11, 12, 13, 14,
2744 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2745 25, 26, 27, 456, 457, 458, 459, 460, 461, 462,
2746 463, 464, 465, 35, 36, 0, 466, 0, 467, 468,
2747 469, 470, 471, 472, 473, 474, 475, 0, 476, 477,
2748 0, 478, 479, 480, 481, 367, 368, 369, 370, 371,
2749 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
2750 382, 383, 384, 385, 386, 387, 388, 389, 390, 482,
2751 483, 484, 485, 486, 487, 488, 52, 53, 54, 55,
2752 56, 57, 58, 59, 60, 61, 62, 63, 0, 0,
2753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2754 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2755 489, 490, 696, 491, 0, 392, 393, 493, 394, 395,
2756 396, 397, 398, 399, 400, 401, 402, 403, 404, 494,
2757 0, 406, 495, 442, 443, 444, 445, 446, 447, 448,
2758 449, 450, 451, 452, 453, 454, 455, 8, 9, 10,
2759 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2760 21, 22, 23, 24, 25, 26, 27, 456, 457, 458,
2761 459, 460, 461, 462, 463, 464, 465, 35, 36, 0,
2762 466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
2763 475, 0, 476, 477, 0, 478, 479, 480, 481, 367,
2764 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
2765 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
2766 388, 389, 390, 482, 483, 484, 485, 486, 487, 488,
2767 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
2768 62, 63, 0, 0, 0, 0, 0, 0, 0, 0,
2769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2770 0, 0, 0, 0, 489, 490, 0, 491, 697, 392,
2771 393, 493, 394, 395, 396, 397, 398, 399, 400, 401,
2772 402, 403, 404, 494, 0, 406, 495, 442, 443, 444,
2773 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
2774 455, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2775 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2776 27, 456, 457, 458, 459, 460, 461, 462, 463, 464,
2777 465, 35, 36, 0, 466, 0, 467, 468, 469, 470,
2778 471, 472, 473, 474, 475, 0, 476, 477, 0, 478,
2779 479, 480, 481, 367, 368, 369, 370, 371, 372, 373,
2780 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
2781 384, 385, 386, 387, 388, 389, 390, 482, 483, 484,
2782 485, 486, 487, 488, 52, 53, 54, 55, 56, 57,
2783 58, 59, 60, 61, 62, 63, 0, 0, 0, 0,
2784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2785 0, 0, 0, 0, 0, 0, 0, 0, 489, 490,
2786 0, 491, 0, 392, 393, 493, 394, 395, 396, 397,
2787 398, 399, 400, 401, 402, 403, 404, 494, 698, 406,
2788 495, 442, 443, 444, 445, 446, 447, 448, 449, 450,
2789 451, 452, 453, 454, 455, 8, 9, 10, 11, 12,
2790 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
2791 23, 24, 25, 26, 27, 456, 457, 458, 459, 460,
2792 461, 462, 463, 464, 465, 35, 36, 0, 466, 0,
2793 467, 468, 469, 470, 471, 472, 473, 474, 475, 0,
2794 476, 477, 0, 478, 479, 480, 481, 367, 368, 369,
2795 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
2796 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
2797 390, 482, 483, 484, 485, 486, 487, 488, 52, 53,
2798 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
2799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2801 0, 0, 489, 490, 961, 491, 0, 392, 393, 493,
2802 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
2803 404, 494, 0, 406, 495, 442, 443, 444, 445, 446,
2804 447, 448, 449, 450, 451, 452, 453, 454, 455, 8,
2805 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2806 19, 20, 21, 22, 23, 24, 25, 26, 27, 456,
2807 457, 458, 459, 460, 461, 462, 463, 464, 465, 35,
2808 36, 0, 466, 0, 467, 468, 469, 470, 471, 472,
2809 473, 474, 475, 0, 476, 477, 0, 478, 479, 480,
2810 481, 367, 368, 369, 370, 371, 372, 373, 374, 375,
2811 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
2812 386, 387, 388, 389, 390, 482, 483, 484, 485, 486,
2813 487, 488, 52, 53, 54, 55, 56, 57, 58, 59,
2814 60, 61, 62, 63, 0, 0, 0, 0, 0, 0,
2815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2816 0, 0, 0, 0, 0, 0, 489, 490, 1008, 491,
2817 0, 392, 393, 493, 394, 395, 396, 397, 398, 399,
2818 400, 401, 402, 403, 404, 494, 0, 406, 495, 442,
2819 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
2820 453, 454, 455, 8, 9, 10, 11, 12, 13, 14,
2821 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2822 25, 26, 27, 456, 457, 458, 459, 460, 461, 462,
2823 463, 464, 465, 35, 36, 0, 466, 0, 467, 468,
2824 469, 470, 471, 472, 473, 474, 475, 0, 476, 477,
2825 0, 478, 479, 480, 481, 367, 368, 369, 370, 371,
2826 372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
2827 382, 383, 384, 385, 386, 387, 388, 389, 390, 482,
2828 483, 484, 485, 486, 487, 488, 52, 53, 54, 55,
2829 56, 57, 58, 59, 60, 61, 62, 63, 0, 0,
2830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2832 489, 490, 0, 491, 1013, 392, 393, 493, 394, 395,
2833 396, 397, 398, 399, 400, 401, 402, 403, 404, 494,
2834 0, 406, 495, 442, 443, 444, 445, 446, 447, 448,
2835 449, 450, 451, 452, 453, 454, 455, 8, 9, 10,
2836 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
2837 21, 22, 23, 24, 25, 26, 27, 456, 457, 458,
2838 459, 460, 461, 462, 463, 464, 465, 35, 36, 0,
2839 466, 0, 467, 468, 469, 470, 471, 472, 473, 474,
2840 475, 0, 476, 477, 0, 478, 479, 480, 481, 367,
2841 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
2842 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
2843 388, 389, 390, 482, 483, 484, 485, 486, 487, 488,
2844 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
2845 62, 63, 0, 0, 0, 0, 0, 0, 0, 0,
2846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2847 0, 0, 0, 0, 0, 490, 994, 491, 0, 392,
2848 393, 493, 394, 395, 396, 397, 398, 399, 400, 401,
2849 402, 403, 404, 494, 0, 406, 495, 442, 443, 444,
2850 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
2851 455, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2852 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2853 27, 456, 457, 458, 459, 460, 461, 462, 463, 464,
2854 465, 35, 36, 0, 466, 0, 467, 468, 469, 470,
2855 471, 472, 473, 474, 475, 0, 476, 477, 0, 478,
2856 479, 480, 481, 367, 368, 369, 370, 371, 372, 373,
2857 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
2858 384, 385, 386, 387, 388, 389, 390, 482, 483, 484,
2859 485, 486, 487, 488, 52, 53, 54, 55, 56, 57,
2860 58, 59, 60, 61, 62, 63, 0, 0, 0, 0,
2861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2862 0, 0, 0, 0, 0, 0, 0, 0, 1014, 490,
2863 0, 491, 0, 392, 393, 493, 394, 395, 396, 397,
2864 398, 399, 400, 401, 402, 403, 404, 494, 0, 406,
2865 495, 442, 443, 444, 445, 446, 447, 448, 449, 450,
2866 451, 452, 453, 454, 455, 8, 9, 10, 11, 12,
2867 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
2868 23, 24, 25, 26, 27, 456, 457, 458, 459, 460,
2869 461, 462, 463, 464, 465, 35, 36, 0, 466, 0,
2870 467, 468, 469, 470, 471, 472, 473, 474, 475, 0,
2871 476, 477, 0, 478, 479, 480, 481, 367, 368, 369,
2872 370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
2873 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
2874 390, 482, 483, 484, 485, 486, 487, 488, 52, 53,
2875 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
2876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2878 0, 0, 1020, 490, 0, 491, 0, 392, 393, 493,
2879 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
2880 404, 494, 0, 406, 495, 4, 5, 0, 0, 0,
2881 838, 839, 0, 0, 0, 0, 0, 0, 0, 8,
2882 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2883 19, 20, 21, 22, 23, 24, 25, 26, 27, 840,
2884 841, 30, 31, 842, 0, 33, 0, 0, 34, 35,
2885 36, 843, 844, 38, 39, 40, 41, 0, 43, 845,
2886 45, 161, 47, 846, 0, 0, 847, 0, 0, 0,
2887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2889 0, 0, 0, 0, 0, 0, 0, 0, 0, 848,
2890 849, 850, 851, 852, 853, 854, 855, 856, 857, 858,
2891 859, 860, 861, 862, 64, 65, 66, 67, 68, 69,
2892 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2893 80, 81, 82, 83, 84, 863, 864, 914, 915, 0,
2894 0, 0, 838, 839, 0, 0, 0, 0, 865, 0,
2895 0, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2896 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2897 27, 840, 841, 145, 916, 0, 0, 33, 0, 0,
2898 34, 35, 36, 0, 844, 38, 39, 40, 0, 0,
2899 0, 845, 160, 161, 0, 0, 0, 0, 847, 0,
2900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2903 0, 848, 849, 850, 851, 852, 853, 854, 855, 856,
2904 857, 858, 859, 860, 861, 862, 0, 0, 0, 0,
2905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2906 0, 0, 0, 0, 0, 0, 0, 4, 5, 0,
2907 0, 0, 838, 839, 0, 0, 0, 0, 0, 0,
2908 865, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2909 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2910 27, 840, 841, 145, 31, 0, 0, 33, 0, 0,
2911 34, 35, 36, 0, 844, 38, 0, 40, 0, 0,
2912 0, 845, 160, 161, 0, 0, 0, 0, 847, 0,
2913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2916 0, 848, 849, 850, 851, 852, 853, 854, 855, 856,
2917 857, 858, 859, 860, 861, 862, 0, 0, 0, 0,
2918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2919 0, 0, 0, 0, 0, 0, 0, 142, 143, 0,
2920 0, 0, 980, 839, 0, 0, 0, 0, 0, 0,
2921 865, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2922 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2923 27, 840, 841, 145, 146, 0, 0, 33, 0, 0,
2924 0, 35, 36, 0, 844, 38, 0, 40, 0, 0,
2925 0, 845, 160, 161, 0, 0, 0, 0, 847, 0,
2926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2928 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2929 0, 848, 849, 850, 851, 852, 853, 854, 855, 856,
2930 857, 858, 859, 860, 861, 862, 0, 0, 0, 0,
2931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2932 0, 0, 0, 0, 0, 0, 0, 142, 143, 0,
2933 0, 0, 0, 144, 0, 0, 0, 0, 0, 0,
2934 865, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2935 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2936 27, 28, 29, 145, 146, 0, 0, 33, 0, 0,
2937 0, 35, 36, 0, 159, 38, 0, 40, 0, 0,
2938 0, 147, 160, 161, 0, 0, 0, 0, 0, 0,
2939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2940 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2941 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2942 0, 148, 50, 51, 52, 53, 54, 55, 56, 57,
2943 58, 59, 60, 61, 62, 63, 0, 0, 0, 0,
2944 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2945 0, 0, 0, 0, 0, 0, 0, 142, 143, 0,
2946 0, 0, 0, 839, 0, 0, 0, 0, 0, 0,
2947 911, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2948 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2949 27, 840, 841, 145, 146, 318, 0, 33, 0, 0,
2950 0, 35, 36, 0, 0, 0, 0, 40, 0, 0,
2951 0, 845, 160, 0, 0, 0, 0, 0, 923, 0,
2952 0, 0, 0, 319, 320, 0, 0, 0, 0, 0,
2953 221, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2954 0, 0, 0, 321, 0, 0, 0, 0, 0, 0,
2955 0, 848, 849, 850, 851, 852, 853, 854, 855, 856,
2956 857, 858, 859, 860, 861, 862, 0, 0, 0, 0,
2957 709, 0, 503, 504, 505, 0, 506, 507, 0, 0,
2958 0, 251, 252, 322, 323, 324, 123, 124, 125, 126,
2959 127, 128, 129, 130, 131, 132, 133, 134, 247, 248,
2960 924, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2961 0, 0, 0, 0, 0, 0, 0, 0, 710, 0,
2962 0, 0, 0, 0, 0, 0, 0, 428, 0, 0,
2963 0, 0, 0, 222, 0, 0, 223, 0, 0, 0,
2964 0, 0, 0, 0, 0, 428, 0, 0, 0, 0,
2965 0, 0, 0, 0, 0, 429, 430, 0, 711, 254,
2966 255, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2967 132, 133, 134, 429, 430, 431, 0, 0, 0, 0,
2968 0, 0, 34, 0, 0, 0, 0, 0, 0, 0,
2969 0, 0, 0, 431, 0, 0, 712, 0, 0, 0,
2970 0, 0, 428, 0, 0, 713, 714, 715, 0, 0,
2971 0, 0, 0, 0, 0, 432, 433, 434, 123, 124,
2972 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2973 429, 430, 428, 432, 433, 434, 123, 124, 125, 126,
2974 127, 128, 129, 130, 131, 132, 133, 134, 0, 0,
2975 431, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2976 429, 430, 0, 0, 526, 0, 0, 0, 0, 0,
2977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2978 431, 0, 435, 0, 0, 0, 0, 0, 0, 0,
2979 432, 433, 434, 123, 124, 125, 126, 127, 128, 129,
2980 130, 131, 132, 133, 134, 0, 0, 178, 663, 664,
2981 665, 666, 667, 668, 669, 0, 0, 0, 0, 0,
2982 432, 433, 434, 123, 124, 125, 126, 127, 128, 129,
2983 130, 131, 132, 133, 134, 179, 180, 0, 0, 692,
2984 0, 0, 178, 663, 664, 665, 666, 667, 668, 669,
2985 0, 0, 0, 0, 0, 183, 0, 0, 318, 0,
2986 0, 0, 0, 670, 671, 672, 673, 0, 0, 732,
2987 179, 180, 0, 0, 0, 0, 0, 0, 0, 0,
2988 0, 0, 0, 0, 0, 0, 319, 320, 0, 0,
2989 183, 0, 0, 0, 0, 184, 185, 186, 670, 671,
2990 672, 673, 0, 0, 0, 0, 321, 0, 0, 0,
2991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2993 184, 185, 186, 674, 0, 675, 0, 0, 0, 0,
2994 0, 0, 676, 677, 251, 252, 322, 323, 324, 123,
2995 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
2996 134, 0, 0, 0, 0, 142, 143, 0, 674, 0,
2997 0, 144, 0, 0, 0, 0, 0, 676, 677, 8,
2998 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2999 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3000 29, 145, 146, 0, 0, 33, 0, 0, 0, 35,
3001 36, 0, 0, 0, 0, 40, 0, 0, 0, 147,
3002 0, 0, 0, 0, 0, 0, 116, 0, 0, 0,
3003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3004 0, 0, 0, 0, 0, 0, 0, 318, 0, 0,
3005 0, 0, 0, 0, 117, 118, 0, 0, 0, 148,
3006 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
3007 60, 61, 62, 63, 119, 319, 320, 0, 0, 0,
3008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3009 0, 0, 0, 0, 0, 321, 0, 0, 0, 310,
3010 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3011 0, 0, 0, 0, 120, 121, 122, 123, 124, 125,
3012 126, 127, 128, 129, 130, 131, 132, 133, 134, 0,
3013 0, 0, 0, 0, 0, 322, 323, 324, 123, 124,
3014 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
3015 0, 965, 0, 0, 966, 0, 0, 0, 967, 0,
3016 0, 0, 0, 0, 0, 0, 0, 0, 4, 5,
3017 0, 0, 965, 6, 7, 966, 0, 0, 0, 967,
3018 0, 0, 8, 9, 10, 11, 12, 13, 14, 15,
3019 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3020 26, 27, 28, 29, 30, 31, 32, 0, 33, 0,
3021 0, 34, 35, 36, 0, 37, 38, 39, 40, 41,
3022 42, 43, 44, 45, 46, 47, 48, 0, 0, 0,
3023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3024 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3025 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3026 0, 0, 49, 50, 51, 52, 53, 54, 55, 56,
3027 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
3028 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3029 77, 78, 79, 80, 81, 82, 83, 84, 116, 85,
3030 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3031 0, 0, 0, 116, 0, 0, 0, 0, 0, 0,
3032 0, 0, 0, 0, 0, 0, 117, 118, 0, 0,
3033 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3034 0, 117, 118, 0, 0, 0, 119, 0, 0, 0,
3035 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3036 0, 119, 0, 0, 0, 0, 0, 0, 0, 0,
3037 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3038 0, 0, 0, 0, 0, 0, 120, 121, 122, 123,
3039 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
3040 134, 120, 121, 122, 123, 124, 125, 126, 127, 128,
3041 129, 130, 131, 132, 133, 134, 318, 0, 0, 0,
3042 0, 0, 0, 0, 0, 0, 135, 0, 0, 0,
3043 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3044 0, 156, 0, 0, 319, 320, 0, 0, 0, 0,
3045 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3046 0, 0, 0, 0, 321, 0, 0, 0, 0, 0,
3047 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3048 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3049 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3050 0, 0, 888, 889, 322, 323, 324, 123, 124, 125,
3051 126, 127, 128, 129, 130, 131, 132, 133, 134, 0,
3052 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,
3053 5, 0, 0, 0, 6, 144, 0, 0, 0, 0,
3054 0, 0, 890, 8, 9, 10, 11, 12, 13, 14,
3055 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
3056 25, 26, 27, 28, 29, 145, 31, 0, 0, 33,
3057 0, 0, 34, 35, 36, 0, 159, 38, 0, 40,
3058 0, 0, 0, 147, 160, 161, 0, 0, 0, 0,
3059 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3060 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3061 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3062 0, 0, 0, 148, 50, 51, 52, 53, 54, 55,
3063 56, 57, 58, 59, 60, 61, 62, 63, 142, 143,
3064 0, 0, 0, 0, 144, 0, 503, 504, 505, 0,
3065 506, 507, 8, 9, 10, 11, 12, 13, 14, 15,
3066 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3067 26, 27, 28, 29, 145, 146, 0, 0, 33, 0,
3068 0, 0, 35, 36, 0, 0, 0, 0, 40, 0,
3069 0, 0, 147, 0, 0, 0, 0, 0, 0, 0,
3070 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3071 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3072 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3073 0, 0, 148, 50, 51, 52, 53, 54, 55, 56,
3074 57, 58, 59, 60, 61, 62, 63, 142, 143, 0,
3075 0, 0, 0, 144, 0, 0, 0, 0, 0, 0,
3076 0, 8, 9, 10, 11, 12, 13, 14, 15, 16,
3077 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3078 27, 28, 29, 145, 146, 0, 0, 33, 0, 0,
3079 0, 35, 36, 0, 159, 38, 0, 40, 0, 0,
3080 0, 147, 160, 161, 0, 0, 0, 0, 0, 0,
3081 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3083 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3084 0, 148, 50, 51, 52, 53, 54, 55, 56, 57,
3085 58, 59, 60, 61, 62, 63, 142, 143, 0, 0,
3086 0, 0, 144, 0, 0, 0, 0, 0, 0, 0,
3087 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
3088 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3089 28, 29, 145, 146, 0, 0, 33, 0, 0, 0,
3090 35, 36, 0, 0, 0, 0, 40, 0, 0, 0,
3091 147, 160, 0, 0, 0, 0, 0, 0, 0, 0,
3092 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3093 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3094 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3095 148, 50, 51, 52, 53, 54, 55, 56, 57, 58,
3096 59, 60, 61, 62, 63, 142, 143, 0, 0, 0,
3097 0, 144, 194, 0, 0, 0, 0, 0, 0, 8,
3098 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
3099 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3100 29, 145, 146, 0, 0, 33, 0, 0, 0, 35,
3101 36, 0, 0, 0, 0, 40, 0, 0, 0, 147,
3102 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3103 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3104 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3105 0, 0, 0, 0, 0, 0, 0, 0, 0, 148,
3106 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
3107 60, 61, 62, 63, 4, 5, 0, 0, 0, 0,
3108 144, 0, 0, 0, 0, 0, 0, 0, 8, 9,
3109 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
3110 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3111 30, 31, 0, 0, 33, 0, 0, 0, 35, 36,
3112 0, 0, 0, 0, 40, 0, 0, 0, 147, 0,
3113 0, 231, 0, 0, 0, 0, 0, 0, 0, 0,
3114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3116 0, 0, 0, 0, 0, 0, 0, 0, 148, 50,
3117 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
3118 61, 62, 63, 142, 143, 0, 0, 0, 0, 144,
3119 295, 0, 0, 0, 0, 0, 0, 8, 9, 10,
3120 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
3121 21, 22, 23, 24, 25, 26, 27, 28, 29, 145,
3122 146, 0, 0, 33, 0, 0, 0, 35, 36, 0,
3123 0, 0, 0, 40, 0, 0, 0, 147, 0, 0,
3124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3125 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3127 0, 0, 0, 0, 0, 0, 0, 148, 50, 51,
3128 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
3129 62, 63, 142, 143, 0, 0, 0, 0, 144, 0,
3130 0, 0, 0, 0, 0, 0, 8, 9, 10, 11,
3131 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
3132 22, 23, 24, 25, 26, 27, 28, 29, 145, 146,
3133 0, 0, 33, 0, 0, 0, 35, 36, 0, 0,
3134 0, 0, 40, 0, 0, 0, 147, 0, 0, 0,
3135 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3136 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3137 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3138 0, 0, 0, 0, 0, 0, 148, 50, 51, 52,
3139 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
3140 63, 142, 143, 0, 0, 0, 0, 144, 0, 0,
3141 0, 0, 0, 0, 0, 8, 9, 10, 11, 12,
3142 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
3143 23, 24, 25, 26, 27, 28, 29, 145, 146, 0,
3144 0, 0, 0, 0, 0, 35, 36, 0, 0, 0,
3145 0, 40, 0, 0, 0, 147, 0, 0, 0, 0,
3146 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3147 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3148 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3149 0, 0, 0, 0, 0, 148, 50, 51, 52, 53,
3150 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
3151 142, 143, 0, 0, 0, 0, 279, 0, 0, 0,
3152 0, 0, 0, 0, 8, 9, 10, 11, 12, 13,
3153 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3154 24, 25, 26, 27, 280, 281, 145, 146, 0, 0,
3155 0, 0, 0, 0, 35, 36, 0, 0, 0, 0,
3156 0, 0, 0, 0, 282, 0, 0, 0, 0, 0,
3157 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3159 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3160 0, 0, 0, 0, 283, 284, 285, 52, 53, 54,
3161 55, 56, 57, 58, 59, 60, 61, 62, 63, 529,
3162 0, 0, 0, 0, 279, 0, 0, 0, 0, 0,
3163 0, 0, 8, 9, 10, 11, 12, 13, 14, 15,
3164 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3165 26, 27, 280, 281, 246, 0, 0, 0, 0, 0,
3166 0, 0, 35, 36, 0, 0, 0, 0, 530, 0,
3167 0, 0, 282, 0, 0, 0, 0, 0, 0, 0,
3168 0, 0, 247, 248, 0, 0, 0, 0, 0, 0,
3169 0, 249, 0, 0, 0, 0, 0, 0, 0, 0,
3170 0, 0, 250, 0, 0, 0, 0, 0, 0, 0,
3171 0, 0, 283, 284, 285, 52, 53, 54, 55, 56,
3172 57, 58, 59, 60, 61, 62, 63, 0, 0, 318,
3173 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3174 251, 252, 253, 254, 255, 123, 124, 125, 126, 127,
3175 128, 129, 130, 131, 132, 133, 134, 319, 320, 318,
3176 0, 0, 0, 0, 0, 0, 249, 0, 0, 0,
3177 0, 0, 0, 0, 0, 0, 0, 321, 0, 0,
3178 0, 0, 0, 0, 0, 0, 0, 319, 320, 0,
3179 0, 0, 0, 0, 0, 0, 249, 0, 0, 0,
3180 0, 0, 0, 0, 0, 0, 0, 321, 0, 0,
3181 0, 0, 0, 0, 0, 251, 252, 322, 323, 324,
3182 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
3183 133, 134, 0, 0, 246, 0, 0, 0, 0, 0,
3184 0, 0, 0, 0, 0, 0, 0, 322, 323, 324,
3185 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
3186 133, 134, 247, 248, 116, 0, 0, 0, 0, 0,
3187 0, 249, 0, 0, 0, 0, 0, 0, 0, 0,
3188 0, 0, 250, 0, 0, 0, 0, 0, 0, 318,
3189 0, 0, 117, 118, 0, 0, 0, 0, 0, 0,
3190 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3191 0, 0, 119, 0, 0, 0, 0, 319, 320, 0,
3192 0, 0, 253, 254, 255, 123, 124, 125, 126, 127,
3193 128, 129, 130, 131, 132, 133, 134, 321, 0, 0,
3194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3195 0, 0, 120, 121, 122, 123, 124, 125, 126, 127,
3196 128, 129, 130, 131, 132, 133, 134, 0, 0, 0,
3197 0, 0, 0, 0, 0, 0, 0, 322, 323, 324,
3198 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
3199 133, 134, 365, 366, 0, 0, 0, 0, 0, 367,
3200 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
3201 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
3202 388, 389, 390, 0, 0, 0, 0, 0, 0, 0,
3203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3204 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3205 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3206 0, 0, 0, 0, 0, 391, 0, 0, 0, 392,
3207 393, 0, 394, 395, 396, 397, 398, 399, 400, 401,
3208 402, 403, 404, 405, 0, 406
3211 static const yytype_int16 yycheck[] =
3213 4, 5, 37, 149, 3, 278, 256, 90, 92, 300,
3214 43, 272, 4, 5, 413, 96, 97, 98, 99, 105,
3215 92, 294, 94, 684, 94, 526, 30, 31, 533, 616,
3216 757, 277, 758, 43, 3, 34, 623, 298, 30, 31,
3217 310, 802, 274, 289, 226, 521, 736, 293, 5, 6,
3218 7, 967, 0, 151, 44, 892, 288, 234, 156, 44,
3219 292, 593, 308, 44, 5, 6, 7, 94, 37, 535,
3220 302, 317, 94, 42, 951, 307, 139, 135, 176, 620,
3221 94, 139, 94, 43, 316, 45, 263, 5, 6, 7,
3222 9, 135, 190, 843, 94, 94, 6, 1013, 102, 94,
3223 198, 60, 5, 6, 7, 50, 766, 5, 6, 7,
3224 256, 948, 5, 6, 7, 60, 94, 139, 37, 38,
3225 134, 871, 94, 135, 159, 785, 1003, 37, 38, 759,
3226 760, 892, 364, 102, 93, 168, 46, 797, 57, 139,
3227 135, 1018, 240, 619, 134, 94, 232, 233, 181, 182,
3228 142, 143, 235, 145, 146, 236, 237, 147, 168, 691,
3229 150, 139, 147, 135, 630, 150, 147, 139, 350, 150,
3230 197, 181, 182, 135, 43, 139, 926, 263, 97, 98,
3231 99, 138, 92, 143, 135, 134, 135, 948, 135, 135,
3232 139, 692, 94, 103, 43, 193, 200, 138, 197, 135,
3233 204, 205, 94, 207, 208, 209, 210, 211, 212, 213,
3234 214, 215, 216, 217, 218, 219, 220, 94, 137, 94,
3235 138, 135, 226, 883, 756, 766, 94, 225, 232, 233,
3236 234, 732, 134, 94, 238, 138, 916, 769, 271, 272,
3237 138, 94, 134, 420, 785, 138, 3, 4, 135, 159,
3238 837, 161, 256, 163, 287, 945, 797, 135, 135, 263,
3239 135, 271, 272, 261, 94, 298, 134, 537, 134, 94,
3240 996, 137, 134, 9, 135, 94, 781, 287, 139, 135,
3241 142, 134, 94, 40, 194, 1012, 290, 256, 298, 969,
3242 970, 135, 972, 135, 881, 975, 828, 153, 885, 168,
3243 134, 37, 38, 272, 134, 135, 135, 135, 142, 139,
3244 135, 315, 181, 182, 139, 134, 135, 53, 134, 55,
3245 139, 57, 326, 327, 328, 134, 142, 331, 137, 298,
3246 139, 135, 141, 135, 134, 46, 135, 137, 843, 600,
3247 134, 141, 883, 137, 135, 139, 350, 141, 594, 1010,
3248 135, 135, 9, 357, 135, 135, 5, 6, 7, 135,
3249 9, 97, 98, 99, 865, 275, 627, 277, 139, 601,
3250 602, 603, 604, 605, 906, 555, 94, 137, 139, 289,
3251 37, 38, 50, 293, 135, 295, 484, 485, 37, 38,
3252 94, 140, 490, 491, 94, 94, 494, 94, 308, 9,
3253 57, 800, 271, 272, 94, 134, 134, 317, 57, 137,
3254 911, 139, 134, 141, 134, 134, 420, 9, 287, 94,
3255 94, 94, 143, 924, 94, 141, 699, 37, 38, 298,
3256 153, 435, 137, 706, 44, 71, 72, 154, 134, 137,
3257 97, 98, 99, 734, 136, 37, 38, 57, 97, 98,
3258 99, 724, 134, 142, 700, 9, 142, 11, 12, 13,
3259 14, 15, 16, 643, 644, 57, 142, 647, 648, 649,
3260 650, 651, 652, 653, 654, 655, 656, 142, 142, 512,
3261 142, 142, 142, 37, 38, 95, 96, 97, 98, 99,
3262 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
3263 110, 111, 512, 57, 142, 97, 98, 99, 144, 145,
3264 142, 147, 148, 149, 150, 151, 152, 521, 142, 142,
3265 142, 134, 526, 142, 137, 135, 139, 136, 141, 134,
3266 534, 535, 137, 136, 139, 142, 141, 147, 142, 134,
3267 150, 134, 153, 97, 98, 99, 134, 134, 134, 137,
3268 137, 139, 139, 141, 141, 588, 134, 153, 94, 136,
3269 136, 135, 742, 94, 568, 140, 137, 600, 140, 142,
3270 137, 140, 138, 143, 142, 608, 609, 610, 588, 140,
3271 137, 136, 94, 844, 140, 52, 136, 620, 140, 142,
3272 600, 138, 140, 142, 627, 136, 142, 135, 608, 609,
3273 610, 16, 16, 154, 141, 135, 138, 142, 136, 154,
3274 620, 153, 138, 874, 153, 619, 620, 627, 136, 142,
3275 139, 10, 136, 140, 137, 136, 630, 142, 878, 136,
3276 136, 136, 136, 136, 136, 136, 136, 136, 11, 11,
3277 136, 135, 135, 512, 142, 142, 136, 142, 137, 141,
3278 137, 142, 136, 136, 136, 135, 689, 50, 135, 135,
3279 135, 135, 912, 135, 135, 135, 154, 135, 43, 135,
3280 135, 704, 922, 135, 135, 135, 140, 909, 136, 689,
3281 136, 136, 136, 136, 594, 142, 136, 134, 692, 134,
3282 136, 135, 919, 134, 704, 138, 138, 781, 136, 136,
3283 134, 136, 704, 781, 781, 734, 908, 272, 833, 781,
3284 781, 781, 887, 233, 1010, 893, 827, 544, 106, 951,
3285 107, 902, 781, -1, 757, 758, 759, 760, 732, 639,
3286 -1, 600, 982, 766, -1, -1, -1, 835, -1, 608,
3287 609, 610, 228, -1, -1, -1, -1, 757, 758, 759,
3288 760, 983, 785, -1, -1, -1, 766, -1, 627, -1,
3289 -1, -1, 766, -1, 797, -1, -1, 913, 249, -1,
3290 1002, 1003, -1, 843, -1, 785, -1, -1, -1, -1,
3291 -1, 785, 781, 866, -1, 868, 1018, 797, -1, -1,
3292 700, 872, 873, 797, 875, -1, -1, -1, 802, 871,
3293 833, 871, -1, -1, -1, -1, 892, -1, -1, 844,
3294 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3295 689, 731, -1, 833, -1, -1, -1, -1, -1, 739,
3296 928, -1, -1, -1, -1, 704, -1, -1, -1, 920,
3297 921, -1, -1, -1, 843, -1, -1, -1, -1, 932,
3298 883, -1, 933, 934, -1, -1, -1, 9, -1, -1,
3299 -1, 865, -1, -1, -1, -1, -1, -1, 966, -1,
3300 -1, -1, 871, 883, 878, -1, -1, -1, -1, 883,
3301 -1, -1, -1, -1, -1, 37, 38, -1, 892, -1,
3302 -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
3303 -1, -1, -1, -1, -1, 57, -1, 911, 912, -1,
3304 914, 915, 916, -1, -1, -1, -1, -1, 922, -1,
3305 924, -1, 914, 915, 916, -1, -1, 926, 838, -1,
3306 -1, -1, -1, -1, 844, -1, -1, -1, -1, -1,
3307 -1, -1, -1, -1, 948, 97, 98, 99, 100, 101,
3308 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
3309 -1, -1, -1, 996, 833, -1, -1, -1, -1, 973,
3310 974, 975, -1, -1, -1, -1, -1, -1, 982, 1012,
3311 -1, -1, -1, -1, -1, -1, 996, -1, -1, -1,
3312 -1, -1, -1, -1, -1, 147, -1, -1, 150, -1,
3313 -1, -1, 1012, 3, 4, 5, 6, 7, 8, 9,
3314 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
3315 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3316 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
3317 40, 41, 42, 43, 44, 45, 46, 47, 48, -1,
3318 50, -1, 52, 53, 54, 55, 56, 57, 58, 59,
3319 60, -1, 62, 63, -1, 65, 66, 67, 68, 69,
3320 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3321 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
3322 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
3323 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
3324 110, 111, -1, -1, -1, -1, -1, -1, -1, -1,
3325 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3326 -1, -1, -1, -1, 134, 135, -1, 137, 138, 139,
3327 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
3328 150, 151, 152, 153, -1, 155, 156, 3, 4, 5,
3329 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
3330 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3331 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
3332 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
3333 46, 47, 48, -1, 50, -1, 52, 53, 54, 55,
3334 56, 57, 58, 59, 60, -1, 62, 63, -1, 65,
3335 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3336 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
3337 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
3338 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
3339 106, 107, 108, 109, 110, 111, -1, -1, -1, -1,
3340 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3341 -1, -1, -1, -1, -1, -1, -1, -1, 134, 135,
3342 136, 137, -1, 139, 140, 141, 142, 143, 144, 145,
3343 146, 147, 148, 149, 150, 151, 152, 153, -1, 155,
3344 156, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3345 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
3346 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3347 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
3348 42, 43, 44, 45, 46, 47, 48, -1, 50, -1,
3349 52, 53, 54, 55, 56, 57, 58, 59, 60, -1,
3350 62, 63, -1, 65, 66, 67, 68, 69, 70, 71,
3351 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3352 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
3353 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
3354 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
3355 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3356 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3357 -1, -1, 134, 135, -1, 137, 138, 139, 140, 141,
3358 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
3359 152, 153, -1, 155, 156, 3, 4, 5, 6, 7,
3360 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
3361 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3362 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
3363 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
3364 48, -1, 50, -1, 52, 53, 54, 55, 56, 57,
3365 58, 59, 60, -1, 62, 63, -1, 65, 66, 67,
3366 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
3367 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
3368 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
3369 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
3370 108, 109, 110, 111, -1, -1, -1, -1, -1, -1,
3371 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3372 -1, -1, -1, -1, -1, -1, 134, 135, -1, 137,
3373 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
3374 148, 149, 150, 151, 152, 153, -1, 155, 156, 3,
3375 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
3376 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3377 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
3378 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
3379 44, 45, 46, 47, 48, -1, 50, -1, 52, 53,
3380 54, 55, 56, 57, 58, 59, 60, -1, 62, 63,
3381 -1, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3382 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3383 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
3384 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
3385 104, 105, 106, 107, 108, 109, 110, 111, -1, -1,
3386 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3387 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3388 134, 135, 136, 137, -1, 139, 140, 141, 142, 143,
3389 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
3390 -1, 155, 156, 3, 4, 5, 6, 7, 8, 9,
3391 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
3392 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3393 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
3394 40, 41, 42, 43, 44, 45, 46, 47, 48, -1,
3395 50, -1, 52, 53, 54, 55, 56, 57, 58, 59,
3396 60, -1, 62, 63, -1, 65, 66, 67, 68, 69,
3397 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3398 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
3399 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
3400 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
3401 110, 111, -1, -1, -1, -1, -1, -1, -1, -1,
3402 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3403 -1, -1, -1, -1, 134, 135, 136, 137, -1, 139,
3404 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
3405 150, 151, 152, 153, -1, 155, 156, 3, 4, 5,
3406 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
3407 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3408 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
3409 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
3410 46, 47, 48, -1, 50, -1, 52, 53, 54, 55,
3411 56, 57, 58, 59, 60, -1, 62, 63, -1, 65,
3412 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3413 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
3414 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
3415 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
3416 106, 107, 108, 109, 110, 111, -1, -1, -1, -1,
3417 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3418 -1, -1, -1, -1, -1, -1, -1, -1, 134, 135,
3419 -1, 137, 138, 139, 140, 141, 142, 143, 144, 145,
3420 146, 147, 148, 149, 150, 151, 152, 153, -1, 155,
3421 156, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3422 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
3423 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3424 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
3425 42, 43, 44, 45, 46, 47, 48, -1, 50, -1,
3426 52, 53, 54, 55, 56, 57, 58, 59, 60, -1,
3427 62, 63, -1, 65, 66, 67, 68, 69, 70, 71,
3428 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3429 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
3430 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
3431 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
3432 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3433 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3434 -1, -1, 134, 135, 136, 137, -1, 139, 140, 141,
3435 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
3436 152, 153, -1, 155, 156, 3, 4, 5, 6, 7,
3437 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
3438 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3439 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
3440 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
3441 48, -1, 50, -1, 52, 53, 54, 55, 56, 57,
3442 58, 59, 60, -1, 62, 63, -1, 65, 66, 67,
3443 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
3444 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
3445 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
3446 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
3447 108, 109, 110, 111, -1, -1, -1, -1, -1, -1,
3448 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3449 -1, -1, -1, -1, -1, -1, 134, 135, 136, 137,
3450 -1, 139, 140, 141, 142, 143, 144, 145, 146, 147,
3451 148, 149, 150, 151, 152, 153, -1, 155, 156, 3,
3452 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
3453 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3454 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
3455 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
3456 44, 45, 46, 47, 48, -1, 50, -1, 52, 53,
3457 54, 55, 56, 57, 58, 59, 60, -1, 62, 63,
3458 -1, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3459 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3460 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
3461 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
3462 104, 105, 106, 107, 108, 109, 110, 111, -1, -1,
3463 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3464 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3465 134, 135, 136, 137, -1, 139, 140, 141, 142, 143,
3466 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
3467 -1, 155, 156, 3, 4, 5, 6, 7, 8, 9,
3468 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
3469 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3470 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
3471 40, 41, 42, 43, 44, 45, 46, 47, 48, -1,
3472 50, -1, 52, 53, 54, 55, 56, 57, 58, 59,
3473 60, -1, 62, 63, -1, 65, 66, 67, 68, 69,
3474 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3475 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
3476 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
3477 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
3478 110, 111, -1, -1, -1, -1, -1, -1, -1, -1,
3479 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3480 -1, -1, -1, -1, 134, 135, -1, 137, 138, 139,
3481 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
3482 150, 151, 152, 153, -1, 155, 156, 3, 4, 5,
3483 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
3484 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3485 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
3486 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
3487 46, 47, 48, -1, 50, -1, 52, 53, 54, 55,
3488 56, 57, 58, 59, 60, -1, 62, 63, -1, 65,
3489 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3490 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
3491 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
3492 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
3493 106, 107, 108, 109, 110, 111, -1, -1, -1, -1,
3494 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3495 -1, -1, -1, -1, -1, -1, -1, -1, 134, 135,
3496 -1, 137, -1, 139, 140, 141, 142, 143, 144, 145,
3497 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
3498 156, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3499 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
3500 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3501 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
3502 42, 43, 44, 45, 46, 47, 48, -1, 50, -1,
3503 52, 53, 54, 55, 56, 57, 58, 59, 60, -1,
3504 62, 63, -1, 65, 66, 67, 68, 69, 70, 71,
3505 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3506 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
3507 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
3508 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
3509 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3510 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3511 -1, -1, 134, 135, 136, 137, -1, 139, 140, 141,
3512 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
3513 152, 153, -1, 155, 156, 3, 4, 5, 6, 7,
3514 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
3515 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3516 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
3517 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
3518 48, -1, 50, -1, 52, 53, 54, 55, 56, 57,
3519 58, 59, 60, -1, 62, 63, -1, 65, 66, 67,
3520 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
3521 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
3522 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
3523 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
3524 108, 109, 110, 111, -1, -1, -1, -1, -1, -1,
3525 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3526 -1, -1, -1, -1, -1, -1, 134, 135, 136, 137,
3527 -1, 139, 140, 141, 142, 143, 144, 145, 146, 147,
3528 148, 149, 150, 151, 152, 153, -1, 155, 156, 3,
3529 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
3530 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
3531 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
3532 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
3533 44, 45, 46, 47, 48, -1, 50, -1, 52, 53,
3534 54, 55, 56, 57, 58, 59, 60, -1, 62, 63,
3535 -1, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3536 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3537 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
3538 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
3539 104, 105, 106, 107, 108, 109, 110, 111, -1, -1,
3540 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3541 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3542 134, 135, -1, 137, 138, 139, 140, 141, 142, 143,
3543 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
3544 -1, 155, 156, 3, 4, 5, 6, 7, 8, 9,
3545 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
3546 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3547 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
3548 40, 41, 42, 43, 44, 45, 46, 47, 48, -1,
3549 50, -1, 52, 53, 54, 55, 56, 57, 58, 59,
3550 60, -1, 62, 63, -1, 65, 66, 67, 68, 69,
3551 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3552 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
3553 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
3554 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
3555 110, 111, -1, -1, -1, -1, -1, -1, -1, -1,
3556 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3557 -1, -1, -1, -1, -1, 135, 136, 137, -1, 139,
3558 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
3559 150, 151, 152, 153, -1, 155, 156, 3, 4, 5,
3560 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
3561 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3562 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
3563 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
3564 46, 47, 48, -1, 50, -1, 52, 53, 54, 55,
3565 56, 57, 58, 59, 60, -1, 62, 63, -1, 65,
3566 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3567 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
3568 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
3569 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
3570 106, 107, 108, 109, 110, 111, -1, -1, -1, -1,
3571 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3572 -1, -1, -1, -1, -1, -1, -1, -1, 134, 135,
3573 -1, 137, -1, 139, 140, 141, 142, 143, 144, 145,
3574 146, 147, 148, 149, 150, 151, 152, 153, -1, 155,
3575 156, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3576 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
3577 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3578 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
3579 42, 43, 44, 45, 46, 47, 48, -1, 50, -1,
3580 52, 53, 54, 55, 56, 57, 58, 59, 60, -1,
3581 62, 63, -1, 65, 66, 67, 68, 69, 70, 71,
3582 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3583 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
3584 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
3585 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
3586 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3587 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3588 -1, -1, 134, 135, -1, 137, -1, 139, 140, 141,
3589 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
3590 152, 153, -1, 155, 156, 3, 4, -1, -1, -1,
3591 8, 9, -1, -1, -1, -1, -1, -1, -1, 17,
3592 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3593 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
3594 38, 39, 40, 41, -1, 43, -1, -1, 46, 47,
3595 48, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3596 58, 59, 60, 61, -1, -1, 64, -1, -1, -1,
3597 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3598 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3599 -1, -1, -1, -1, -1, -1, -1, -1, -1, 97,
3600 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
3601 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
3602 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
3603 128, 129, 130, 131, 132, 133, 134, 3, 4, -1,
3604 -1, -1, 8, 9, -1, -1, -1, -1, 146, -1,
3605 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3606 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
3607 36, 37, 38, 39, 40, -1, -1, 43, -1, -1,
3608 46, 47, 48, -1, 50, 51, 52, 53, -1, -1,
3609 -1, 57, 58, 59, -1, -1, -1, -1, 64, -1,
3610 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3611 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3612 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3613 -1, 97, 98, 99, 100, 101, 102, 103, 104, 105,
3614 106, 107, 108, 109, 110, 111, -1, -1, -1, -1,
3615 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3616 -1, -1, -1, -1, -1, -1, -1, 3, 4, -1,
3617 -1, -1, 8, 9, -1, -1, -1, -1, -1, -1,
3618 146, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3619 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
3620 36, 37, 38, 39, 40, -1, -1, 43, -1, -1,
3621 46, 47, 48, -1, 50, 51, -1, 53, -1, -1,
3622 -1, 57, 58, 59, -1, -1, -1, -1, 64, -1,
3623 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3624 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3625 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3626 -1, 97, 98, 99, 100, 101, 102, 103, 104, 105,
3627 106, 107, 108, 109, 110, 111, -1, -1, -1, -1,
3628 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3629 -1, -1, -1, -1, -1, -1, -1, 3, 4, -1,
3630 -1, -1, 8, 9, -1, -1, -1, -1, -1, -1,
3631 146, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3632 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
3633 36, 37, 38, 39, 40, -1, -1, 43, -1, -1,
3634 -1, 47, 48, -1, 50, 51, -1, 53, -1, -1,
3635 -1, 57, 58, 59, -1, -1, -1, -1, 64, -1,
3636 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3637 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3638 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3639 -1, 97, 98, 99, 100, 101, 102, 103, 104, 105,
3640 106, 107, 108, 109, 110, 111, -1, -1, -1, -1,
3641 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3642 -1, -1, -1, -1, -1, -1, -1, 3, 4, -1,
3643 -1, -1, -1, 9, -1, -1, -1, -1, -1, -1,
3644 146, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3645 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
3646 36, 37, 38, 39, 40, -1, -1, 43, -1, -1,
3647 -1, 47, 48, -1, 50, 51, -1, 53, -1, -1,
3648 -1, 57, 58, 59, -1, -1, -1, -1, -1, -1,
3649 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3650 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3651 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3652 -1, 97, 98, 99, 100, 101, 102, 103, 104, 105,
3653 106, 107, 108, 109, 110, 111, -1, -1, -1, -1,
3654 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3655 -1, -1, -1, -1, -1, -1, -1, 3, 4, -1,
3656 -1, -1, -1, 9, -1, -1, -1, -1, -1, -1,
3657 146, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3658 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
3659 36, 37, 38, 39, 40, 9, -1, 43, -1, -1,
3660 -1, 47, 48, -1, -1, -1, -1, 53, -1, -1,
3661 -1, 57, 58, -1, -1, -1, -1, -1, 64, -1,
3662 -1, -1, -1, 37, 38, -1, -1, -1, -1, -1,
3663 44, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3664 -1, -1, -1, 57, -1, -1, -1, -1, -1, -1,
3665 -1, 97, 98, 99, 100, 101, 102, 103, 104, 105,
3666 106, 107, 108, 109, 110, 111, -1, -1, -1, -1,
3667 9, -1, 11, 12, 13, -1, 15, 16, -1, -1,
3668 -1, 95, 96, 97, 98, 99, 100, 101, 102, 103,
3669 104, 105, 106, 107, 108, 109, 110, 111, 37, 38,
3670 146, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3671 -1, -1, -1, -1, -1, -1, -1, -1, 57, -1,
3672 -1, -1, -1, -1, -1, -1, -1, 9, -1, -1,
3673 -1, -1, -1, 147, -1, -1, 150, -1, -1, -1,
3674 -1, -1, -1, -1, -1, 9, -1, -1, -1, -1,
3675 -1, -1, -1, -1, -1, 37, 38, -1, 97, 98,
3676 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3677 109, 110, 111, 37, 38, 57, -1, -1, -1, -1,
3678 -1, -1, 46, -1, -1, -1, -1, -1, -1, -1,
3679 -1, -1, -1, 57, -1, -1, 135, -1, -1, -1,
3680 -1, -1, 9, -1, -1, 144, 145, 146, -1, -1,
3681 -1, -1, -1, -1, -1, 97, 98, 99, 100, 101,
3682 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
3683 37, 38, 9, 97, 98, 99, 100, 101, 102, 103,
3684 104, 105, 106, 107, 108, 109, 110, 111, -1, -1,
3685 57, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3686 37, 38, -1, -1, 146, -1, -1, -1, -1, -1,
3687 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3688 57, -1, 146, -1, -1, -1, -1, -1, -1, -1,
3689 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
3690 107, 108, 109, 110, 111, -1, -1, 9, 10, 11,
3691 12, 13, 14, 15, 16, -1, -1, -1, -1, -1,
3692 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
3693 107, 108, 109, 110, 111, 37, 38, -1, -1, 146,
3694 -1, -1, 9, 10, 11, 12, 13, 14, 15, 16,
3695 -1, -1, -1, -1, -1, 57, -1, -1, 9, -1,
3696 -1, -1, -1, 65, 66, 67, 68, -1, -1, 146,
3697 37, 38, -1, -1, -1, -1, -1, -1, -1, -1,
3698 -1, -1, -1, -1, -1, -1, 37, 38, -1, -1,
3699 57, -1, -1, -1, -1, 97, 98, 99, 65, 66,
3700 67, 68, -1, -1, -1, -1, 57, -1, -1, -1,
3701 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3702 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3703 97, 98, 99, 135, -1, 137, -1, -1, -1, -1,
3704 -1, -1, 144, 145, 95, 96, 97, 98, 99, 100,
3705 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
3706 111, -1, -1, -1, -1, 3, 4, -1, 135, -1,
3707 -1, 9, -1, -1, -1, -1, -1, 144, 145, 17,
3708 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3709 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
3710 38, 39, 40, -1, -1, 43, -1, -1, -1, 47,
3711 48, -1, -1, -1, -1, 53, -1, -1, -1, 57,
3712 -1, -1, -1, -1, -1, -1, 9, -1, -1, -1,
3713 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3714 -1, -1, -1, -1, -1, -1, -1, 9, -1, -1,
3715 -1, -1, -1, -1, 37, 38, -1, -1, -1, 97,
3716 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
3717 108, 109, 110, 111, 57, 37, 38, -1, -1, -1,
3718 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3719 -1, -1, -1, -1, -1, 57, -1, -1, -1, 137,
3720 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3721 -1, -1, -1, -1, 97, 98, 99, 100, 101, 102,
3722 103, 104, 105, 106, 107, 108, 109, 110, 111, -1,
3723 -1, -1, -1, -1, -1, 97, 98, 99, 100, 101,
3724 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
3725 -1, 134, -1, -1, 137, -1, -1, -1, 141, -1,
3726 -1, -1, -1, -1, -1, -1, -1, -1, 3, 4,
3727 -1, -1, 134, 8, 9, 137, -1, -1, -1, 141,
3728 -1, -1, 17, 18, 19, 20, 21, 22, 23, 24,
3729 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
3730 35, 36, 37, 38, 39, 40, 41, -1, 43, -1,
3731 -1, 46, 47, 48, -1, 50, 51, 52, 53, 54,
3732 55, 56, 57, 58, 59, 60, 61, -1, -1, -1,
3733 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3734 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3735 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3736 -1, -1, 97, 98, 99, 100, 101, 102, 103, 104,
3737 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
3738 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
3739 125, 126, 127, 128, 129, 130, 131, 132, 9, 134,
3740 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3741 -1, -1, -1, 9, -1, -1, -1, -1, -1, -1,
3742 -1, -1, -1, -1, -1, -1, 37, 38, -1, -1,
3743 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3744 -1, 37, 38, -1, -1, -1, 57, -1, -1, -1,
3745 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3746 -1, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3747 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3748 -1, -1, -1, -1, -1, -1, 97, 98, 99, 100,
3749 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
3750 111, 97, 98, 99, 100, 101, 102, 103, 104, 105,
3751 106, 107, 108, 109, 110, 111, 9, -1, -1, -1,
3752 -1, -1, -1, -1, -1, -1, 137, -1, -1, -1,
3753 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3754 -1, 137, -1, -1, 37, 38, -1, -1, -1, -1,
3755 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3756 -1, -1, -1, -1, 57, -1, -1, -1, -1, -1,
3757 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3758 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3759 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3760 -1, -1, 95, 96, 97, 98, 99, 100, 101, 102,
3761 103, 104, 105, 106, 107, 108, 109, 110, 111, -1,
3762 -1, -1, -1, -1, -1, -1, -1, -1, -1, 3,
3763 4, -1, -1, -1, 8, 9, -1, -1, -1, -1,
3764 -1, -1, 135, 17, 18, 19, 20, 21, 22, 23,
3765 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
3766 34, 35, 36, 37, 38, 39, 40, -1, -1, 43,
3767 -1, -1, 46, 47, 48, -1, 50, 51, -1, 53,
3768 -1, -1, -1, 57, 58, 59, -1, -1, -1, -1,
3769 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3770 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3771 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3772 -1, -1, -1, 97, 98, 99, 100, 101, 102, 103,
3773 104, 105, 106, 107, 108, 109, 110, 111, 3, 4,
3774 -1, -1, -1, -1, 9, -1, 11, 12, 13, -1,
3775 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
3776 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
3777 35, 36, 37, 38, 39, 40, -1, -1, 43, -1,
3778 -1, -1, 47, 48, -1, -1, -1, -1, 53, -1,
3779 -1, -1, 57, -1, -1, -1, -1, -1, -1, -1,
3780 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3781 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3782 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3783 -1, -1, 97, 98, 99, 100, 101, 102, 103, 104,
3784 105, 106, 107, 108, 109, 110, 111, 3, 4, -1,
3785 -1, -1, -1, 9, -1, -1, -1, -1, -1, -1,
3786 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3787 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
3788 36, 37, 38, 39, 40, -1, -1, 43, -1, -1,
3789 -1, 47, 48, -1, 50, 51, -1, 53, -1, -1,
3790 -1, 57, 58, 59, -1, -1, -1, -1, -1, -1,
3791 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3792 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3793 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3794 -1, 97, 98, 99, 100, 101, 102, 103, 104, 105,
3795 106, 107, 108, 109, 110, 111, 3, 4, -1, -1,
3796 -1, -1, 9, -1, -1, -1, -1, -1, -1, -1,
3797 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
3798 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
3799 37, 38, 39, 40, -1, -1, 43, -1, -1, -1,
3800 47, 48, -1, -1, -1, -1, 53, -1, -1, -1,
3801 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3802 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3803 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3804 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3805 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
3806 107, 108, 109, 110, 111, 3, 4, -1, -1, -1,
3807 -1, 9, 10, -1, -1, -1, -1, -1, -1, 17,
3808 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3809 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
3810 38, 39, 40, -1, -1, 43, -1, -1, -1, 47,
3811 48, -1, -1, -1, -1, 53, -1, -1, -1, 57,
3812 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3813 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3814 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3815 -1, -1, -1, -1, -1, -1, -1, -1, -1, 97,
3816 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
3817 108, 109, 110, 111, 3, 4, -1, -1, -1, -1,
3818 9, -1, -1, -1, -1, -1, -1, -1, 17, 18,
3819 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3820 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
3821 39, 40, -1, -1, 43, -1, -1, -1, 47, 48,
3822 -1, -1, -1, -1, 53, -1, -1, -1, 57, -1,
3823 -1, 60, -1, -1, -1, -1, -1, -1, -1, -1,
3824 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3825 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3826 -1, -1, -1, -1, -1, -1, -1, -1, 97, 98,
3827 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
3828 109, 110, 111, 3, 4, -1, -1, -1, -1, 9,
3829 10, -1, -1, -1, -1, -1, -1, 17, 18, 19,
3830 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3831 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
3832 40, -1, -1, 43, -1, -1, -1, 47, 48, -1,
3833 -1, -1, -1, 53, -1, -1, -1, 57, -1, -1,
3834 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3835 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3836 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3837 -1, -1, -1, -1, -1, -1, -1, 97, 98, 99,
3838 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
3839 110, 111, 3, 4, -1, -1, -1, -1, 9, -1,
3840 -1, -1, -1, -1, -1, -1, 17, 18, 19, 20,
3841 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
3842 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
3843 -1, -1, 43, -1, -1, -1, 47, 48, -1, -1,
3844 -1, -1, 53, -1, -1, -1, 57, -1, -1, -1,
3845 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3846 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3847 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3848 -1, -1, -1, -1, -1, -1, 97, 98, 99, 100,
3849 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
3850 111, 3, 4, -1, -1, -1, -1, 9, -1, -1,
3851 -1, -1, -1, -1, -1, 17, 18, 19, 20, 21,
3852 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3853 32, 33, 34, 35, 36, 37, 38, 39, 40, -1,
3854 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
3855 -1, 53, -1, -1, -1, 57, -1, -1, -1, -1,
3856 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3857 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3858 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3859 -1, -1, -1, -1, -1, 97, 98, 99, 100, 101,
3860 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
3861 3, 4, -1, -1, -1, -1, 9, -1, -1, -1,
3862 -1, -1, -1, -1, 17, 18, 19, 20, 21, 22,
3863 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
3864 33, 34, 35, 36, 37, 38, 39, 40, -1, -1,
3865 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
3866 -1, -1, -1, -1, 57, -1, -1, -1, -1, -1,
3867 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3868 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3869 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3870 -1, -1, -1, -1, 97, 98, 99, 100, 101, 102,
3871 103, 104, 105, 106, 107, 108, 109, 110, 111, 4,
3872 -1, -1, -1, -1, 9, -1, -1, -1, -1, -1,
3873 -1, -1, 17, 18, 19, 20, 21, 22, 23, 24,
3874 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
3875 35, 36, 37, 38, 9, -1, -1, -1, -1, -1,
3876 -1, -1, 47, 48, -1, -1, -1, -1, 53, -1,
3877 -1, -1, 57, -1, -1, -1, -1, -1, -1, -1,
3878 -1, -1, 37, 38, -1, -1, -1, -1, -1, -1,
3879 -1, 46, -1, -1, -1, -1, -1, -1, -1, -1,
3880 -1, -1, 57, -1, -1, -1, -1, -1, -1, -1,
3881 -1, -1, 97, 98, 99, 100, 101, 102, 103, 104,
3882 105, 106, 107, 108, 109, 110, 111, -1, -1, 9,
3883 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3884 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
3885 105, 106, 107, 108, 109, 110, 111, 37, 38, 9,
3886 -1, -1, -1, -1, -1, -1, 46, -1, -1, -1,
3887 -1, -1, -1, -1, -1, -1, -1, 57, -1, -1,
3888 -1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
3889 -1, -1, -1, -1, -1, -1, 46, -1, -1, -1,
3890 -1, -1, -1, -1, -1, -1, -1, 57, -1, -1,
3891 -1, -1, -1, -1, -1, 95, 96, 97, 98, 99,
3892 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
3893 110, 111, -1, -1, 9, -1, -1, -1, -1, -1,
3894 -1, -1, -1, -1, -1, -1, -1, 97, 98, 99,
3895 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
3896 110, 111, 37, 38, 9, -1, -1, -1, -1, -1,
3897 -1, 46, -1, -1, -1, -1, -1, -1, -1, -1,
3898 -1, -1, 57, -1, -1, -1, -1, -1, -1, 9,
3899 -1, -1, 37, 38, -1, -1, -1, -1, -1, -1,
3900 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3901 -1, -1, 57, -1, -1, -1, -1, 37, 38, -1,
3902 -1, -1, 97, 98, 99, 100, 101, 102, 103, 104,
3903 105, 106, 107, 108, 109, 110, 111, 57, -1, -1,
3904 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3905 -1, -1, 97, 98, 99, 100, 101, 102, 103, 104,
3906 105, 106, 107, 108, 109, 110, 111, -1, -1, -1,
3907 -1, -1, -1, -1, -1, -1, -1, 97, 98, 99,
3908 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
3909 110, 111, 62, 63, -1, -1, -1, -1, -1, 69,
3910 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3911 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
3912 90, 91, 92, -1, -1, -1, -1, -1, -1, -1,
3913 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3914 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3915 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3916 -1, -1, -1, -1, -1, 135, -1, -1, -1, 139,
3917 140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
3918 150, 151, 152, 153, -1, 155
3921 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
3922 symbol of state STATE-NUM. */
3923 static const yytype_uint16 yystos[] =
3925 0, 158, 0, 159, 3, 4, 8, 9, 17, 18,
3926 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3927 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
3928 39, 40, 41, 43, 46, 47, 48, 50, 51, 52,
3929 53, 54, 55, 56, 57, 58, 59, 60, 61, 97,
3930 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
3931 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
3932 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
3933 128, 129, 130, 131, 132, 134, 160, 161, 162, 164,
3934 178, 194, 195, 196, 197, 206, 208, 209, 213, 214,
3935 215, 252, 283, 284, 285, 286, 287, 288, 290, 298,
3936 299, 303, 304, 305, 306, 321, 9, 37, 38, 57,
3937 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
3938 107, 108, 109, 110, 111, 137, 280, 281, 282, 305,
3939 280, 305, 3, 4, 9, 39, 40, 57, 97, 285,
3940 299, 135, 139, 180, 280, 305, 137, 280, 305, 50,
3941 58, 59, 283, 284, 285, 299, 285, 139, 289, 9,
3942 37, 38, 57, 97, 98, 99, 137, 299, 9, 37,
3943 38, 53, 55, 57, 97, 98, 99, 290, 297, 298,
3944 135, 139, 50, 60, 10, 285, 255, 135, 135, 139,
3945 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
3946 135, 135, 135, 135, 135, 135, 135, 135, 135, 135,
3947 135, 44, 147, 150, 254, 257, 258, 300, 301, 302,
3948 254, 60, 164, 178, 285, 164, 208, 214, 283, 134,
3949 137, 226, 226, 226, 226, 226, 9, 37, 38, 46,
3950 57, 95, 96, 97, 98, 99, 210, 218, 220, 223,
3951 227, 253, 262, 265, 272, 280, 299, 285, 300, 288,
3952 287, 94, 94, 134, 346, 139, 167, 139, 165, 9,
3953 37, 38, 57, 97, 98, 99, 218, 94, 346, 292,
3954 137, 179, 346, 139, 169, 10, 135, 285, 94, 140,
3955 198, 297, 346, 163, 297, 297, 134, 346, 291, 255,
3956 137, 285, 134, 142, 208, 283, 346, 293, 9, 37,
3957 38, 57, 97, 98, 99, 280, 323, 326, 327, 280,
3958 280, 331, 280, 280, 280, 280, 280, 280, 280, 280,
3959 280, 280, 280, 280, 280, 280, 134, 255, 253, 280,
3960 259, 150, 302, 134, 134, 248, 280, 300, 248, 262,
3961 254, 226, 226, 280, 346, 62, 63, 69, 70, 71,
3962 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3963 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
3964 92, 135, 139, 140, 142, 143, 144, 145, 146, 147,
3965 148, 149, 150, 151, 152, 153, 155, 344, 345, 218,
3966 223, 299, 219, 224, 255, 143, 249, 250, 262, 270,
3967 300, 273, 274, 275, 135, 139, 94, 297, 9, 37,
3968 38, 57, 97, 98, 99, 146, 215, 231, 233, 280,
3969 297, 299, 3, 4, 5, 6, 7, 8, 9, 10,
3970 11, 12, 13, 14, 15, 16, 37, 38, 39, 40,
3971 41, 42, 43, 44, 45, 46, 50, 52, 53, 54,
3972 55, 56, 57, 58, 59, 60, 62, 63, 65, 66,
3973 67, 68, 93, 94, 95, 96, 97, 98, 99, 134,
3974 135, 137, 138, 141, 153, 156, 306, 345, 348, 349,
3975 350, 351, 352, 11, 12, 13, 15, 16, 184, 285,
3976 294, 296, 141, 174, 294, 174, 136, 294, 181, 182,
3977 280, 137, 138, 294, 174, 216, 146, 231, 299, 4,
3978 53, 199, 201, 202, 203, 304, 138, 137, 134, 134,
3979 136, 294, 134, 158, 256, 136, 136, 294, 142, 280,
3980 280, 280, 142, 142, 280, 142, 142, 142, 142, 142,
3981 142, 142, 142, 142, 142, 142, 136, 136, 142, 253,
3982 134, 280, 134, 134, 134, 138, 153, 153, 136, 154,
3983 221, 94, 43, 45, 143, 225, 225, 134, 251, 136,
3984 262, 276, 278, 228, 229, 238, 239, 280, 232, 135,
3985 94, 346, 346, 346, 346, 346, 140, 142, 5, 6,
3986 7, 175, 176, 297, 137, 140, 137, 140, 138, 142,
3987 143, 181, 140, 137, 241, 242, 238, 94, 140, 142,
3988 197, 204, 280, 204, 158, 140, 138, 257, 140, 322,
3989 142, 136, 136, 328, 330, 142, 303, 334, 336, 338,
3990 340, 335, 337, 339, 341, 342, 343, 280, 154, 154,
3991 135, 16, 16, 10, 11, 12, 13, 14, 15, 16,
3992 65, 66, 67, 68, 135, 137, 144, 145, 297, 307,
3993 312, 318, 319, 320, 263, 153, 241, 294, 135, 141,
3994 235, 234, 146, 231, 136, 136, 136, 138, 154, 168,
3995 295, 297, 297, 297, 142, 171, 166, 171, 181, 9,
3996 57, 97, 135, 144, 145, 146, 183, 184, 185, 189,
3997 280, 290, 298, 138, 170, 171, 136, 60, 93, 243,
3998 245, 246, 146, 231, 200, 204, 205, 138, 285, 324,
3999 303, 303, 332, 136, 303, 303, 303, 303, 303, 303,
4000 303, 303, 303, 303, 142, 309, 222, 315, 308, 314,
4001 313, 139, 10, 135, 267, 274, 277, 136, 140, 240,
4002 237, 297, 241, 238, 174, 294, 175, 5, 6, 7,
4003 138, 172, 177, 174, 138, 188, 71, 72, 144, 145,
4004 147, 148, 149, 150, 151, 152, 190, 186, 174, 138,
4005 217, 142, 285, 238, 199, 249, 136, 285, 329, 136,
4006 303, 136, 136, 136, 136, 136, 136, 136, 136, 142,
4007 142, 136, 241, 312, 307, 320, 320, 316, 268, 185,
4008 279, 135, 241, 142, 236, 135, 136, 137, 8, 9,
4009 37, 38, 41, 49, 50, 57, 61, 64, 97, 98,
4010 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
4011 109, 110, 111, 133, 134, 146, 164, 173, 178, 194,
4012 196, 197, 207, 211, 212, 214, 231, 252, 283, 321,
4013 141, 137, 185, 187, 185, 137, 225, 244, 95, 96,
4014 135, 260, 264, 271, 272, 325, 142, 333, 11, 11,
4015 136, 136, 310, 286, 241, 154, 230, 136, 237, 346,
4016 171, 146, 283, 285, 3, 4, 40, 191, 192, 197,
4017 211, 214, 283, 64, 146, 231, 135, 50, 135, 238,
4018 254, 254, 164, 211, 214, 226, 226, 231, 226, 223,
4019 171, 136, 185, 171, 243, 247, 260, 269, 300, 273,
4020 136, 347, 136, 136, 136, 142, 309, 140, 136, 241,
4021 236, 136, 138, 238, 223, 134, 137, 141, 193, 280,
4022 280, 193, 280, 3, 4, 40, 192, 226, 226, 238,
4023 8, 211, 283, 346, 134, 134, 254, 226, 226, 138,
4024 138, 249, 136, 260, 136, 349, 311, 138, 135, 43,
4025 266, 136, 346, 347, 193, 193, 193, 136, 136, 134,
4026 261, 307, 317, 138, 134, 134, 267, 312, 347, 136,
4030 #define yyerrok (yyerrstatus = 0)
4031 #define yyclearin (yychar = YYEMPTY)
4032 #define YYEMPTY (-2)
4035 #define YYACCEPT goto yyacceptlab
4036 #define YYABORT goto yyabortlab
4037 #define YYERROR goto yyerrorlab
4040 /* Like YYERROR except do call yyerror. This remains here temporarily
4041 to ease the transition to the new meaning of YYERROR, for GCC.
4042 Once GCC version 2 has supplanted version 1, this can go. */
4044 #define YYFAIL goto yyerrlab
4046 #define YYRECOVERING() (!!yyerrstatus)
4048 #define YYBACKUP(Token, Value) \
4050 if (yychar == YYEMPTY && yylen == 1) \
4054 yytoken = YYTRANSLATE (yychar); \
4060 yyerror (YY_("syntax error: cannot back up")); \
4067 #define YYERRCODE 256
4070 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
4071 If N is 0, then set CURRENT to the empty location which ends
4072 the previous symbol: RHS[0] (always defined). */
4074 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
4075 #ifndef YYLLOC_DEFAULT
4076 # define YYLLOC_DEFAULT(Current, Rhs, N) \
4080 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
4081 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
4082 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
4083 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
4087 (Current).first_line = (Current).last_line = \
4088 YYRHSLOC (Rhs, 0).last_line; \
4089 (Current).first_column = (Current).last_column = \
4090 YYRHSLOC (Rhs, 0).last_column; \
4096 /* YY_LOCATION_PRINT -- Print the location on the stream.
4097 This macro was not mandated originally: define only if we know
4098 we won't break user code: when these are the locations we know. */
4100 #ifndef YY_LOCATION_PRINT
4101 # if YYLTYPE_IS_TRIVIAL
4102 # define YY_LOCATION_PRINT(File, Loc) \
4103 fprintf (File, "%d.%d-%d.%d", \
4104 (Loc).first_line, (Loc).first_column, \
4105 (Loc).last_line, (Loc).last_column)
4107 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
4112 /* YYLEX -- calling `yylex' with the right arguments. */
4115 # define YYLEX yylex (YYLEX_PARAM)
4117 # define YYLEX yylex ()
4120 /* Enable debugging if requested. */
4124 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
4125 # define YYFPRINTF fprintf
4128 # define YYDPRINTF(Args) \
4134 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
4138 YYFPRINTF (stderr, "%s ", Title); \
4139 yy_symbol_print (stderr, \
4141 YYFPRINTF (stderr, "\n"); \
4146 /*--------------------------------.
4147 | Print this symbol on YYOUTPUT. |
4148 `--------------------------------*/
4151 #if (defined __STDC__ || defined __C99__FUNC__ \
4152 || defined __cplusplus || defined _MSC_VER)
4154 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
4157 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
4160 YYSTYPE const * const yyvaluep;
4166 if (yytype < YYNTOKENS)
4167 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
4179 /*--------------------------------.
4180 | Print this symbol on YYOUTPUT. |
4181 `--------------------------------*/
4183 #if (defined __STDC__ || defined __C99__FUNC__ \
4184 || defined __cplusplus || defined _MSC_VER)
4186 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
4189 yy_symbol_print (yyoutput, yytype, yyvaluep)
4192 YYSTYPE const * const yyvaluep;
4195 if (yytype < YYNTOKENS)
4196 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
4198 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
4200 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
4201 YYFPRINTF (yyoutput, ")");
4204 /*------------------------------------------------------------------.
4205 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
4207 `------------------------------------------------------------------*/
4209 #if (defined __STDC__ || defined __C99__FUNC__ \
4210 || defined __cplusplus || defined _MSC_VER)
4212 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
4215 yy_stack_print (yybottom, yytop)
4216 yytype_int16 *yybottom;
4217 yytype_int16 *yytop;
4220 YYFPRINTF (stderr, "Stack now");
4221 for (; yybottom <= yytop; yybottom++)
4223 int yybot = *yybottom;
4224 YYFPRINTF (stderr, " %d", yybot);
4226 YYFPRINTF (stderr, "\n");
4229 # define YY_STACK_PRINT(Bottom, Top) \
4232 yy_stack_print ((Bottom), (Top)); \
4236 /*------------------------------------------------.
4237 | Report that the YYRULE is going to be reduced. |
4238 `------------------------------------------------*/
4240 #if (defined __STDC__ || defined __C99__FUNC__ \
4241 || defined __cplusplus || defined _MSC_VER)
4243 yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
4246 yy_reduce_print (yyvsp, yyrule)
4251 int yynrhs = yyr2[yyrule];
4253 unsigned long int yylno = yyrline[yyrule];
4254 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
4256 /* The symbols being reduced. */
4257 for (yyi = 0; yyi < yynrhs; yyi++)
4259 YYFPRINTF (stderr, " $%d = ", yyi + 1);
4260 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
4261 &(yyvsp[(yyi + 1) - (yynrhs)])
4263 YYFPRINTF (stderr, "\n");
4267 # define YY_REDUCE_PRINT(Rule) \
4270 yy_reduce_print (yyvsp, Rule); \
4273 /* Nonzero means print parse trace. It is left uninitialized so that
4274 multiple parsers can coexist. */
4276 #else /* !YYDEBUG */
4277 # define YYDPRINTF(Args)
4278 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
4279 # define YY_STACK_PRINT(Bottom, Top)
4280 # define YY_REDUCE_PRINT(Rule)
4281 #endif /* !YYDEBUG */
4284 /* YYINITDEPTH -- initial size of the parser's stacks. */
4286 # define YYINITDEPTH 200
4289 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
4290 if the built-in stack extension method is used).
4292 Do not make this value too large; the results are undefined if
4293 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
4294 evaluated with infinite-precision integer arithmetic. */
4297 # define YYMAXDEPTH 10000
4305 # if defined __GLIBC__ && defined _STRING_H
4306 # define yystrlen strlen
4308 /* Return the length of YYSTR. */
4309 #if (defined __STDC__ || defined __C99__FUNC__ \
4310 || defined __cplusplus || defined _MSC_VER)
4312 yystrlen (const char *yystr)
4320 for (yylen = 0; yystr[yylen]; yylen++)
4328 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
4329 # define yystpcpy stpcpy
4331 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
4333 #if (defined __STDC__ || defined __C99__FUNC__ \
4334 || defined __cplusplus || defined _MSC_VER)
4336 yystpcpy (char *yydest, const char *yysrc)
4339 yystpcpy (yydest, yysrc)
4345 const char *yys = yysrc;
4347 while ((*yyd++ = *yys++) != '\0')
4356 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
4357 quotes and backslashes, so that it's suitable for yyerror. The
4358 heuristic is that double-quoting is unnecessary unless the string
4359 contains an apostrophe, a comma, or backslash (other than
4360 backslash-backslash). YYSTR is taken from yytname. If YYRES is
4361 null, do not copy; instead, return the length of what the result
4364 yytnamerr (char *yyres, const char *yystr)
4369 char const *yyp = yystr;
4376 goto do_not_strip_quotes;
4380 goto do_not_strip_quotes;
4393 do_not_strip_quotes: ;
4397 return yystrlen (yystr);
4399 return yystpcpy (yyres, yystr) - yyres;
4403 /* Copy into YYRESULT an error message about the unexpected token
4404 YYCHAR while in state YYSTATE. Return the number of bytes copied,
4405 including the terminating null byte. If YYRESULT is null, do not
4406 copy anything; just return the number of bytes that would be
4407 copied. As a special case, return 0 if an ordinary "syntax error"
4408 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
4409 size calculation. */
4411 yysyntax_error (char *yyresult, int yystate, int yychar)
4413 int yyn = yypact[yystate];
4415 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
4419 int yytype = YYTRANSLATE (yychar);
4420 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
4421 YYSIZE_T yysize = yysize0;
4423 int yysize_overflow = 0;
4424 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
4425 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
4429 /* This is so xgettext sees the translatable formats that are
4430 constructed on the fly. */
4431 YY_("syntax error, unexpected %s");
4432 YY_("syntax error, unexpected %s, expecting %s");
4433 YY_("syntax error, unexpected %s, expecting %s or %s");
4434 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
4435 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
4439 static char const yyunexpected[] = "syntax error, unexpected %s";
4440 static char const yyexpecting[] = ", expecting %s";
4441 static char const yyor[] = " or %s";
4442 char yyformat[sizeof yyunexpected
4443 + sizeof yyexpecting - 1
4444 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
4445 * (sizeof yyor - 1))];
4446 char const *yyprefix = yyexpecting;
4448 /* Start YYX at -YYN if negative to avoid negative indexes in
4450 int yyxbegin = yyn < 0 ? -yyn : 0;
4452 /* Stay within bounds of both yycheck and yytname. */
4453 int yychecklim = YYLAST - yyn + 1;
4454 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
4457 yyarg[0] = yytname[yytype];
4458 yyfmt = yystpcpy (yyformat, yyunexpected);
4460 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
4461 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
4463 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
4467 yyformat[sizeof yyunexpected - 1] = '\0';
4470 yyarg[yycount++] = yytname[yyx];
4471 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
4472 yysize_overflow |= (yysize1 < yysize);
4474 yyfmt = yystpcpy (yyfmt, yyprefix);
4478 yyf = YY_(yyformat);
4479 yysize1 = yysize + yystrlen (yyf);
4480 yysize_overflow |= (yysize1 < yysize);
4483 if (yysize_overflow)
4484 return YYSIZE_MAXIMUM;
4488 /* Avoid sprintf, as that infringes on the user's name space.
4489 Don't have undefined behavior even if the translation
4490 produced a string with the wrong number of "%s"s. */
4491 char *yyp = yyresult;
4493 while ((*yyp = *yyf) != '\0')
4495 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
4497 yyp += yytnamerr (yyp, yyarg[yyi++]);
4510 #endif /* YYERROR_VERBOSE */
4513 /*-----------------------------------------------.
4514 | Release the memory associated to this symbol. |
4515 `-----------------------------------------------*/
4518 #if (defined __STDC__ || defined __C99__FUNC__ \
4519 || defined __cplusplus || defined _MSC_VER)
4521 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
4524 yydestruct (yymsg, yytype, yyvaluep)
4534 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
4544 /* Prevent warnings from -Wmissing-prototypes. */
4545 #ifdef YYPARSE_PARAM
4546 #if defined __STDC__ || defined __cplusplus
4547 int yyparse (void *YYPARSE_PARAM);
4551 #else /* ! YYPARSE_PARAM */
4552 #if defined __STDC__ || defined __cplusplus
4557 #endif /* ! YYPARSE_PARAM */
4560 /* The lookahead symbol. */
4563 /* The semantic value of the lookahead symbol. */
4566 /* Number of syntax errors so far. */
4571 /*-------------------------.
4572 | yyparse or yypush_parse. |
4573 `-------------------------*/
4575 #ifdef YYPARSE_PARAM
4576 #if (defined __STDC__ || defined __C99__FUNC__ \
4577 || defined __cplusplus || defined _MSC_VER)
4579 yyparse (void *YYPARSE_PARAM)
4582 yyparse (YYPARSE_PARAM)
4583 void *YYPARSE_PARAM;
4585 #else /* ! YYPARSE_PARAM */
4586 #if (defined __STDC__ || defined __C99__FUNC__ \
4587 || defined __cplusplus || defined _MSC_VER)
4600 /* Number of tokens to shift before error messages enabled. */
4603 /* The stacks and their tools:
4604 `yyss': related to states.
4605 `yyvs': related to semantic values.
4607 Refer to the stacks thru separate pointers, to allow yyoverflow
4608 to reallocate them elsewhere. */
4610 /* The state stack. */
4611 yytype_int16 yyssa[YYINITDEPTH];
4613 yytype_int16 *yyssp;
4615 /* The semantic value stack. */
4616 YYSTYPE yyvsa[YYINITDEPTH];
4620 YYSIZE_T yystacksize;
4624 /* Lookahead token as an internal (translated) token number. */
4626 /* The variables used to return semantic value and location from the
4631 /* Buffer for error messages, and its allocated size. */
4633 char *yymsg = yymsgbuf;
4634 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
4637 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
4639 /* The number of symbols on the RHS of the reduced rule.
4640 Keep to zero when no symbol should be popped. */
4646 yystacksize = YYINITDEPTH;
4648 YYDPRINTF ((stderr, "Starting parse\n"));
4653 yychar = YYEMPTY; /* Cause a token to be read. */
4655 /* Initialize stack pointers.
4656 Waste one element of value and location stack
4657 so that they stay on the same level as the state stack.
4658 The wasted elements are never initialized. */
4664 /*------------------------------------------------------------.
4665 | yynewstate -- Push a new state, which is found in yystate. |
4666 `------------------------------------------------------------*/
4668 /* In all cases, when you get here, the value and location stacks
4669 have just been pushed. So pushing a state here evens the stacks. */
4675 if (yyss + yystacksize - 1 <= yyssp)
4677 /* Get the current used size of the three stacks, in elements. */
4678 YYSIZE_T yysize = yyssp - yyss + 1;
4682 /* Give user a chance to reallocate the stack. Use copies of
4683 these so that the &'s don't force the real ones into
4685 YYSTYPE *yyvs1 = yyvs;
4686 yytype_int16 *yyss1 = yyss;
4688 /* Each stack pointer address is followed by the size of the
4689 data in use in that stack, in bytes. This used to be a
4690 conditional around just the two extra args, but that might
4691 be undefined if yyoverflow is a macro. */
4692 yyoverflow (YY_("memory exhausted"),
4693 &yyss1, yysize * sizeof (*yyssp),
4694 &yyvs1, yysize * sizeof (*yyvsp),
4700 #else /* no yyoverflow */
4701 # ifndef YYSTACK_RELOCATE
4702 goto yyexhaustedlab;
4704 /* Extend the stack our own way. */
4705 if (YYMAXDEPTH <= yystacksize)
4706 goto yyexhaustedlab;
4708 if (YYMAXDEPTH < yystacksize)
4709 yystacksize = YYMAXDEPTH;
4712 yytype_int16 *yyss1 = yyss;
4713 union yyalloc *yyptr =
4714 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
4716 goto yyexhaustedlab;
4717 YYSTACK_RELOCATE (yyss_alloc, yyss);
4718 YYSTACK_RELOCATE (yyvs_alloc, yyvs);
4719 # undef YYSTACK_RELOCATE
4721 YYSTACK_FREE (yyss1);
4724 #endif /* no yyoverflow */
4726 yyssp = yyss + yysize - 1;
4727 yyvsp = yyvs + yysize - 1;
4729 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
4730 (unsigned long int) yystacksize));
4732 if (yyss + yystacksize - 1 <= yyssp)
4736 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
4738 if (yystate == YYFINAL)
4748 /* Do appropriate processing given the current state. Read a
4749 lookahead token if we need one and don't already have one. */
4751 /* First try to decide what to do without reference to lookahead token. */
4752 yyn = yypact[yystate];
4753 if (yyn == YYPACT_NINF)
4756 /* Not known => get a lookahead token if don't already have one. */
4758 /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
4759 if (yychar == YYEMPTY)
4761 YYDPRINTF ((stderr, "Reading a token: "));
4765 if (yychar <= YYEOF)
4767 yychar = yytoken = YYEOF;
4768 YYDPRINTF ((stderr, "Now at end of input.\n"));
4772 yytoken = YYTRANSLATE (yychar);
4773 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
4776 /* If the proper action on seeing token YYTOKEN is to reduce or to
4777 detect an error, take that action. */
4779 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
4784 if (yyn == 0 || yyn == YYTABLE_NINF)
4790 /* Count tokens shifted since error; after three, turn off error
4795 /* Shift the lookahead token. */
4796 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
4798 /* Discard the shifted token. */
4807 /*-----------------------------------------------------------.
4808 | yydefault -- do the default action for the current state. |
4809 `-----------------------------------------------------------*/
4811 yyn = yydefact[yystate];
4817 /*-----------------------------.
4818 | yyreduce -- Do a reduction. |
4819 `-----------------------------*/
4821 /* yyn is the number of a rule to reduce with. */
4824 /* If YYLEN is nonzero, implement the default value of the action:
4827 Otherwise, the following line sets YYVAL to garbage.
4828 This behavior is undocumented and Bison
4829 users should not rely upon it. Assigning to YYVAL
4830 unconditionally makes the parser a bit smaller, and it avoids a
4831 GCC warning that YYVAL may be used uninitialized. */
4832 yyval = yyvsp[1-yylen];
4835 YY_REDUCE_PRINT (yyn);
4840 /* Line 1455 of yacc.c */
4841 #line 1333 "vtkParse.y"
4842 { startSig(); clearTypeId(); clearTemplate(); closeComment(); }
4847 /* Line 1455 of yacc.c */
4848 #line 1346 "vtkParse.y"
4849 { output_function(); }
4854 /* Line 1455 of yacc.c */
4855 #line 1347 "vtkParse.y"
4856 { output_function(); }
4861 /* Line 1455 of yacc.c */
4862 #line 1348 "vtkParse.y"
4863 { reject_function(); }
4868 /* Line 1455 of yacc.c */
4869 #line 1349 "vtkParse.y"
4870 { output_function(); }
4875 /* Line 1455 of yacc.c */
4876 #line 1350 "vtkParse.y"
4877 { reject_function(); }
4882 /* Line 1455 of yacc.c */
4883 #line 1351 "vtkParse.y"
4884 { output_function(); }
4889 /* Line 1455 of yacc.c */
4890 #line 1352 "vtkParse.y"
4891 { legacySig(); output_function(); }
4896 /* Line 1455 of yacc.c */
4897 #line 1370 "vtkParse.y"
4898 { pushNamespace((yyvsp[(2) - (2)].str)); }
4903 /* Line 1455 of yacc.c */
4904 #line 1371 "vtkParse.y"
4910 /* Line 1455 of yacc.c */
4911 #line 1378 "vtkParse.y"
4912 { start_class((yyvsp[(2) - (2)].str), 0); }
4917 /* Line 1455 of yacc.c */
4918 #line 1379 "vtkParse.y"
4924 /* Line 1455 of yacc.c */
4925 #line 1380 "vtkParse.y"
4926 { reject_class((yyvsp[(2) - (5)].str), 0); }
4931 /* Line 1455 of yacc.c */
4932 #line 1381 "vtkParse.y"
4938 /* Line 1455 of yacc.c */
4939 #line 1382 "vtkParse.y"
4940 { start_class((yyvsp[(2) - (2)].str), 1); }
4945 /* Line 1455 of yacc.c */
4946 #line 1383 "vtkParse.y"
4952 /* Line 1455 of yacc.c */
4953 #line 1384 "vtkParse.y"
4954 { reject_class((yyvsp[(2) - (5)].str), 1); }
4959 /* Line 1455 of yacc.c */
4960 #line 1385 "vtkParse.y"
4966 /* Line 1455 of yacc.c */
4967 #line 1387 "vtkParse.y"
4968 { start_class((yyvsp[(2) - (2)].str), 2); }
4973 /* Line 1455 of yacc.c */
4974 #line 1388 "vtkParse.y"
4980 /* Line 1455 of yacc.c */
4981 #line 1389 "vtkParse.y"
4982 { reject_class((yyvsp[(2) - (5)].str), 2); }
4987 /* Line 1455 of yacc.c */
4988 #line 1390 "vtkParse.y"
4994 /* Line 1455 of yacc.c */
4995 #line 1395 "vtkParse.y"
4996 { startSig(); clearTypeId(); clearTemplate(); closeComment(); }
5001 /* Line 1455 of yacc.c */
5002 #line 1409 "vtkParse.y"
5003 { output_function(); }
5008 /* Line 1455 of yacc.c */
5009 #line 1410 "vtkParse.y"
5010 { ClassInfo *tmpc = currentClass;
5011 currentClass = NULL; output_function(); currentClass = tmpc; }
5016 /* Line 1455 of yacc.c */
5017 #line 1412 "vtkParse.y"
5018 { output_function(); }
5023 /* Line 1455 of yacc.c */
5024 #line 1413 "vtkParse.y"
5025 { output_function(); }
5030 /* Line 1455 of yacc.c */
5031 #line 1414 "vtkParse.y"
5032 { ClassInfo *tmpc = currentClass;
5033 currentClass = NULL; output_function(); currentClass = tmpc; }
5038 /* Line 1455 of yacc.c */
5039 #line 1416 "vtkParse.y"
5040 { output_function(); }
5045 /* Line 1455 of yacc.c */
5046 #line 1417 "vtkParse.y"
5047 { legacySig(); output_function(); }
5052 /* Line 1455 of yacc.c */
5053 #line 1430 "vtkParse.y"
5055 vtkParse_AddStringToArray(¤tClass->SuperClasses,
5056 ¤tClass->NumberOfSuperClasses,
5057 vtkstrdup((yyvsp[(2) - (2)].str)));
5063 /* Line 1455 of yacc.c */
5064 #line 1436 "vtkParse.y"
5065 {access_level = VTK_ACCESS_PUBLIC;}
5070 /* Line 1455 of yacc.c */
5071 #line 1437 "vtkParse.y"
5072 {access_level = VTK_ACCESS_PRIVATE;}
5077 /* Line 1455 of yacc.c */
5078 #line 1438 "vtkParse.y"
5079 {access_level = VTK_ACCESS_PROTECTED;}
5084 /* Line 1455 of yacc.c */
5085 #line 1448 "vtkParse.y"
5086 {start_enum((yyvsp[(2) - (2)].str));}
5091 /* Line 1455 of yacc.c */
5092 #line 1449 "vtkParse.y"
5098 /* Line 1455 of yacc.c */
5099 #line 1450 "vtkParse.y"
5105 /* Line 1455 of yacc.c */
5106 #line 1451 "vtkParse.y"
5112 /* Line 1455 of yacc.c */
5113 #line 1455 "vtkParse.y"
5114 {add_enum((yyvsp[(1) - (1)].str), NULL);}
5119 /* Line 1455 of yacc.c */
5120 #line 1456 "vtkParse.y"
5121 {add_enum((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str));}
5126 /* Line 1455 of yacc.c */
5127 #line 1458 "vtkParse.y"
5128 {postSig((yyvsp[(1) - (1)].str));}
5133 /* Line 1455 of yacc.c */
5134 #line 1459 "vtkParse.y"
5135 {(yyval.str) = vtkstrdup(add_const_scope((yyvsp[(1) - (1)].str)));}
5140 /* Line 1455 of yacc.c */
5141 #line 1464 "vtkParse.y"
5142 { (yyval.str) = (yyvsp[(1) - (1)].str); }
5147 /* Line 1455 of yacc.c */
5148 #line 1465 "vtkParse.y"
5149 {postSig((yyvsp[(1) - (1)].str));}
5154 /* Line 1455 of yacc.c */
5155 #line 1466 "vtkParse.y"
5157 (yyval.str) = vtkstrcat((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str));
5163 /* Line 1455 of yacc.c */
5164 #line 1469 "vtkParse.y"
5165 {postSig((yyvsp[(2) - (2)].str));}
5170 /* Line 1455 of yacc.c */
5171 #line 1470 "vtkParse.y"
5173 (yyval.str) = vtkstrcat5((yyvsp[(1) - (4)].str), " ", (yyvsp[(2) - (4)].str), " ", (yyvsp[(4) - (4)].str));
5179 /* Line 1455 of yacc.c */
5180 #line 1473 "vtkParse.y"
5186 /* Line 1455 of yacc.c */
5187 #line 1474 "vtkParse.y"
5189 (yyval.str) = vtkstrcat3("(", (yyvsp[(3) - (4)].str), ")");
5195 /* Line 1455 of yacc.c */
5196 #line 1478 "vtkParse.y"
5197 { (yyval.str) = "-"; }
5202 /* Line 1455 of yacc.c */
5203 #line 1478 "vtkParse.y"
5204 { (yyval.str) = "+"; }
5209 /* Line 1455 of yacc.c */
5210 #line 1479 "vtkParse.y"
5211 { (yyval.str) = "~"; }
5216 /* Line 1455 of yacc.c */
5217 #line 1481 "vtkParse.y"
5218 { (yyval.str) = "-"; }
5223 /* Line 1455 of yacc.c */
5224 #line 1481 "vtkParse.y"
5225 { (yyval.str) = "+"; }
5230 /* Line 1455 of yacc.c */
5231 #line 1482 "vtkParse.y"
5232 { (yyval.str) = "*"; }
5237 /* Line 1455 of yacc.c */
5238 #line 1482 "vtkParse.y"
5239 { (yyval.str) = "/"; }
5244 /* Line 1455 of yacc.c */
5245 #line 1483 "vtkParse.y"
5246 { (yyval.str) = "%"; }
5251 /* Line 1455 of yacc.c */
5252 #line 1483 "vtkParse.y"
5253 { (yyval.str) = "&"; }
5258 /* Line 1455 of yacc.c */
5259 #line 1484 "vtkParse.y"
5260 { (yyval.str) = "|"; }
5265 /* Line 1455 of yacc.c */
5266 #line 1484 "vtkParse.y"
5267 { (yyval.str) = "^"; }
5272 /* Line 1455 of yacc.c */
5273 #line 1485 "vtkParse.y"
5274 { (yyval.str) = ">>"; }
5279 /* Line 1455 of yacc.c */
5280 #line 1486 "vtkParse.y"
5281 { (yyval.str) = "<<"; }
5286 /* Line 1455 of yacc.c */
5287 #line 1509 "vtkParse.y"
5289 ValueInfo *item = (ValueInfo *)malloc(sizeof(ValueInfo));
5290 vtkParse_InitValue(item);
5291 item->ItemType = VTK_TYPEDEF_INFO;
5292 item->Access = access_level;
5294 handle_complex_type(item, (yyvsp[(2) - (4)].integer), (yyvsp[(3) - (4)].integer), getSig());
5298 item->Name = vtkstrdup(getVarName());
5303 vtkParse_AddTypedefToClass(currentClass, item);
5307 vtkParse_AddTypedefToNamespace(currentNamespace, item);
5314 /* Line 1455 of yacc.c */
5315 #line 1531 "vtkParse.y"
5321 /* Line 1455 of yacc.c */
5322 #line 1532 "vtkParse.y"
5328 /* Line 1455 of yacc.c */
5329 #line 1533 "vtkParse.y"
5335 /* Line 1455 of yacc.c */
5336 #line 1535 "vtkParse.y"
5342 /* Line 1455 of yacc.c */
5343 #line 1542 "vtkParse.y"
5344 { add_using((yyvsp[(3) - (4)].str), 1); }
5349 /* Line 1455 of yacc.c */
5350 #line 1543 "vtkParse.y"
5351 { add_using((yyvsp[(3) - (4)].str), 0); }
5356 /* Line 1455 of yacc.c */
5357 #line 1544 "vtkParse.y"
5358 { add_using((yyvsp[(2) - (3)].str), 0); }
5363 /* Line 1455 of yacc.c */
5364 #line 1551 "vtkParse.y"
5365 { postSig("template<> "); clearTypeId(); }
5370 /* Line 1455 of yacc.c */
5371 #line 1552 "vtkParse.y"
5372 { postSig("template<");
5373 clearTypeId(); startTemplate(); }
5378 /* Line 1455 of yacc.c */
5379 #line 1554 "vtkParse.y"
5381 if (getSig()[strlen(getSig())-1] == '>') { postSig(" "); }
5382 postSig("> "); clearTypeId(); }
5387 /* Line 1455 of yacc.c */
5388 #line 1559 "vtkParse.y"
5389 { chopSig(); postSig(", "); clearTypeId(); }
5394 /* Line 1455 of yacc.c */
5395 #line 1563 "vtkParse.y"
5397 TemplateArg *arg = (TemplateArg *)malloc(sizeof(TemplateArg));
5398 vtkParse_InitTemplateArg(arg);
5399 arg->Type = (yyvsp[(1) - (2)].integer);
5400 arg->Class = vtkstrdup(getTypeId());
5401 arg->Name = vtkstrdup(getVarName());
5402 arg->Value = vtkstrdup(getVarValue());
5403 vtkParse_AddArgumentToTemplate(currentTemplate, arg);
5409 /* Line 1455 of yacc.c */
5410 #line 1573 "vtkParse.y"
5412 TemplateArg *arg = (TemplateArg *)malloc(sizeof(TemplateArg));
5413 vtkParse_InitTemplateArg(arg);
5414 arg->Name = vtkstrdup(getVarName());
5415 arg->Value = vtkstrdup(getVarValue());
5416 vtkParse_AddArgumentToTemplate(currentTemplate, arg);
5422 /* Line 1455 of yacc.c */
5423 #line 1580 "vtkParse.y"
5429 /* Line 1455 of yacc.c */
5430 #line 1581 "vtkParse.y"
5432 TemplateArgs *newTemplate = currentTemplate;
5433 TemplateArg *arg = (TemplateArg *)malloc(sizeof(TemplateArg));
5434 vtkParse_InitTemplateArg(arg);
5436 arg->Template = newTemplate;
5437 arg->Name = vtkstrdup(getVarName());
5438 arg->Value = vtkstrdup(getVarValue());
5439 vtkParse_AddArgumentToTemplate(currentTemplate, arg);
5445 /* Line 1455 of yacc.c */
5446 #line 1592 "vtkParse.y"
5447 {postSig("class ");}
5452 /* Line 1455 of yacc.c */
5453 #line 1593 "vtkParse.y"
5454 {postSig("typename ");}
5459 /* Line 1455 of yacc.c */
5460 #line 1595 "vtkParse.y"
5461 { setVarName((yyvsp[(1) - (1)].str)); }
5466 /* Line 1455 of yacc.c */
5467 #line 1625 "vtkParse.y"
5468 {openSig(); preSig("~"); closeSig();}
5473 /* Line 1455 of yacc.c */
5474 #line 1626 "vtkParse.y"
5475 {openSig(); preSig("~"); closeSig();}
5480 /* Line 1455 of yacc.c */
5481 #line 1628 "vtkParse.y"
5483 openSig(); preSig("virtual ~"); closeSig();
5484 currentFunction->IsVirtual = 1;
5490 /* Line 1455 of yacc.c */
5491 #line 1635 "vtkParse.y"
5494 preSig("explicit ");
5496 currentFunction->IsExplicit = 1;
5502 /* Line 1455 of yacc.c */
5503 #line 1643 "vtkParse.y"
5508 currentFunction->IsVirtual = 1;
5514 /* Line 1455 of yacc.c */
5515 #line 1659 "vtkParse.y"
5520 currentFunction->IsVirtual = 1;
5526 /* Line 1455 of yacc.c */
5527 #line 1668 "vtkParse.y"
5530 set_return(currentFunction, getStorageType(), getTypeId(), 0);
5536 /* Line 1455 of yacc.c */
5537 #line 1672 "vtkParse.y"
5543 /* Line 1455 of yacc.c */
5544 #line 1673 "vtkParse.y"
5546 (yyval.integer) = (yyvsp[(2) - (8)].integer);
5548 preSig("operator ");
5550 currentFunction->IsOperator = 1;
5551 currentFunction->Name = "operator typecast";
5552 currentFunction->Comment = vtkstrdup(getComment());
5553 vtkParseDebug("Parsed operator", "operator typecast");
5559 /* Line 1455 of yacc.c */
5560 #line 1684 "vtkParse.y"
5566 /* Line 1455 of yacc.c */
5567 #line 1685 "vtkParse.y"
5571 currentFunction->Name = vtkstrdup((yyvsp[(1) - (3)].str));
5572 currentFunction->Comment = vtkstrdup(getComment());
5573 vtkParseDebug("Parsed operator", currentFunction->Name);
5579 /* Line 1455 of yacc.c */
5580 #line 1693 "vtkParse.y"
5581 {postSig((yyvsp[(2) - (2)].str));}
5586 /* Line 1455 of yacc.c */
5587 #line 1694 "vtkParse.y"
5590 currentFunction->IsOperator = 1;
5591 set_return(currentFunction, getStorageType(), getTypeId(), 0);
5597 /* Line 1455 of yacc.c */
5598 #line 1699 "vtkParse.y"
5599 { (yyval.str) = (yyvsp[(2) - (7)].str); }
5604 /* Line 1455 of yacc.c */
5605 #line 1701 "vtkParse.y"
5611 /* Line 1455 of yacc.c */
5612 #line 1702 "vtkParse.y"
5616 currentFunction->Name = vtkstrdup((yyvsp[(1) - (3)].str));
5617 currentFunction->Comment = vtkstrdup(getComment());
5618 vtkParseDebug("Parsed func", currentFunction->Name);
5624 /* Line 1455 of yacc.c */
5625 #line 1712 "vtkParse.y"
5630 currentFunction->IsPureVirtual = 1;
5631 currentClass->IsAbstract = 1;
5638 /* Line 1455 of yacc.c */
5639 #line 1721 "vtkParse.y"
5641 postSig(" const = 0");
5642 currentFunction->IsConst = 1;
5645 currentFunction->IsPureVirtual = 1;
5646 currentClass->IsAbstract = 1;
5653 /* Line 1455 of yacc.c */
5654 #line 1731 "vtkParse.y"
5657 currentFunction->IsConst = 1;
5663 /* Line 1455 of yacc.c */
5664 #line 1739 "vtkParse.y"
5667 set_return(currentFunction, getStorageType(), getTypeId(), 0);
5673 /* Line 1455 of yacc.c */
5674 #line 1742 "vtkParse.y"
5675 { (yyval.str) = (yyvsp[(1) - (5)].str); }
5680 /* Line 1455 of yacc.c */
5681 #line 1743 "vtkParse.y"
5682 {markSig(); postSig("<");}
5687 /* Line 1455 of yacc.c */
5688 #line 1744 "vtkParse.y"
5690 if (getSig()[strlen(getSig())-1] == '>') { postSig(" "); }
5692 set_return(currentFunction, getStorageType(), getTypeId(), 0);
5693 (yyval.str) = vtkstrcat((yyvsp[(1) - (6)].str), copySig());
5699 /* Line 1455 of yacc.c */
5700 #line 1749 "vtkParse.y"
5701 { (yyval.str) = (yyvsp[(7) - (9)].str); }
5706 /* Line 1455 of yacc.c */
5707 #line 1751 "vtkParse.y"
5708 { postSig(");"); closeSig(); }
5713 /* Line 1455 of yacc.c */
5714 #line 1752 "vtkParse.y"
5716 currentFunction->Name = vtkstrdup((yyvsp[(1) - (3)].str));
5717 currentFunction->Comment = vtkstrdup(getComment());
5718 vtkParseDebug("Parsed func", currentFunction->Name);
5724 /* Line 1455 of yacc.c */
5725 #line 1758 "vtkParse.y"
5731 /* Line 1455 of yacc.c */
5732 #line 1767 "vtkParse.y"
5736 currentFunction->Name = vtkstrcat("~", (yyvsp[(1) - (1)].str));
5737 currentFunction->Comment = vtkstrdup(getComment());
5738 vtkParseDebug("Parsed func", currentFunction->Name);
5744 /* Line 1455 of yacc.c */
5745 #line 1775 "vtkParse.y"
5751 /* Line 1455 of yacc.c */
5752 #line 1781 "vtkParse.y"
5758 /* Line 1455 of yacc.c */
5759 #line 1784 "vtkParse.y"
5760 { currentFunction->IsVariadic = 1; postSig("..."); }
5765 /* Line 1455 of yacc.c */
5766 #line 1785 "vtkParse.y"
5772 /* Line 1455 of yacc.c */
5773 #line 1786 "vtkParse.y"
5774 { clearTypeId(); postSig(", "); }
5779 /* Line 1455 of yacc.c */
5780 #line 1789 "vtkParse.y"
5786 /* Line 1455 of yacc.c */
5787 #line 1791 "vtkParse.y"
5789 int i = currentFunction->NumberOfArguments;
5790 ValueInfo *arg = (ValueInfo *)malloc(sizeof(ValueInfo));
5791 vtkParse_InitValue(arg);
5793 handle_complex_type(arg, (yyvsp[(2) - (3)].integer), (yyvsp[(3) - (3)].integer), copySig());
5797 currentFunction->ArgTypes[i] = arg->Type;
5798 currentFunction->ArgClasses[i] = arg->Class;
5799 currentFunction->ArgCounts[i] = arg->Count;
5804 arg->Name = vtkstrdup(getVarName());
5807 vtkParse_AddArgumentToFunction(currentFunction, arg);
5813 /* Line 1455 of yacc.c */
5814 #line 1813 "vtkParse.y"
5816 int i = currentFunction->NumberOfArguments-1;
5819 currentFunction->Arguments[i]->Value = vtkstrdup(getVarValue());
5826 /* Line 1455 of yacc.c */
5827 #line 1821 "vtkParse.y"
5829 int i = currentFunction->NumberOfArguments;
5830 ValueInfo *arg = (ValueInfo *)malloc(sizeof(ValueInfo));
5832 vtkParse_InitValue(arg);
5836 postSig((yyvsp[(1) - (1)].str));
5837 postSig(")(void *) ");
5839 handle_function_type(arg, (yyvsp[(1) - (1)].str), copySig());
5843 currentFunction->ArgTypes[i] = arg->Type;
5844 currentFunction->ArgClasses[i] = arg->Class;
5845 currentFunction->ArgCounts[i] = arg->Count;
5848 vtkParse_AddArgumentToFunction(currentFunction, arg);
5854 /* Line 1455 of yacc.c */
5855 #line 1846 "vtkParse.y"
5861 /* Line 1455 of yacc.c */
5862 #line 1848 "vtkParse.y"
5863 { postSig("="); clearVarValue();}
5868 /* Line 1455 of yacc.c */
5869 #line 1849 "vtkParse.y"
5870 { setVarValue((yyvsp[(3) - (3)].str)); }
5875 /* Line 1455 of yacc.c */
5876 #line 1860 "vtkParse.y"
5878 unsigned int type = getStorageType();
5879 ValueInfo *var = (ValueInfo *)malloc(sizeof(ValueInfo));
5880 vtkParse_InitValue(var);
5881 var->ItemType = VTK_VARIABLE_INFO;
5882 var->Access = access_level;
5884 handle_complex_type(var, type, (yyvsp[(1) - (2)].integer), getSig());
5886 var->Name = vtkstrdup(getVarName());
5890 var->Value = vtkstrdup(getVarValue());
5893 if ((var->Type & VTK_PARSE_BASE_TYPE) == VTK_PARSE_FUNCTION)
5895 var->Type = var->Type;
5898 /* Is this a constant? */
5899 if (((type & VTK_PARSE_CONST) != 0) && var->Value != NULL &&
5900 (((type & VTK_PARSE_INDIRECT) == 0) ||
5901 ((type & VTK_PARSE_INDIRECT) == VTK_PARSE_ARRAY)))
5903 var->ItemType = VTK_CONSTANT_INFO;
5906 vtkParse_AddConstantToClass(currentClass, var);
5910 vtkParse_AddConstantToNamespace(currentNamespace, var);
5913 /* This is a true variable i.e. not constant */
5918 vtkParse_AddVariableToClass(currentClass, var);
5922 vtkParse_AddVariableToNamespace(currentNamespace, var);
5930 /* Line 1455 of yacc.c */
5931 #line 1914 "vtkParse.y"
5937 /* Line 1455 of yacc.c */
5938 #line 1917 "vtkParse.y"
5939 { setStorageTypeIndirection(0); }
5944 /* Line 1455 of yacc.c */
5945 #line 1918 "vtkParse.y"
5946 { setStorageTypeIndirection((yyvsp[(1) - (1)].integer)); }
5951 /* Line 1455 of yacc.c */
5952 #line 1922 "vtkParse.y"
5953 { (yyval.integer) = 0; }
5958 /* Line 1455 of yacc.c */
5959 #line 1923 "vtkParse.y"
5965 /* Line 1455 of yacc.c */
5966 #line 1925 "vtkParse.y"
5968 const char *scope = getScope();
5969 unsigned int parens = add_indirection((yyvsp[(1) - (5)].integer), (yyvsp[(2) - (5)].integer));
5970 if ((yyvsp[(5) - (5)].integer) == VTK_PARSE_FUNCTION) {
5971 if (scope) { scope = vtkstrndup(scope, strlen(scope) - 2); }
5972 getFunction()->Class = scope;
5973 (yyval.integer) = (parens | VTK_PARSE_FUNCTION); }
5974 else if ((yyvsp[(5) - (5)].integer) == VTK_PARSE_ARRAY) {
5975 (yyval.integer) = add_indirection_to_array(parens); }
5981 /* Line 1455 of yacc.c */
5982 #line 1937 "vtkParse.y"
5983 { (yyval.integer) = 0; }
5988 /* Line 1455 of yacc.c */
5989 #line 1938 "vtkParse.y"
5995 /* Line 1455 of yacc.c */
5996 #line 1940 "vtkParse.y"
5998 const char *scope = getScope();
5999 unsigned int parens = add_indirection((yyvsp[(1) - (5)].integer), (yyvsp[(2) - (5)].integer));
6000 if ((yyvsp[(5) - (5)].integer) == VTK_PARSE_FUNCTION) {
6001 if (scope) { scope = vtkstrndup(scope, strlen(scope) - 2); }
6002 getFunction()->Class = scope;
6003 (yyval.integer) = (parens | VTK_PARSE_FUNCTION); }
6004 else if ((yyvsp[(5) - (5)].integer) == VTK_PARSE_ARRAY) {
6005 (yyval.integer) = add_indirection_to_array(parens); }
6011 /* Line 1455 of yacc.c */
6012 #line 1951 "vtkParse.y"
6013 { postSig("("); scopeSig(""); (yyval.integer) = 0; }
6018 /* Line 1455 of yacc.c */
6019 #line 1952 "vtkParse.y"
6020 { postSig("("); scopeSig((yyvsp[(1) - (1)].str)); postSig("*");
6021 (yyval.integer) = VTK_PARSE_POINTER; }
6026 /* Line 1455 of yacc.c */
6027 #line 1954 "vtkParse.y"
6028 { postSig("("); scopeSig((yyvsp[(1) - (1)].str)); postSig("&");
6029 (yyval.integer) = VTK_PARSE_REF; }
6034 /* Line 1455 of yacc.c */
6035 #line 1957 "vtkParse.y"
6036 { postSig("("); scopeSig((yyvsp[(1) - (1)].str)); postSig("*");
6037 (yyval.integer) = VTK_PARSE_POINTER; }
6042 /* Line 1455 of yacc.c */
6043 #line 1959 "vtkParse.y"
6044 { postSig("("); scopeSig((yyvsp[(1) - (1)].str)); postSig("&");
6045 (yyval.integer) = VTK_PARSE_REF; }
6050 /* Line 1455 of yacc.c */
6051 #line 1962 "vtkParse.y"
6052 { currentFunction->IsConst = 1; }
6057 /* Line 1455 of yacc.c */
6058 #line 1964 "vtkParse.y"
6059 { (yyval.integer) = 0; }
6064 /* Line 1455 of yacc.c */
6065 #line 1965 "vtkParse.y"
6066 { pushFunction(); postSig("("); }
6071 /* Line 1455 of yacc.c */
6072 #line 1966 "vtkParse.y"
6073 { (yyval.integer) = VTK_PARSE_FUNCTION; postSig(")"); popFunction(); }
6078 /* Line 1455 of yacc.c */
6079 #line 1967 "vtkParse.y"
6080 { (yyval.integer) = VTK_PARSE_ARRAY; }
6085 /* Line 1455 of yacc.c */
6086 #line 1970 "vtkParse.y"
6087 { (yyval.integer) = (yyvsp[(1) - (1)].integer); }
6092 /* Line 1455 of yacc.c */
6093 #line 1972 "vtkParse.y"
6094 { (yyval.integer) = add_indirection((yyvsp[(1) - (2)].integer), (yyvsp[(2) - (2)].integer));}
6099 /* Line 1455 of yacc.c */
6100 #line 1975 "vtkParse.y"
6101 { (yyval.integer) = (yyvsp[(1) - (1)].integer); }
6106 /* Line 1455 of yacc.c */
6107 #line 1977 "vtkParse.y"
6108 { (yyval.integer) = add_indirection((yyvsp[(1) - (2)].integer), (yyvsp[(2) - (2)].integer));}
6113 /* Line 1455 of yacc.c */
6114 #line 1979 "vtkParse.y"
6115 {clearVarName(); chopSig();}
6120 /* Line 1455 of yacc.c */
6121 #line 1981 "vtkParse.y"
6122 {setVarName((yyvsp[(1) - (1)].str));}
6127 /* Line 1455 of yacc.c */
6128 #line 1983 "vtkParse.y"
6134 /* Line 1455 of yacc.c */
6135 #line 1985 "vtkParse.y"
6141 /* Line 1455 of yacc.c */
6142 #line 1987 "vtkParse.y"
6148 /* Line 1455 of yacc.c */
6149 #line 1987 "vtkParse.y"
6155 /* Line 1455 of yacc.c */
6156 #line 1991 "vtkParse.y"
6157 {pushArraySize("");}
6162 /* Line 1455 of yacc.c */
6163 #line 1992 "vtkParse.y"
6164 {pushArraySize((yyvsp[(1) - (1)].str));}
6169 /* Line 1455 of yacc.c */
6170 #line 1998 "vtkParse.y"
6171 {postSig((yyvsp[(1) - (1)].str));}
6176 /* Line 1455 of yacc.c */
6177 #line 1999 "vtkParse.y"
6178 {postSig((yyvsp[(1) - (1)].str));}
6183 /* Line 1455 of yacc.c */
6184 #line 2000 "vtkParse.y"
6185 {postSig((yyvsp[(1) - (1)].str));}
6190 /* Line 1455 of yacc.c */
6191 #line 2001 "vtkParse.y"
6192 {postSig((yyvsp[(1) - (1)].str));}
6197 /* Line 1455 of yacc.c */
6198 #line 2002 "vtkParse.y"
6199 {postSig((yyvsp[(1) - (1)].str));}
6204 /* Line 1455 of yacc.c */
6205 #line 2003 "vtkParse.y"
6206 {postSig((yyvsp[(1) - (1)].str));}
6211 /* Line 1455 of yacc.c */
6212 #line 2004 "vtkParse.y"
6213 {postSig((yyvsp[(1) - (1)].str));}
6218 /* Line 1455 of yacc.c */
6219 #line 2005 "vtkParse.y"
6220 {postSig((yyvsp[(1) - (1)].str));}
6225 /* Line 1455 of yacc.c */
6226 #line 2006 "vtkParse.y"
6227 {postSig((yyvsp[(1) - (1)].str));}
6232 /* Line 1455 of yacc.c */
6233 #line 2009 "vtkParse.y"
6234 {(yyval.str) = "vtkTypeInt8";}
6239 /* Line 1455 of yacc.c */
6240 #line 2010 "vtkParse.y"
6241 {(yyval.str) = "vtkTypeUInt8";}
6246 /* Line 1455 of yacc.c */
6247 #line 2011 "vtkParse.y"
6248 {(yyval.str) = "vtkTypeInt16";}
6253 /* Line 1455 of yacc.c */
6254 #line 2012 "vtkParse.y"
6255 {(yyval.str) = "vtkTypeUInt16";}
6260 /* Line 1455 of yacc.c */
6261 #line 2013 "vtkParse.y"
6262 {(yyval.str) = "vtkTypeInt32";}
6267 /* Line 1455 of yacc.c */
6268 #line 2014 "vtkParse.y"
6269 {(yyval.str) = "vtkTypeUInt32";}
6274 /* Line 1455 of yacc.c */
6275 #line 2015 "vtkParse.y"
6276 {(yyval.str) = "vtkTypeInt64";}
6281 /* Line 1455 of yacc.c */
6282 #line 2016 "vtkParse.y"
6283 {(yyval.str) = "vtkTypeUInt64";}
6288 /* Line 1455 of yacc.c */
6289 #line 2017 "vtkParse.y"
6290 {(yyval.str) = "vtkTypeFloat32";}
6295 /* Line 1455 of yacc.c */
6296 #line 2018 "vtkParse.y"
6297 {(yyval.str) = "vtkTypeFloat64";}
6302 /* Line 1455 of yacc.c */
6303 #line 2021 "vtkParse.y"
6304 {(yyval.str) = "vtkIdType";}
6309 /* Line 1455 of yacc.c */
6310 #line 2022 "vtkParse.y"
6311 {(yyval.str) = "vtkFloatingPointType";}
6316 /* Line 1455 of yacc.c */
6317 #line 2029 "vtkParse.y"
6318 {(yyval.integer) = (yyvsp[(1) - (1)].integer); setStorageType((yyval.integer));}
6323 /* Line 1455 of yacc.c */
6324 #line 2030 "vtkParse.y"
6325 {(yyval.integer) = (yyvsp[(2) - (2)].integer); setStorageType((yyval.integer));}
6330 /* Line 1455 of yacc.c */
6331 #line 2031 "vtkParse.y"
6332 {(yyval.integer) = (yyvsp[(2) - (2)].integer); setStorageType((yyval.integer));}
6337 /* Line 1455 of yacc.c */
6338 #line 2033 "vtkParse.y"
6339 {(yyval.integer) = (yyvsp[(3) - (3)].integer); setStorageType((yyval.integer));}
6344 /* Line 1455 of yacc.c */
6345 #line 2034 "vtkParse.y"
6346 {(yyval.integer) = (yyvsp[(2) - (2)].integer); setStorageType((yyval.integer));}
6351 /* Line 1455 of yacc.c */
6352 #line 2035 "vtkParse.y"
6353 {(yyval.integer) = ((yyvsp[(1) - (2)].integer) | (yyvsp[(2) - (2)].integer));
6354 setStorageType((yyval.integer));}
6359 /* Line 1455 of yacc.c */
6360 #line 2037 "vtkParse.y"
6361 {(yyval.integer) = ((yyvsp[(2) - (3)].integer) | (yyvsp[(3) - (3)].integer));
6362 setStorageType((yyval.integer));}
6367 /* Line 1455 of yacc.c */
6368 #line 2041 "vtkParse.y"
6369 {postSig("static "); (yyval.integer) = VTK_PARSE_STATIC; }
6374 /* Line 1455 of yacc.c */
6375 #line 2042 "vtkParse.y"
6376 {postSig("static "); (yyval.integer) = VTK_PARSE_STATIC; }
6381 /* Line 1455 of yacc.c */
6382 #line 2044 "vtkParse.y"
6383 {(yyval.integer) = (yyvsp[(1) - (1)].integer);}
6388 /* Line 1455 of yacc.c */
6389 #line 2045 "vtkParse.y"
6390 {(yyval.integer) = ((yyvsp[(1) - (2)].integer) | (yyvsp[(2) - (2)].integer));}
6395 /* Line 1455 of yacc.c */
6396 #line 2047 "vtkParse.y"
6397 {(yyval.integer) = (yyvsp[(1) - (1)].integer);}
6402 /* Line 1455 of yacc.c */
6403 #line 2048 "vtkParse.y"
6404 {(yyval.integer) = (VTK_PARSE_CONST | (yyvsp[(2) - (2)].integer));}
6409 /* Line 1455 of yacc.c */
6410 #line 2049 "vtkParse.y"
6411 {(yyval.integer) = (VTK_PARSE_CONST | (yyvsp[(1) - (2)].integer));}
6416 /* Line 1455 of yacc.c */
6417 #line 2051 "vtkParse.y"
6418 {postSig("const ");}
6423 /* Line 1455 of yacc.c */
6424 #line 2055 "vtkParse.y"
6425 {postSig(" "); setTypeId((yyvsp[(1) - (1)].str)); (yyval.integer) = VTK_PARSE_UNKNOWN;}
6430 /* Line 1455 of yacc.c */
6431 #line 2057 "vtkParse.y"
6432 {postSig(" "); setTypeId((yyvsp[(1) - (1)].str)); (yyval.integer) = VTK_PARSE_UNKNOWN;}
6437 /* Line 1455 of yacc.c */
6438 #line 2058 "vtkParse.y"
6439 {postSig("typename ");}
6444 /* Line 1455 of yacc.c */
6445 #line 2059 "vtkParse.y"
6446 {postSig(" "); setTypeId((yyvsp[(3) - (3)].str)); (yyval.integer) = VTK_PARSE_UNKNOWN;}
6451 /* Line 1455 of yacc.c */
6452 #line 2062 "vtkParse.y"
6453 { markSig(); postSig((yyvsp[(1) - (2)].str)); postSig("<");}
6458 /* Line 1455 of yacc.c */
6459 #line 2063 "vtkParse.y"
6460 {chopSig(); if (getSig()[strlen(getSig())-1] == '>') { postSig(" "); }
6461 postSig(">"); (yyval.str) = vtkstrdup(copySig()); clearTypeId();}
6466 /* Line 1455 of yacc.c */
6467 #line 2065 "vtkParse.y"
6468 { markSig(); postSig((yyvsp[(1) - (2)].str)); postSig("<");}
6473 /* Line 1455 of yacc.c */
6474 #line 2066 "vtkParse.y"
6475 {chopSig(); if (getSig()[strlen(getSig())-1] == '>') { postSig(" "); }
6476 postSig(">"); (yyval.str) = vtkstrdup(copySig()); clearTypeId();}
6481 /* Line 1455 of yacc.c */
6482 #line 2068 "vtkParse.y"
6483 { markSig(); postSig((yyvsp[(1) - (2)].str)); postSig("<");}
6488 /* Line 1455 of yacc.c */
6489 #line 2069 "vtkParse.y"
6490 {chopSig(); if (getSig()[strlen(getSig())-1] == '>') { postSig(" "); }
6491 postSig(">"); (yyval.str) = vtkstrdup(copySig()); clearTypeId();}
6496 /* Line 1455 of yacc.c */
6497 #line 2073 "vtkParse.y"
6498 {chopSig(); postSig(", ");}
6503 /* Line 1455 of yacc.c */
6504 #line 2076 "vtkParse.y"
6505 {postSig((yyvsp[(1) - (1)].str));}
6510 /* Line 1455 of yacc.c */
6511 #line 2078 "vtkParse.y"
6512 {postSig((yyvsp[(1) - (1)].str));}
6517 /* Line 1455 of yacc.c */
6518 #line 2079 "vtkParse.y"
6519 {postSig((yyvsp[(1) - (1)].str));}
6524 /* Line 1455 of yacc.c */
6525 #line 2080 "vtkParse.y"
6526 {postSig((yyvsp[(1) - (1)].str));}
6531 /* Line 1455 of yacc.c */
6532 #line 2081 "vtkParse.y"
6533 {postSig((yyvsp[(1) - (1)].str));}
6538 /* Line 1455 of yacc.c */
6539 #line 2082 "vtkParse.y"
6540 {postSig((yyvsp[(1) - (1)].str));}
6545 /* Line 1455 of yacc.c */
6546 #line 2083 "vtkParse.y"
6547 {postSig((yyvsp[(1) - (1)].str));}
6552 /* Line 1455 of yacc.c */
6553 #line 2084 "vtkParse.y"
6554 {postSig((yyvsp[(1) - (1)].str));}
6559 /* Line 1455 of yacc.c */
6560 #line 2089 "vtkParse.y"
6562 (yyval.str) = vtkstrcat3((yyvsp[(1) - (3)].str), "::", (yyvsp[(3) - (3)].str));
6563 preScopeSig((yyvsp[(1) - (3)].str));
6569 /* Line 1455 of yacc.c */
6570 #line 2094 "vtkParse.y"
6572 (yyval.str) = vtkstrcat3((yyvsp[(1) - (3)].str), "::", (yyvsp[(3) - (3)].str));
6579 /* Line 1455 of yacc.c */
6580 #line 2116 "vtkParse.y"
6581 { postSig("&"); (yyval.integer) = VTK_PARSE_REF;}
6586 /* Line 1455 of yacc.c */
6587 #line 2117 "vtkParse.y"
6588 { postSig("&"); (yyval.integer) = ((yyvsp[(1) - (2)].integer) | VTK_PARSE_REF);}
6593 /* Line 1455 of yacc.c */
6594 #line 2118 "vtkParse.y"
6595 { (yyval.integer) = (yyvsp[(1) - (1)].integer); }
6600 /* Line 1455 of yacc.c */
6601 #line 2123 "vtkParse.y"
6602 { (yyval.integer) = (yyvsp[(1) - (1)].integer); }
6607 /* Line 1455 of yacc.c */
6608 #line 2125 "vtkParse.y"
6611 n = (((yyvsp[(1) - (2)].integer) << 2) | (yyvsp[(2) - (2)].integer));
6612 if ((n & VTK_PARSE_INDIRECT) != n)
6614 n = VTK_PARSE_BAD_INDIRECT;
6616 (yyval.integer) = n;
6622 /* Line 1455 of yacc.c */
6623 #line 2136 "vtkParse.y"
6624 { postSig("*"); (yyval.integer) = VTK_PARSE_POINTER; }
6629 /* Line 1455 of yacc.c */
6630 #line 2137 "vtkParse.y"
6631 { postSig("*const "); (yyval.integer) = VTK_PARSE_CONST_POINTER; }
6636 /* Line 1455 of yacc.c */
6637 #line 2140 "vtkParse.y"
6638 { (yyval.integer) = (yyvsp[(1) - (1)].integer);}
6643 /* Line 1455 of yacc.c */
6644 #line 2141 "vtkParse.y"
6645 { (yyval.integer) = (yyvsp[(2) - (2)].integer); }
6650 /* Line 1455 of yacc.c */
6651 #line 2142 "vtkParse.y"
6652 { (yyval.integer) = (yyvsp[(2) - (2)].integer); }
6657 /* Line 1455 of yacc.c */
6658 #line 2143 "vtkParse.y"
6659 { typeSig((yyvsp[(2) - (2)].str)); (yyval.integer) = VTK_PARSE_UNKNOWN; }
6664 /* Line 1455 of yacc.c */
6665 #line 2144 "vtkParse.y"
6666 { typeSig((yyvsp[(2) - (2)].str)); (yyval.integer) = VTK_PARSE_UNKNOWN; }
6671 /* Line 1455 of yacc.c */
6672 #line 2147 "vtkParse.y"
6673 { (yyval.integer) = (yyvsp[(1) - (1)].integer);}
6678 /* Line 1455 of yacc.c */
6679 #line 2148 "vtkParse.y"
6680 { (yyval.integer) = (yyvsp[(1) - (1)].integer);}
6685 /* Line 1455 of yacc.c */
6686 #line 2151 "vtkParse.y"
6687 { typeSig((yyvsp[(1) - (1)].str)); (yyval.integer) = VTK_PARSE_STRING;}
6692 /* Line 1455 of yacc.c */
6693 #line 2152 "vtkParse.y"
6694 { typeSig((yyvsp[(1) - (1)].str)); (yyval.integer) = VTK_PARSE_UNICODE_STRING;}
6699 /* Line 1455 of yacc.c */
6700 #line 2153 "vtkParse.y"
6701 { typeSig((yyvsp[(1) - (1)].str)); (yyval.integer) = VTK_PARSE_OSTREAM; }
6706 /* Line 1455 of yacc.c */
6707 #line 2154 "vtkParse.y"
6708 { typeSig((yyvsp[(1) - (1)].str)); (yyval.integer) = VTK_PARSE_ISTREAM; }
6713 /* Line 1455 of yacc.c */
6714 #line 2155 "vtkParse.y"
6715 { typeSig((yyvsp[(1) - (1)].str)); (yyval.integer) = VTK_PARSE_UNKNOWN; }
6720 /* Line 1455 of yacc.c */
6721 #line 2156 "vtkParse.y"
6722 { typeSig((yyvsp[(1) - (1)].str)); (yyval.integer) = VTK_PARSE_OBJECT; }
6727 /* Line 1455 of yacc.c */
6728 #line 2157 "vtkParse.y"
6729 { typeSig((yyvsp[(1) - (1)].str)); (yyval.integer) = VTK_PARSE_QOBJECT; }
6734 /* Line 1455 of yacc.c */
6735 #line 2160 "vtkParse.y"
6736 { typeSig("void"); (yyval.integer) = VTK_PARSE_VOID;}
6741 /* Line 1455 of yacc.c */
6742 #line 2161 "vtkParse.y"
6743 { typeSig("bool"); (yyval.integer) = VTK_PARSE_BOOL;}
6748 /* Line 1455 of yacc.c */
6749 #line 2162 "vtkParse.y"
6750 { typeSig("ssize_t"); (yyval.integer) = VTK_PARSE_SSIZE_T;}
6755 /* Line 1455 of yacc.c */
6756 #line 2163 "vtkParse.y"
6757 { typeSig("size_t"); (yyval.integer) = VTK_PARSE_SIZE_T;}
6762 /* Line 1455 of yacc.c */
6763 #line 2164 "vtkParse.y"
6764 { typeSig("vtkTypeInt8"); (yyval.integer) = VTK_PARSE_INT8; }
6769 /* Line 1455 of yacc.c */
6770 #line 2165 "vtkParse.y"
6771 { typeSig("vtkTypeUInt8"); (yyval.integer) = VTK_PARSE_UINT8; }
6776 /* Line 1455 of yacc.c */
6777 #line 2166 "vtkParse.y"
6778 { typeSig("vtkTypeInt16"); (yyval.integer) = VTK_PARSE_INT16; }
6783 /* Line 1455 of yacc.c */
6784 #line 2167 "vtkParse.y"
6785 { typeSig("vtkTypeUInt16"); (yyval.integer) = VTK_PARSE_UINT16; }
6790 /* Line 1455 of yacc.c */
6791 #line 2168 "vtkParse.y"
6792 { typeSig("vtkTypeInt32"); (yyval.integer) = VTK_PARSE_INT32; }
6797 /* Line 1455 of yacc.c */
6798 #line 2169 "vtkParse.y"
6799 { typeSig("vtkTypeUInt32"); (yyval.integer) = VTK_PARSE_UINT32; }
6804 /* Line 1455 of yacc.c */
6805 #line 2170 "vtkParse.y"
6806 { typeSig("vtkTypeInt64"); (yyval.integer) = VTK_PARSE_INT64; }
6811 /* Line 1455 of yacc.c */
6812 #line 2171 "vtkParse.y"
6813 { typeSig("vtkTypeUInt64"); (yyval.integer) = VTK_PARSE_UINT64; }
6818 /* Line 1455 of yacc.c */
6819 #line 2172 "vtkParse.y"
6820 { typeSig("vtkTypeFloat32"); (yyval.integer) = VTK_PARSE_FLOAT32; }
6825 /* Line 1455 of yacc.c */
6826 #line 2173 "vtkParse.y"
6827 { typeSig("vtkTypeFloat64"); (yyval.integer) = VTK_PARSE_FLOAT64; }
6832 /* Line 1455 of yacc.c */
6833 #line 2174 "vtkParse.y"
6834 { typeSig("vtkIdType"); (yyval.integer) = VTK_PARSE_ID_TYPE;}
6839 /* Line 1455 of yacc.c */
6840 #line 2175 "vtkParse.y"
6841 { typeSig("double"); (yyval.integer) = VTK_PARSE_DOUBLE;}
6846 /* Line 1455 of yacc.c */
6847 #line 2176 "vtkParse.y"
6848 { typeSig("float"); (yyval.integer) = VTK_PARSE_FLOAT;}
6853 /* Line 1455 of yacc.c */
6854 #line 2177 "vtkParse.y"
6855 { typeSig("double"); (yyval.integer) = VTK_PARSE_DOUBLE;}
6860 /* Line 1455 of yacc.c */
6861 #line 2178 "vtkParse.y"
6862 { typeSig("long double"); (yyval.integer) = VTK_PARSE_UNKNOWN;}
6867 /* Line 1455 of yacc.c */
6868 #line 2179 "vtkParse.y"
6869 { typeSig("char"); (yyval.integer) = VTK_PARSE_CHAR;}
6874 /* Line 1455 of yacc.c */
6875 #line 2180 "vtkParse.y"
6876 { typeSig("signed char"); (yyval.integer) = VTK_PARSE_SIGNED_CHAR;}
6881 /* Line 1455 of yacc.c */
6882 #line 2182 "vtkParse.y"
6883 { typeSig("unsigned char"); (yyval.integer) = VTK_PARSE_UNSIGNED_CHAR;}
6888 /* Line 1455 of yacc.c */
6889 #line 2183 "vtkParse.y"
6890 { typeSig("int"); (yyval.integer) = VTK_PARSE_INT;}
6895 /* Line 1455 of yacc.c */
6896 #line 2185 "vtkParse.y"
6897 { typeSig("unsigned int"); (yyval.integer) = VTK_PARSE_UNSIGNED_INT;}
6902 /* Line 1455 of yacc.c */
6903 #line 2186 "vtkParse.y"
6904 { typeSig("short"); (yyval.integer) = VTK_PARSE_SHORT;}
6909 /* Line 1455 of yacc.c */
6910 #line 2188 "vtkParse.y"
6911 { typeSig("unsigned short"); (yyval.integer) = VTK_PARSE_UNSIGNED_SHORT;}
6916 /* Line 1455 of yacc.c */
6917 #line 2189 "vtkParse.y"
6918 { typeSig("long"); (yyval.integer) = VTK_PARSE_LONG;}
6923 /* Line 1455 of yacc.c */
6924 #line 2191 "vtkParse.y"
6925 { typeSig("unsigned long"); (yyval.integer) = VTK_PARSE_UNSIGNED_LONG;}
6930 /* Line 1455 of yacc.c */
6931 #line 2192 "vtkParse.y"
6932 { typeSig("long long"); (yyval.integer) = VTK_PARSE_LONG_LONG;}
6937 /* Line 1455 of yacc.c */
6938 #line 2194 "vtkParse.y"
6939 {typeSig("unsigned long long");(yyval.integer)=VTK_PARSE_UNSIGNED_LONG_LONG;}
6944 /* Line 1455 of yacc.c */
6945 #line 2195 "vtkParse.y"
6946 { typeSig("__int64"); (yyval.integer) = VTK_PARSE___INT64;}
6951 /* Line 1455 of yacc.c */
6952 #line 2197 "vtkParse.y"
6953 { typeSig("unsigned __int64"); (yyval.integer) = VTK_PARSE_UNSIGNED___INT64;}
6958 /* Line 1455 of yacc.c */
6959 #line 2198 "vtkParse.y"
6960 { typeSig("int"); (yyval.integer) = VTK_PARSE_INT; }
6965 /* Line 1455 of yacc.c */
6966 #line 2199 "vtkParse.y"
6967 { typeSig("unsigned int"); (yyval.integer) = VTK_PARSE_UNSIGNED_INT; }
6972 /* Line 1455 of yacc.c */
6973 #line 2205 "vtkParse.y"
6974 { (yyval.str) = (yyvsp[(1) - (1)].str); }
6979 /* Line 1455 of yacc.c */
6980 #line 2206 "vtkParse.y"
6986 /* Line 1455 of yacc.c */
6987 #line 2207 "vtkParse.y"
6990 (yyval.str) = vtkstrcat4("{ ", (yyvsp[(3) - (6)].str), (yyvsp[(4) - (6)].str), " }");
6996 /* Line 1455 of yacc.c */
6997 #line 2214 "vtkParse.y"
7003 /* Line 1455 of yacc.c */
7004 #line 2215 "vtkParse.y"
7010 /* Line 1455 of yacc.c */
7011 #line 2216 "vtkParse.y"
7013 (yyval.str) = vtkstrcat3((yyvsp[(1) - (4)].str), ", ", (yyvsp[(4) - (4)].str));
7019 /* Line 1455 of yacc.c */
7020 #line 2220 "vtkParse.y"
7021 {(yyval.str) = (yyvsp[(1) - (1)].str);}
7026 /* Line 1455 of yacc.c */
7027 #line 2221 "vtkParse.y"
7033 /* Line 1455 of yacc.c */
7034 #line 2221 "vtkParse.y"
7035 {(yyval.str) = (yyvsp[(3) - (3)].str);}
7040 /* Line 1455 of yacc.c */
7041 #line 2222 "vtkParse.y"
7047 /* Line 1455 of yacc.c */
7048 #line 2223 "vtkParse.y"
7050 (yyval.str) = vtkstrcat("-", (yyvsp[(3) - (3)].str));
7056 /* Line 1455 of yacc.c */
7057 #line 2226 "vtkParse.y"
7058 {(yyval.str) = (yyvsp[(1) - (1)].str); postSig((yyvsp[(1) - (1)].str));}
7063 /* Line 1455 of yacc.c */
7064 #line 2227 "vtkParse.y"
7070 /* Line 1455 of yacc.c */
7071 #line 2227 "vtkParse.y"
7072 {postSig(")"); (yyval.str) = (yyvsp[(3) - (4)].str);}
7077 /* Line 1455 of yacc.c */
7078 #line 2228 "vtkParse.y"
7079 {postSig((yyvsp[(1) - (2)].str)); postSig("<");}
7084 /* Line 1455 of yacc.c */
7085 #line 2230 "vtkParse.y"
7088 if (getSig()[strlen(getSig())-1] == '>') { postSig(" "); }
7095 /* Line 1455 of yacc.c */
7096 #line 2236 "vtkParse.y"
7099 if (getTypeId()[strlen(getTypeId())-1] == '>')
7101 (yyval.str) = vtkstrcat6(
7102 (yyvsp[(1) - (9)].str), "<", getTypeId(), " >(", (yyvsp[(8) - (9)].str), ")");
7106 (yyval.str) = vtkstrcat6(
7107 (yyvsp[(1) - (9)].str), "<", getTypeId(), ">(", (yyvsp[(8) - (9)].str), ")");
7114 /* Line 1455 of yacc.c */
7115 #line 2250 "vtkParse.y"
7116 { (yyval.str) = "static_cast"; }
7121 /* Line 1455 of yacc.c */
7122 #line 2251 "vtkParse.y"
7123 { (yyval.str) = "const_cast"; }
7128 /* Line 1455 of yacc.c */
7129 #line 2252 "vtkParse.y"
7130 { (yyval.str) = "dynamic_cast"; }
7135 /* Line 1455 of yacc.c */
7136 #line 2253 "vtkParse.y"
7137 { (yyval.str) = "reinterpret_cast"; }
7142 /* Line 1455 of yacc.c */
7143 #line 2255 "vtkParse.y"
7144 {(yyval.str) = (yyvsp[(1) - (1)].str);}
7149 /* Line 1455 of yacc.c */
7150 #line 2257 "vtkParse.y"
7151 { (yyval.str) = vtkstrcat((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str)); }
7156 /* Line 1455 of yacc.c */
7157 #line 2259 "vtkParse.y"
7158 {(yyval.str) = (yyvsp[(1) - (1)].str); postSig((yyvsp[(1) - (1)].str));}
7163 /* Line 1455 of yacc.c */
7164 #line 2260 "vtkParse.y"
7165 {(yyval.str) = (yyvsp[(1) - (1)].str); postSig((yyvsp[(1) - (1)].str));}
7170 /* Line 1455 of yacc.c */
7171 #line 2261 "vtkParse.y"
7172 {(yyval.str) = (yyvsp[(1) - (1)].str); postSig((yyvsp[(1) - (1)].str));}
7177 /* Line 1455 of yacc.c */
7178 #line 2262 "vtkParse.y"
7179 {(yyval.str) = (yyvsp[(1) - (1)].str); postSig((yyvsp[(1) - (1)].str));}
7184 /* Line 1455 of yacc.c */
7185 #line 2263 "vtkParse.y"
7186 {(yyval.str) = (yyvsp[(1) - (1)].str); postSig((yyvsp[(1) - (1)].str));}
7191 /* Line 1455 of yacc.c */
7192 #line 2264 "vtkParse.y"
7193 {(yyval.str) = (yyvsp[(1) - (1)].str); postSig((yyvsp[(1) - (1)].str));}
7198 /* Line 1455 of yacc.c */
7199 #line 2266 "vtkParse.y"
7200 { (yyval.str) = vtkstrdup(add_const_scope((yyvsp[(1) - (1)].str))); }
7205 /* Line 1455 of yacc.c */
7206 #line 2275 "vtkParse.y"
7207 {preSig("void Set"); postSig("(");}
7212 /* Line 1455 of yacc.c */
7213 #line 2276 "vtkParse.y"
7216 currentFunction->Macro = "vtkSetMacro";
7217 currentFunction->Name = vtkstrcat("Set", (yyvsp[(3) - (7)].str));
7218 currentFunction->Comment = vtkstrdup(getComment());
7219 add_argument(currentFunction, (yyvsp[(6) - (7)].integer), getTypeId(), 0);
7220 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
7227 /* Line 1455 of yacc.c */
7228 #line 2285 "vtkParse.y"
7234 /* Line 1455 of yacc.c */
7235 #line 2286 "vtkParse.y"
7241 /* Line 1455 of yacc.c */
7242 #line 2286 "vtkParse.y"
7248 /* Line 1455 of yacc.c */
7249 #line 2287 "vtkParse.y"
7252 currentFunction->Macro = "vtkGetMacro";
7253 currentFunction->Name = vtkstrcat("Get", (yyvsp[(4) - (9)].str));
7254 currentFunction->Comment = vtkstrdup(getComment());
7255 set_return(currentFunction, (yyvsp[(7) - (9)].integer), getTypeId(), 0);
7262 /* Line 1455 of yacc.c */
7263 #line 2295 "vtkParse.y"
7264 {preSig("void Set");}
7269 /* Line 1455 of yacc.c */
7270 #line 2296 "vtkParse.y"
7272 postSig("(char *);");
7273 currentFunction->Macro = "vtkSetStringMacro";
7274 currentFunction->Name = vtkstrcat("Set", (yyvsp[(4) - (5)].str));
7275 currentFunction->Comment = vtkstrdup(getComment());
7276 add_argument(currentFunction, VTK_PARSE_CHAR_PTR, "char", 0);
7277 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
7284 /* Line 1455 of yacc.c */
7285 #line 2305 "vtkParse.y"
7286 {preSig("char *Get");}
7291 /* Line 1455 of yacc.c */
7292 #line 2306 "vtkParse.y"
7295 currentFunction->Macro = "vtkGetStringMacro";
7296 currentFunction->Name = vtkstrcat("Get", (yyvsp[(4) - (5)].str));
7297 currentFunction->Comment = vtkstrdup(getComment());
7298 set_return(currentFunction, VTK_PARSE_CHAR_PTR, "char", 0);
7305 /* Line 1455 of yacc.c */
7306 #line 2314 "vtkParse.y"
7307 {startSig(); markSig();}
7312 /* Line 1455 of yacc.c */
7313 #line 2314 "vtkParse.y"
7319 /* Line 1455 of yacc.c */
7320 #line 2316 "vtkParse.y"
7322 const char *typeText;
7324 typeText = copySig();
7326 currentFunction->Macro = "vtkSetClampMacro";
7327 currentFunction->Name = vtkstrcat("Set", (yyvsp[(3) - (10)].str));
7328 currentFunction->Signature =
7329 vtkstrcat5("void ", currentFunction->Name, "(", typeText, ");");
7330 currentFunction->Comment = vtkstrdup(getComment());
7331 add_argument(currentFunction, (yyvsp[(6) - (10)].integer), getTypeId(), 0);
7332 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
7335 currentFunction->Macro = "vtkSetClampMacro";
7336 currentFunction->Name = vtkstrcat3("Get", (yyvsp[(3) - (10)].str), "MinValue");
7337 currentFunction->Signature =
7338 vtkstrcat4(typeText, " ", currentFunction->Name, "();");
7339 currentFunction->Comment = vtkstrdup(getComment());
7340 set_return(currentFunction, (yyvsp[(6) - (10)].integer), getTypeId(), 0);
7343 currentFunction->Macro = "vtkSetClampMacro";
7344 currentFunction->Name = vtkstrcat3("Get", (yyvsp[(3) - (10)].str), "MaxValue");
7345 currentFunction->Signature =
7346 vtkstrcat4(typeText, " ", currentFunction->Name, "();");
7347 currentFunction->Comment = vtkstrdup(getComment());
7348 set_return(currentFunction, (yyvsp[(6) - (10)].integer), getTypeId(), 0);
7355 /* Line 1455 of yacc.c */
7356 #line 2347 "vtkParse.y"
7357 {preSig("void Set"); postSig("("); }
7362 /* Line 1455 of yacc.c */
7363 #line 2348 "vtkParse.y"
7366 currentFunction->Macro = "vtkSetObjectMacro";
7367 currentFunction->Name = vtkstrcat("Set", (yyvsp[(3) - (7)].str));
7368 currentFunction->Comment = vtkstrdup(getComment());
7369 add_argument(currentFunction, VTK_PARSE_OBJECT_PTR, getTypeId(), 0);
7370 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
7377 /* Line 1455 of yacc.c */
7378 #line 2357 "vtkParse.y"
7384 /* Line 1455 of yacc.c */
7385 #line 2358 "vtkParse.y"
7391 /* Line 1455 of yacc.c */
7392 #line 2358 "vtkParse.y"
7398 /* Line 1455 of yacc.c */
7399 #line 2359 "vtkParse.y"
7402 currentFunction->Macro = "vtkGetObjectMacro";
7403 currentFunction->Name = vtkstrcat("Get", (yyvsp[(4) - (9)].str));
7404 currentFunction->Comment = vtkstrdup(getComment());
7405 set_return(currentFunction, VTK_PARSE_OBJECT_PTR, getTypeId(), 0);
7412 /* Line 1455 of yacc.c */
7413 #line 2368 "vtkParse.y"
7415 currentFunction->Macro = "vtkBooleanMacro";
7416 currentFunction->Name = vtkstrcat((yyvsp[(3) - (6)].str), "On");
7417 currentFunction->Comment = vtkstrdup(getComment());
7418 currentFunction->Signature =
7419 vtkstrcat3("void ", currentFunction->Name, "();");
7420 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
7423 currentFunction->Macro = "vtkBooleanMacro";
7424 currentFunction->Name = vtkstrcat((yyvsp[(3) - (6)].str), "Off");
7425 currentFunction->Comment = vtkstrdup(getComment());
7426 currentFunction->Signature =
7427 vtkstrcat3("void ", currentFunction->Name, "();");
7428 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
7435 /* Line 1455 of yacc.c */
7436 #line 2385 "vtkParse.y"
7437 {startSig(); markSig();}
7442 /* Line 1455 of yacc.c */
7443 #line 2386 "vtkParse.y"
7446 outputSetVectorMacro((yyvsp[(3) - (7)].str), (yyvsp[(6) - (7)].integer), copySig(), 2);
7452 /* Line 1455 of yacc.c */
7453 #line 2390 "vtkParse.y"
7454 {startSig(); markSig();}
7459 /* Line 1455 of yacc.c */
7460 #line 2391 "vtkParse.y"
7463 outputGetVectorMacro((yyvsp[(3) - (7)].str), (yyvsp[(6) - (7)].integer), copySig(), 2);
7469 /* Line 1455 of yacc.c */
7470 #line 2395 "vtkParse.y"
7471 {startSig(); markSig();}
7476 /* Line 1455 of yacc.c */
7477 #line 2396 "vtkParse.y"
7480 outputSetVectorMacro((yyvsp[(3) - (7)].str), (yyvsp[(6) - (7)].integer), copySig(), 3);
7486 /* Line 1455 of yacc.c */
7487 #line 2400 "vtkParse.y"
7488 {startSig(); markSig();}
7493 /* Line 1455 of yacc.c */
7494 #line 2401 "vtkParse.y"
7497 outputGetVectorMacro((yyvsp[(3) - (7)].str), (yyvsp[(6) - (7)].integer), copySig(), 3);
7503 /* Line 1455 of yacc.c */
7504 #line 2405 "vtkParse.y"
7505 {startSig(); markSig();}
7510 /* Line 1455 of yacc.c */
7511 #line 2406 "vtkParse.y"
7514 outputSetVectorMacro((yyvsp[(3) - (7)].str), (yyvsp[(6) - (7)].integer), copySig(), 4);
7520 /* Line 1455 of yacc.c */
7521 #line 2410 "vtkParse.y"
7522 {startSig(); markSig();}
7527 /* Line 1455 of yacc.c */
7528 #line 2411 "vtkParse.y"
7531 outputGetVectorMacro((yyvsp[(3) - (7)].str), (yyvsp[(6) - (7)].integer), copySig(), 4);
7537 /* Line 1455 of yacc.c */
7538 #line 2415 "vtkParse.y"
7539 {startSig(); markSig();}
7544 /* Line 1455 of yacc.c */
7545 #line 2416 "vtkParse.y"
7548 outputSetVectorMacro((yyvsp[(3) - (7)].str), (yyvsp[(6) - (7)].integer), copySig(), 6);
7554 /* Line 1455 of yacc.c */
7555 #line 2420 "vtkParse.y"
7556 {startSig(); markSig();}
7561 /* Line 1455 of yacc.c */
7562 #line 2421 "vtkParse.y"
7565 outputGetVectorMacro((yyvsp[(3) - (7)].str), (yyvsp[(6) - (7)].integer), copySig(), 6);
7571 /* Line 1455 of yacc.c */
7572 #line 2425 "vtkParse.y"
7573 {startSig(); markSig();}
7578 /* Line 1455 of yacc.c */
7579 #line 2427 "vtkParse.y"
7581 const char *typeText;
7583 typeText = copySig();
7584 currentFunction->Macro = "vtkSetVectorMacro";
7585 currentFunction->Name = vtkstrcat("Set", (yyvsp[(3) - (9)].str));
7586 currentFunction->Signature =
7587 vtkstrcat7("void ", currentFunction->Name, "(", typeText,
7588 " a[", (yyvsp[(8) - (9)].str), "]);");
7589 currentFunction->Comment = vtkstrdup(getComment());
7590 add_argument(currentFunction, (VTK_PARSE_POINTER | (yyvsp[(6) - (9)].integer)),
7591 getTypeId(), (int)strtol((yyvsp[(8) - (9)].str), NULL, 0));
7592 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
7599 /* Line 1455 of yacc.c */
7600 #line 2442 "vtkParse.y"
7606 /* Line 1455 of yacc.c */
7607 #line 2444 "vtkParse.y"
7610 currentFunction->Macro = "vtkGetVectorMacro";
7611 currentFunction->Name = vtkstrcat("Get", (yyvsp[(3) - (9)].str));
7613 postSig(currentFunction->Name);
7615 currentFunction->Comment = vtkstrdup(getComment());
7616 set_return(currentFunction, (VTK_PARSE_POINTER | (yyvsp[(6) - (9)].integer)),
7617 getTypeId(), (int)strtol((yyvsp[(8) - (9)].str), NULL, 0));
7624 /* Line 1455 of yacc.c */
7625 #line 2457 "vtkParse.y"
7627 currentFunction->Macro = "vtkViewportCoordinateMacro";
7628 currentFunction->Name = vtkstrcat3("Get", (yyvsp[(3) - (4)].str), "Coordinate");
7629 currentFunction->Signature =
7630 vtkstrcat3("vtkCoordinate *", currentFunction->Name, "();");
7631 currentFunction->Comment = vtkstrdup(getComment());
7632 set_return(currentFunction, VTK_PARSE_OBJECT_PTR, "vtkCoordinate", 0);
7635 currentFunction->Macro = "vtkViewportCoordinateMacro";
7636 currentFunction->Name = vtkstrcat("Set", (yyvsp[(3) - (4)].str));
7637 currentFunction->Signature =
7638 vtkstrcat3("void ", currentFunction->Name, "(double, double);");
7639 currentFunction->Comment = vtkstrdup(getComment());
7640 add_argument(currentFunction, VTK_PARSE_DOUBLE, "double", 0);
7641 add_argument(currentFunction, VTK_PARSE_DOUBLE, "double", 0);
7642 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
7645 currentFunction->Macro = "vtkViewportCoordinateMacro";
7646 currentFunction->Name = vtkstrcat("Set", (yyvsp[(3) - (4)].str));
7647 currentFunction->Signature =
7648 vtkstrcat3("void ", currentFunction->Name, "(double a[2]);");
7649 currentFunction->Comment = vtkstrdup(getComment());
7650 add_argument(currentFunction, VTK_PARSE_DOUBLE_PTR, "double", 2);
7651 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
7654 currentFunction->Macro = "vtkViewportCoordinateMacro";
7655 currentFunction->Name = vtkstrcat("Get", (yyvsp[(3) - (4)].str));
7656 currentFunction->Signature =
7657 vtkstrcat3("double *", currentFunction->Name, "();");
7658 currentFunction->Comment = vtkstrdup(getComment());
7659 set_return(currentFunction, VTK_PARSE_DOUBLE_PTR, "double", 2);
7666 /* Line 1455 of yacc.c */
7667 #line 2494 "vtkParse.y"
7669 currentFunction->Macro = "vtkWorldCoordinateMacro";
7670 currentFunction->Name = vtkstrcat3("Get", (yyvsp[(3) - (4)].str), "Coordinate");
7671 currentFunction->Signature =
7672 vtkstrcat3("vtkCoordinate *", currentFunction->Name, "();");
7673 currentFunction->Comment = vtkstrdup(getComment());
7674 set_return(currentFunction, VTK_PARSE_OBJECT_PTR, "vtkCoordinate", 0);
7677 currentFunction->Macro = "vtkWorldCoordinateMacro";
7678 currentFunction->Name = vtkstrcat("Set", (yyvsp[(3) - (4)].str));
7679 currentFunction->Signature =
7680 vtkstrcat3("void ", currentFunction->Name, "(double, double, double);");
7681 currentFunction->Comment = vtkstrdup(getComment());
7682 add_argument(currentFunction, VTK_PARSE_DOUBLE, "double", 0);
7683 add_argument(currentFunction, VTK_PARSE_DOUBLE, "double", 0);
7684 add_argument(currentFunction, VTK_PARSE_DOUBLE, "double", 0);
7685 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
7688 currentFunction->Macro = "vtkWorldCoordinateMacro";
7689 currentFunction->Name = vtkstrcat("Set", (yyvsp[(3) - (4)].str));
7690 currentFunction->Signature =
7691 vtkstrcat3("void ", currentFunction->Name, "(double a[3]);");
7692 currentFunction->Comment = vtkstrdup(getComment());
7693 add_argument(currentFunction, VTK_PARSE_DOUBLE_PTR, "double", 3);
7694 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
7697 currentFunction->Macro = "vtkWorldCoordinateMacro";
7698 currentFunction->Name = vtkstrcat("Get", (yyvsp[(3) - (4)].str));
7699 currentFunction->Signature =
7700 vtkstrcat3("double *", currentFunction->Name, "();");
7701 currentFunction->Comment = vtkstrdup(getComment());
7702 set_return(currentFunction, VTK_PARSE_DOUBLE_PTR, "double", 3);
7709 /* Line 1455 of yacc.c */
7710 #line 2532 "vtkParse.y"
7712 int is_concrete = 0;
7715 currentFunction->Macro = "vtkTypeMacro";
7716 currentFunction->Name = vtkstrdup("GetClassName");
7717 currentFunction->Signature = vtkstrdup("const char *GetClassName();");
7718 currentFunction->Comment = vtkstrdup(getComment());
7719 set_return(currentFunction, (VTK_PARSE_CONST | VTK_PARSE_CHAR_PTR),
7723 currentFunction->Macro = "vtkTypeMacro";
7724 currentFunction->Name = vtkstrdup("IsA");
7725 currentFunction->Signature = vtkstrdup("int IsA(const char *name);");
7726 currentFunction->Comment = vtkstrdup(getComment());
7727 add_argument(currentFunction, (VTK_PARSE_CONST | VTK_PARSE_CHAR_PTR),
7729 set_return(currentFunction, VTK_PARSE_INT, "int", 0);
7732 currentFunction->Macro = "vtkTypeMacro";
7733 currentFunction->Name = vtkstrdup("NewInstance");
7734 currentFunction->Signature = vtkstrcat((yyvsp[(3) - (7)].str), " *NewInstance();");
7735 currentFunction->Comment = vtkstrdup(getComment());
7736 set_return(currentFunction, VTK_PARSE_OBJECT_PTR, (yyvsp[(3) - (7)].str), 0);
7739 for (i = 0; i < NumberOfConcreteClasses; i++)
7741 if (strcmp(currentClass->Name, ConcreteClasses[i]) == 0)
7750 currentFunction->Macro = "vtkTypeMacro";
7751 currentFunction->Name = vtkstrdup("SafeDownCast");
7752 currentFunction->Signature =
7753 vtkstrcat((yyvsp[(3) - (7)].str), " *SafeDownCast(vtkObject* o);");
7754 currentFunction->Comment = vtkstrdup(getComment());
7755 add_argument(currentFunction, VTK_PARSE_OBJECT_PTR, "vtkObject", 0);
7756 set_return(currentFunction, (VTK_PARSE_STATIC | VTK_PARSE_OBJECT_PTR),
7757 (yyvsp[(3) - (7)].str), 0);
7765 /* Line 1455 of yacc.c */
7766 #line 2588 "vtkParse.y"
7767 { (yyval.str) = "operator()"; }
7772 /* Line 1455 of yacc.c */
7773 #line 2589 "vtkParse.y"
7774 { (yyval.str) = "operator[]"; }
7779 /* Line 1455 of yacc.c */
7780 #line 2590 "vtkParse.y"
7781 { (yyval.str) = "operator new[]"; }
7786 /* Line 1455 of yacc.c */
7787 #line 2591 "vtkParse.y"
7788 { (yyval.str) = "operator delete[]"; }
7793 /* Line 1455 of yacc.c */
7794 #line 2594 "vtkParse.y"
7795 { (yyval.str) = "operator="; }
7800 /* Line 1455 of yacc.c */
7801 #line 2595 "vtkParse.y"
7802 { (yyval.str) = "operator*"; }
7807 /* Line 1455 of yacc.c */
7808 #line 2595 "vtkParse.y"
7809 { (yyval.str) = "operator/"; }
7814 /* Line 1455 of yacc.c */
7815 #line 2596 "vtkParse.y"
7816 { (yyval.str) = "operator-"; }
7821 /* Line 1455 of yacc.c */
7822 #line 2596 "vtkParse.y"
7823 { (yyval.str) = "operator+"; }
7828 /* Line 1455 of yacc.c */
7829 #line 2597 "vtkParse.y"
7830 { (yyval.str) = "operator!"; }
7835 /* Line 1455 of yacc.c */
7836 #line 2597 "vtkParse.y"
7837 { (yyval.str) = "operator~"; }
7842 /* Line 1455 of yacc.c */
7843 #line 2598 "vtkParse.y"
7844 { (yyval.str) = "operator,"; }
7849 /* Line 1455 of yacc.c */
7850 #line 2598 "vtkParse.y"
7851 { (yyval.str) = "operator<"; }
7856 /* Line 1455 of yacc.c */
7857 #line 2599 "vtkParse.y"
7858 { (yyval.str) = "operator>"; }
7863 /* Line 1455 of yacc.c */
7864 #line 2599 "vtkParse.y"
7865 { (yyval.str) = "operator&"; }
7870 /* Line 1455 of yacc.c */
7871 #line 2600 "vtkParse.y"
7872 { (yyval.str) = "operator|"; }
7877 /* Line 1455 of yacc.c */
7878 #line 2600 "vtkParse.y"
7879 { (yyval.str) = "operator^"; }
7884 /* Line 1455 of yacc.c */
7885 #line 2601 "vtkParse.y"
7886 { (yyval.str) = "operator%"; }
7891 /* Line 1455 of yacc.c */
7892 #line 2602 "vtkParse.y"
7893 { (yyval.str) = "operator new"; }
7898 /* Line 1455 of yacc.c */
7899 #line 2603 "vtkParse.y"
7900 { (yyval.str) = "operator delete"; }
7905 /* Line 1455 of yacc.c */
7906 #line 2604 "vtkParse.y"
7907 { (yyval.str) = "operator<<="; }
7912 /* Line 1455 of yacc.c */
7913 #line 2605 "vtkParse.y"
7914 { (yyval.str) = "operator>>="; }
7919 /* Line 1455 of yacc.c */
7920 #line 2606 "vtkParse.y"
7921 { (yyval.str) = "operator<<"; }
7926 /* Line 1455 of yacc.c */
7927 #line 2607 "vtkParse.y"
7928 { (yyval.str) = "operator>>"; }
7933 /* Line 1455 of yacc.c */
7934 #line 2608 "vtkParse.y"
7935 { (yyval.str) = "operator->*"; }
7940 /* Line 1455 of yacc.c */
7941 #line 2609 "vtkParse.y"
7942 { (yyval.str) = "operator->"; }
7947 /* Line 1455 of yacc.c */
7948 #line 2610 "vtkParse.y"
7949 { (yyval.str) = "operator+="; }
7954 /* Line 1455 of yacc.c */
7955 #line 2611 "vtkParse.y"
7956 { (yyval.str) = "operator-="; }
7961 /* Line 1455 of yacc.c */
7962 #line 2612 "vtkParse.y"
7963 { (yyval.str) = "operator*="; }
7968 /* Line 1455 of yacc.c */
7969 #line 2613 "vtkParse.y"
7970 { (yyval.str) = "operator/="; }
7975 /* Line 1455 of yacc.c */
7976 #line 2614 "vtkParse.y"
7977 { (yyval.str) = "operator%="; }
7982 /* Line 1455 of yacc.c */
7983 #line 2615 "vtkParse.y"
7984 { (yyval.str) = "operator++"; }
7989 /* Line 1455 of yacc.c */
7990 #line 2616 "vtkParse.y"
7991 { (yyval.str) = "operator--"; }
7996 /* Line 1455 of yacc.c */
7997 #line 2617 "vtkParse.y"
7998 { (yyval.str) = "operator&="; }
8003 /* Line 1455 of yacc.c */
8004 #line 2618 "vtkParse.y"
8005 { (yyval.str) = "operator|="; }
8010 /* Line 1455 of yacc.c */
8011 #line 2619 "vtkParse.y"
8012 { (yyval.str) = "operator^="; }
8017 /* Line 1455 of yacc.c */
8018 #line 2620 "vtkParse.y"
8019 {(yyval.str) = "operator&&=";}
8024 /* Line 1455 of yacc.c */
8025 #line 2621 "vtkParse.y"
8026 {(yyval.str) = "operator||=";}
8031 /* Line 1455 of yacc.c */
8032 #line 2622 "vtkParse.y"
8033 { (yyval.str) = "operator&&"; }
8038 /* Line 1455 of yacc.c */
8039 #line 2623 "vtkParse.y"
8040 { (yyval.str) = "operator||"; }
8045 /* Line 1455 of yacc.c */
8046 #line 2624 "vtkParse.y"
8047 { (yyval.str) = "operator=="; }
8052 /* Line 1455 of yacc.c */
8053 #line 2625 "vtkParse.y"
8054 { (yyval.str) = "operator!="; }
8059 /* Line 1455 of yacc.c */
8060 #line 2626 "vtkParse.y"
8061 { (yyval.str) = "operator<="; }
8066 /* Line 1455 of yacc.c */
8067 #line 2627 "vtkParse.y"
8068 { (yyval.str) = "operator>="; }
8073 /* Line 1455 of yacc.c */
8074 #line 8207 "vtkParse.tab.c"
8077 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
8081 YY_STACK_PRINT (yyss, yyssp);
8085 /* Now `shift' the result of the reduction. Determine what state
8086 that goes to, based on the state we popped back to and the rule
8087 number reduced by. */
8091 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
8092 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
8093 yystate = yytable[yystate];
8095 yystate = yydefgoto[yyn - YYNTOKENS];
8100 /*------------------------------------.
8101 | yyerrlab -- here on detecting error |
8102 `------------------------------------*/
8104 /* If not already recovering from an error, report this error. */
8108 #if ! YYERROR_VERBOSE
8109 yyerror (YY_("syntax error"));
8112 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
8113 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
8115 YYSIZE_T yyalloc = 2 * yysize;
8116 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
8117 yyalloc = YYSTACK_ALLOC_MAXIMUM;
8118 if (yymsg != yymsgbuf)
8119 YYSTACK_FREE (yymsg);
8120 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
8122 yymsg_alloc = yyalloc;
8126 yymsg_alloc = sizeof yymsgbuf;
8130 if (0 < yysize && yysize <= yymsg_alloc)
8132 (void) yysyntax_error (yymsg, yystate, yychar);
8137 yyerror (YY_("syntax error"));
8139 goto yyexhaustedlab;
8147 if (yyerrstatus == 3)
8149 /* If just tried and failed to reuse lookahead token after an
8150 error, discard it. */
8152 if (yychar <= YYEOF)
8154 /* Return failure if at end of input. */
8155 if (yychar == YYEOF)
8160 yydestruct ("Error: discarding",
8166 /* Else will try to reuse lookahead token after shifting the error
8171 /*---------------------------------------------------.
8172 | yyerrorlab -- error raised explicitly by YYERROR. |
8173 `---------------------------------------------------*/
8176 /* Pacify compilers like GCC when the user code never invokes
8177 YYERROR and the label yyerrorlab therefore never appears in user
8179 if (/*CONSTCOND*/ 0)
8182 /* Do not reclaim the symbols of the rule which action triggered
8186 YY_STACK_PRINT (yyss, yyssp);
8190 /*-------------------------------------------------------------.
8191 | yyerrlab1 -- common code for both syntax error and YYERROR. |
8192 `-------------------------------------------------------------*/
8194 yyerrstatus = 3; /* Each real token shifted decrements this. */
8198 yyn = yypact[yystate];
8199 if (yyn != YYPACT_NINF)
8202 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
8210 /* Pop the current state because it cannot handle the error token. */
8215 yydestruct ("Error: popping",
8216 yystos[yystate], yyvsp);
8219 YY_STACK_PRINT (yyss, yyssp);
8225 /* Shift the error token. */
8226 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
8232 /*-------------------------------------.
8233 | yyacceptlab -- YYACCEPT comes here. |
8234 `-------------------------------------*/
8239 /*-----------------------------------.
8240 | yyabortlab -- YYABORT comes here. |
8241 `-----------------------------------*/
8246 #if !defined(yyoverflow) || YYERROR_VERBOSE
8247 /*-------------------------------------------------.
8248 | yyexhaustedlab -- memory exhaustion comes here. |
8249 `-------------------------------------------------*/
8251 yyerror (YY_("memory exhausted"));
8257 if (yychar != YYEMPTY)
8258 yydestruct ("Cleanup: discarding lookahead",
8260 /* Do not reclaim the symbols of the rule which action triggered
8261 this YYABORT or YYACCEPT. */
8263 YY_STACK_PRINT (yyss, yyssp);
8264 while (yyssp != yyss)
8266 yydestruct ("Cleanup: popping",
8267 yystos[*yyssp], yyvsp);
8272 YYSTACK_FREE (yyss);
8275 if (yymsg != yymsgbuf)
8276 YYSTACK_FREE (yymsg);
8278 /* Make sure YYID is used. */
8279 return YYID (yyresult);
8284 /* Line 1675 of yacc.c */
8285 #line 2652 "vtkParse.y"
8290 /* initialize the structure */
8291 void vtkParse_InitTemplateArgs(TemplateArgs *args)
8293 args->NumberOfArguments = 0;
8296 void vtkParse_CopyTemplateArgs(TemplateArgs *args, const TemplateArgs *orig)
8300 n = orig->NumberOfArguments;
8301 args->NumberOfArguments = n;
8302 args->Arguments = (TemplateArg **)malloc(n*sizeof(TemplateArg *));
8304 for (i = 0; i < n; i++)
8306 args->Arguments[i] = (TemplateArg *)malloc(sizeof(TemplateArg));
8307 vtkParse_CopyTemplateArg(args->Arguments[i], orig->Arguments[i]);
8311 void vtkParse_InitTemplateArg(TemplateArg *arg)
8313 arg->Template = NULL;
8320 void vtkParse_CopyTemplateArg(TemplateArg *arg, const TemplateArg *orig)
8322 arg->Template = NULL;
8326 arg->Template = (TemplateArgs *)malloc(sizeof(TemplateArgs));
8327 vtkParse_CopyTemplateArgs(arg->Template, orig->Template);
8330 arg->Type = orig->Type;
8331 arg->Class = orig->Class;
8332 arg->Name = orig->Name;
8333 arg->Value = orig->Value;
8336 /* initialize the structure */
8337 void vtkParse_InitFunction(FunctionInfo *func)
8341 func->ItemType = VTK_FUNCTION_INFO;
8342 func->Access = VTK_ACCESS_PUBLIC;
8344 func->Comment = NULL;
8346 func->Signature = NULL;
8347 func->Template = NULL;
8348 func->NumberOfArguments = 0;
8349 func->ReturnValue = NULL;
8351 func->SizeHint = NULL;
8353 func->IsVirtual = 0;
8354 func->IsPureVirtual = 0;
8355 func->IsOperator = 0;
8356 func->IsVariadic = 0;
8358 func->IsExplicit = 0;
8360 /* everything below here is legacy information, *
8361 * maintained only for backwards compatibility */
8362 func->ReturnType = VTK_PARSE_VOID;
8363 func->ReturnClass = NULL;
8367 func->ArrayFailure = 0;
8369 func->IsProtected = 0;
8371 for (i = 0; i < MAX_ARGS; i++)
8373 func->ArgTypes[i] = 0;
8374 func->ArgClasses[i] = 0;
8375 func->ArgCounts[i] = 0;
8379 void vtkParse_CopyFunction(FunctionInfo *func, const FunctionInfo *orig)
8383 func->ItemType = orig->ItemType;
8384 func->Access = orig->Access;
8385 func->Name = orig->Name;
8386 func->Comment = orig->Comment;
8387 func->Class = orig->Class;
8388 func->Signature = orig->Signature;
8389 func->Template = NULL;
8393 func->Template = (TemplateArgs *)malloc(sizeof(TemplateArgs));
8394 vtkParse_CopyTemplateArgs(func->Template, orig->Template);
8397 n = orig->NumberOfArguments;
8398 func->NumberOfArguments = n;
8401 func->Arguments = (ValueInfo **)malloc(n*sizeof(ValueInfo *));
8402 for (i = 0; i < n; i++)
8404 func->Arguments[i] = (ValueInfo *)malloc(sizeof(ValueInfo));
8405 vtkParse_CopyValue(func->Arguments[i], orig->Arguments[i]);
8409 func->ReturnValue = NULL;
8410 if (orig->ReturnValue)
8412 func->ReturnValue = (ValueInfo *)malloc(sizeof(ValueInfo));
8413 vtkParse_CopyValue(func->ReturnValue, orig->ReturnValue);
8416 func->Macro = orig->Macro;
8417 func->SizeHint = orig->SizeHint;
8418 func->IsStatic = orig->IsStatic;
8419 func->IsVirtual = orig->IsVirtual;
8420 func->IsPureVirtual = orig->IsPureVirtual;
8421 func->IsOperator = orig->IsOperator;
8422 func->IsVariadic = orig->IsVariadic;
8423 func->IsConst = orig->IsConst;
8424 func->IsExplicit = orig->IsExplicit;
8426 /* everything below here is legacy information, *
8427 * maintained only for backwards compatibility */
8428 func->ReturnType = orig->ReturnType;
8429 func->ReturnClass = orig->ReturnClass;
8430 func->HaveHint = orig->HaveHint;
8431 func->HintSize = orig->HintSize;
8432 func->IsLegacy = orig->IsLegacy;
8433 func->ArrayFailure = orig->ArrayFailure;
8434 func->IsPublic = orig->IsPublic;
8435 func->IsProtected = orig->IsProtected;
8437 for (i = 0; i < MAX_ARGS; i++)
8439 func->ArgTypes[i] = orig->ArgTypes[i];
8440 func->ArgClasses[i] = orig->ArgClasses[i];
8441 func->ArgCounts[i] = orig->ArgCounts[i];
8445 /* initialize the structure */
8446 void vtkParse_InitValue(ValueInfo *val)
8448 val->ItemType = VTK_VARIABLE_INFO;
8449 val->Access = VTK_ACCESS_PUBLIC;
8451 val->Comment = NULL;
8456 val->CountHint = NULL;
8457 val->NumberOfDimensions = 0;
8458 val->Function = NULL;
8463 void vtkParse_CopyValue(ValueInfo *val, const ValueInfo *orig)
8467 val->ItemType = orig->ItemType;
8468 val->Access = orig->Access;
8469 val->Name = orig->Name;
8470 val->Comment = orig->Comment;
8471 val->Value = orig->Value;
8472 val->Type = orig->Type;
8473 val->Class = orig->Class;
8474 val->Count = orig->Count;
8475 val->CountHint = orig->CountHint;
8477 n = orig->NumberOfDimensions;
8478 val->NumberOfDimensions = n;
8481 val->Dimensions = (const char **)malloc(n*sizeof(char *));
8482 for (i = 0; i < n; i++)
8484 val->Dimensions[i] = orig->Dimensions[i];
8488 val->Function = NULL;
8491 val->Function = (FunctionInfo *)malloc(sizeof(FunctionInfo));
8492 vtkParse_CopyFunction(val->Function, orig->Function);
8495 val->IsStatic = orig->IsStatic;
8496 val->IsEnum = orig->IsEnum;
8499 /* initialize the structure */
8500 void vtkParse_InitEnum(EnumInfo *item)
8502 item->ItemType = VTK_ENUM_INFO;
8503 item->Access = VTK_ACCESS_PUBLIC;
8505 item->Comment = NULL;
8508 void vtkParse_CopyEnum(EnumInfo *item, const EnumInfo *orig)
8510 item->ItemType = orig->ItemType;
8511 item->Access = orig->Access;
8512 item->Name = orig->Name;
8513 item->Comment = orig->Comment;
8516 /* initialize the structure */
8517 void vtkParse_InitUsing(UsingInfo *item)
8519 item->ItemType = VTK_USING_INFO;
8520 item->Access = VTK_ACCESS_PUBLIC;
8522 item->Comment = NULL;
8526 void vtkParse_CopyUsing(UsingInfo *item, const UsingInfo *orig)
8528 item->ItemType = orig->ItemType;
8529 item->Access = orig->Access;
8530 item->Name = orig->Name;
8531 item->Comment = orig->Comment;
8532 item->Scope = orig->Scope;
8535 /* initialize the structure */
8536 void vtkParse_InitClass(ClassInfo *cls)
8538 cls->ItemType = VTK_CLASS_INFO;
8539 cls->Access = VTK_ACCESS_PUBLIC;
8541 cls->Comment = NULL;
8542 cls->Template = NULL;
8543 cls->NumberOfSuperClasses = 0;
8544 cls->NumberOfItems = 0;
8545 cls->NumberOfClasses = 0;
8546 cls->NumberOfFunctions = 0;
8547 cls->NumberOfConstants = 0;
8548 cls->NumberOfVariables = 0;
8549 cls->NumberOfEnums = 0;
8550 cls->NumberOfTypedefs = 0;
8551 cls->NumberOfUsings = 0;
8552 cls->IsAbstract = 0;
8556 void vtkParse_CopyClass(ClassInfo *cls, const ClassInfo *orig)
8560 cls->ItemType = orig->ItemType;
8561 cls->Access = orig->Access;
8562 cls->Name = orig->Name;
8563 cls->Comment = orig->Comment;
8564 cls->Template = NULL;
8568 cls->Template = (TemplateArgs *)malloc(sizeof(TemplateArgs));
8569 vtkParse_CopyTemplateArgs(cls->Template, orig->Template);
8572 n = orig->NumberOfSuperClasses;
8573 cls->NumberOfSuperClasses = n;
8576 cls->SuperClasses = (const char **)malloc(n*sizeof(char *));
8577 for (i = 0; i < n; i++)
8579 cls->SuperClasses[i] = orig->SuperClasses[i];
8583 n = orig->NumberOfItems;
8584 cls->NumberOfItems = n;
8587 cls->Items = (ItemInfo *)malloc(n*sizeof(ItemInfo));
8588 for (i = 0; i < n; i++)
8590 cls->Items[i].Type = orig->Items[i].Type;
8591 cls->Items[i].Index = orig->Items[i].Index;
8595 n = orig->NumberOfClasses;
8596 cls->NumberOfClasses = n;
8599 cls->Classes = (ClassInfo **)malloc(n*sizeof(ClassInfo *));
8600 for (i = 0; i < n; i++)
8602 cls->Classes[i] = (ClassInfo *)malloc(sizeof(ClassInfo));
8603 vtkParse_CopyClass(cls->Classes[i], orig->Classes[i]);
8607 n = orig->NumberOfFunctions;
8608 cls->NumberOfFunctions = n;
8611 cls->Functions = (FunctionInfo **)malloc(n*sizeof(FunctionInfo *));
8612 for (i = 0; i < n; i++)
8614 cls->Functions[i] = (FunctionInfo *)malloc(sizeof(FunctionInfo));
8615 vtkParse_CopyFunction(cls->Functions[i], orig->Functions[i]);
8619 n = orig->NumberOfConstants;
8620 cls->NumberOfConstants = n;
8623 cls->Constants = (ValueInfo **)malloc(n*sizeof(ValueInfo *));
8624 for (i = 0; i < n; i++)
8626 cls->Constants[i] = (ValueInfo *)malloc(sizeof(ValueInfo));
8627 vtkParse_CopyValue(cls->Constants[i], orig->Constants[i]);
8631 n = orig->NumberOfVariables;
8632 cls->NumberOfVariables = n;
8635 cls->Variables = (ValueInfo **)malloc(n*sizeof(ValueInfo *));
8636 for (i = 0; i < n; i++)
8638 cls->Variables[i] = (ValueInfo *)malloc(sizeof(ValueInfo));
8639 vtkParse_CopyValue(cls->Variables[i], orig->Variables[i]);
8643 n = orig->NumberOfEnums;
8644 cls->NumberOfEnums = n;
8647 cls->Enums = (EnumInfo **)malloc(n*sizeof(EnumInfo *));
8648 for (i = 0; i < n; i++)
8650 cls->Enums[i] = (EnumInfo *)malloc(sizeof(EnumInfo));
8651 vtkParse_CopyEnum(cls->Enums[i], orig->Enums[i]);
8655 n = orig->NumberOfTypedefs;
8656 cls->NumberOfTypedefs = n;
8659 cls->Typedefs = (ValueInfo **)malloc(n*sizeof(ValueInfo *));
8660 for (i = 0; i < n; i++)
8662 cls->Typedefs[i] = (ValueInfo *)malloc(sizeof(ValueInfo));
8663 vtkParse_CopyValue(cls->Typedefs[i], orig->Typedefs[i]);
8667 n = orig->NumberOfUsings;
8668 cls->NumberOfUsings = n;
8671 cls->Usings = (UsingInfo **)malloc(n*sizeof(UsingInfo *));
8672 for (i = 0; i < n; i++)
8674 cls->Usings[i] = (UsingInfo *)malloc(sizeof(UsingInfo));
8675 vtkParse_CopyUsing(cls->Usings[i], orig->Usings[i]);
8679 cls->IsAbstract = orig->IsAbstract;
8680 cls->HasDelete = orig->HasDelete;
8684 /* initialize the structure */
8685 void vtkParse_InitNamespace(NamespaceInfo *name_info)
8687 /* namespace info */
8688 name_info->ItemType = VTK_NAMESPACE_INFO;
8689 name_info->Access = VTK_ACCESS_PUBLIC;
8690 name_info->Name = NULL;
8691 name_info->Comment = NULL;
8692 name_info->NumberOfItems = 0;
8693 name_info->NumberOfClasses = 0;
8694 name_info->NumberOfFunctions = 0;
8695 name_info->NumberOfConstants = 0;
8696 name_info->NumberOfVariables = 0;
8697 name_info->NumberOfEnums = 0;
8698 name_info->NumberOfTypedefs = 0;
8699 name_info->NumberOfUsings = 0;
8700 name_info->NumberOfNamespaces = 0;
8703 void vtkParse_CopyNamespace(NamespaceInfo *ninfo, const NamespaceInfo *orig)
8707 /* namespace info */
8708 ninfo->ItemType = orig->ItemType;
8709 ninfo->Access = orig->Access;
8710 ninfo->Name = orig->Name;
8711 ninfo->Comment = orig->Comment;
8713 n = orig->NumberOfItems;
8714 ninfo->NumberOfItems = n;
8717 ninfo->Items = (ItemInfo *)malloc(n*sizeof(ItemInfo));
8718 for (i = 0; i < n; i++)
8720 ninfo->Items[i].Type = orig->Items[i].Type;
8721 ninfo->Items[i].Index = orig->Items[i].Index;
8725 n = orig->NumberOfClasses;
8726 ninfo->NumberOfClasses = n;
8729 ninfo->Classes = (ClassInfo **)malloc(n*sizeof(ClassInfo *));
8730 for (i = 0; i < n; i++)
8732 ninfo->Classes[i] = (ClassInfo *)malloc(sizeof(ClassInfo));
8733 vtkParse_CopyClass(ninfo->Classes[i], orig->Classes[i]);
8737 n = orig->NumberOfFunctions;
8738 ninfo->NumberOfFunctions = n;
8741 ninfo->Functions = (FunctionInfo **)malloc(n*sizeof(FunctionInfo *));
8742 for (i = 0; i < n; i++)
8744 ninfo->Functions[i] = (FunctionInfo *)malloc(sizeof(FunctionInfo));
8745 vtkParse_CopyFunction(ninfo->Functions[i], orig->Functions[i]);
8749 n = orig->NumberOfConstants;
8750 ninfo->NumberOfConstants = n;
8753 ninfo->Constants = (ValueInfo **)malloc(n*sizeof(ValueInfo *));
8754 for (i = 0; i < n; i++)
8756 ninfo->Constants[i] = (ValueInfo *)malloc(sizeof(ValueInfo));
8757 vtkParse_CopyValue(ninfo->Constants[i], orig->Constants[i]);
8761 n = orig->NumberOfVariables;
8762 ninfo->NumberOfVariables = n;
8765 ninfo->Variables = (ValueInfo **)malloc(n*sizeof(ValueInfo *));
8766 for (i = 0; i < n; i++)
8768 ninfo->Variables[i] = (ValueInfo *)malloc(sizeof(ValueInfo));
8769 vtkParse_CopyValue(ninfo->Variables[i], orig->Variables[i]);
8773 n = orig->NumberOfEnums;
8774 ninfo->NumberOfEnums = n;
8777 ninfo->Enums = (EnumInfo **)malloc(n*sizeof(EnumInfo *));
8778 for (i = 0; i < n; i++)
8780 ninfo->Enums[i] = (EnumInfo *)malloc(sizeof(EnumInfo));
8781 vtkParse_CopyEnum(ninfo->Enums[i], orig->Enums[i]);
8785 n = orig->NumberOfTypedefs;
8786 ninfo->NumberOfTypedefs = n;
8789 ninfo->Typedefs = (ValueInfo **)malloc(n*sizeof(ValueInfo *));
8790 for (i = 0; i < n; i++)
8792 ninfo->Typedefs[i] = (ValueInfo *)malloc(sizeof(ValueInfo));
8793 vtkParse_CopyValue(ninfo->Typedefs[i], orig->Typedefs[i]);
8797 n = orig->NumberOfUsings;
8798 ninfo->NumberOfUsings = n;
8801 ninfo->Usings = (UsingInfo **)malloc(n*sizeof(UsingInfo *));
8802 for (i = 0; i < n; i++)
8804 ninfo->Usings[i] = (UsingInfo *)malloc(sizeof(UsingInfo));
8805 vtkParse_CopyUsing(ninfo->Usings[i], orig->Usings[i]);
8812 void vtkParse_InitFile(FileInfo *file_info)
8815 file_info->FileName = NULL;
8816 file_info->NameComment = NULL;
8817 file_info->Description = NULL;
8818 file_info->Caveats = NULL;
8819 file_info->SeeAlso = NULL;
8821 file_info->MainClass = NULL;
8822 file_info->Contents = NULL;
8825 void vtkParse_FreeTemplateArgs(TemplateArgs *template_info)
8829 m = template_info->NumberOfArguments;
8830 for (j = 0; j < m; j++)
8832 if (template_info->Arguments[j]->Template)
8834 vtkParse_FreeTemplateArgs(template_info->Arguments[j]->Template);
8836 free(template_info->Arguments[j]);
8839 free(template_info);
8842 void vtkParse_FreeFunction(FunctionInfo *function_info);
8844 void vtkParse_FreeValue(ValueInfo *value_info)
8846 if (value_info->NumberOfDimensions)
8848 free((char **)value_info->Dimensions);
8850 if (value_info->Function)
8852 vtkParse_FreeFunction(value_info->Function);
8858 void vtkParse_FreeEnum(EnumInfo *enum_info)
8863 void vtkParse_FreeUsing(UsingInfo *using_info)
8868 void vtkParse_FreeFunction(FunctionInfo *function_info)
8872 if (function_info->Template)
8874 vtkParse_FreeTemplateArgs(function_info->Template);
8877 m = function_info->NumberOfArguments;
8878 for (j = 0; j < m; j++) { vtkParse_FreeValue(function_info->Arguments[j]); }
8879 if (m > 0) { free(function_info->Arguments); }
8881 if (function_info->ReturnValue)
8883 vtkParse_FreeValue(function_info->ReturnValue);
8886 free(function_info);
8889 void vtkParse_FreeClass(ClassInfo *class_info)
8893 if (class_info->Template) { vtkParse_FreeTemplateArgs(class_info->Template); }
8895 m = class_info->NumberOfSuperClasses;
8896 if (m > 0) { free((char **)class_info->SuperClasses); }
8898 m = class_info->NumberOfClasses;
8899 for (j = 0; j < m; j++) { vtkParse_FreeClass(class_info->Classes[j]); }
8900 if (m > 0) { free(class_info->Classes); }
8902 m = class_info->NumberOfFunctions;
8903 for (j = 0; j < m; j++) { vtkParse_FreeFunction(class_info->Functions[j]); }
8904 if (m > 0) { free(class_info->Functions); }
8906 m = class_info->NumberOfConstants;
8907 for (j = 0; j < m; j++) { vtkParse_FreeValue(class_info->Constants[j]); }
8908 if (m > 0) { free(class_info->Constants); }
8910 m = class_info->NumberOfVariables;
8911 for (j = 0; j < m; j++) { vtkParse_FreeValue(class_info->Variables[j]); }
8912 if (m > 0) { free(class_info->Variables); }
8914 m = class_info->NumberOfEnums;
8915 for (j = 0; j < m; j++) { vtkParse_FreeEnum(class_info->Enums[j]); }
8916 if (m > 0) { free(class_info->Enums); }
8918 m = class_info->NumberOfTypedefs;
8919 for (j = 0; j < m; j++) { vtkParse_FreeValue(class_info->Typedefs[j]); }
8920 if (m > 0) { free(class_info->Typedefs); }
8922 m = class_info->NumberOfUsings;
8923 for (j = 0; j < m; j++) { vtkParse_FreeUsing(class_info->Usings[j]); }
8924 if (m > 0) { free(class_info->Usings); }
8926 if (class_info->NumberOfItems > 0) { free(class_info->Items); }
8931 void vtkParse_FreeNamespace(NamespaceInfo *namespace_info)
8935 m = namespace_info->NumberOfClasses;
8936 for (j = 0; j < m; j++) { vtkParse_FreeClass(namespace_info->Classes[j]); }
8937 if (m > 0) { free(namespace_info->Classes); }
8939 m = namespace_info->NumberOfFunctions;
8940 for (j=0; j<m; j++) { vtkParse_FreeFunction(namespace_info->Functions[j]); }
8941 if (m > 0) { free(namespace_info->Functions); }
8943 m = namespace_info->NumberOfConstants;
8944 for (j=0; j<m; j++) { vtkParse_FreeValue(namespace_info->Constants[j]); }
8945 if (m > 0) { free(namespace_info->Constants); }
8947 m = namespace_info->NumberOfVariables;
8948 for (j=0; j<m; j++) { vtkParse_FreeValue(namespace_info->Variables[j]); }
8949 if (m > 0) { free(namespace_info->Variables); }
8951 m = namespace_info->NumberOfEnums;
8952 for (j = 0; j < m; j++) { vtkParse_FreeEnum(namespace_info->Enums[j]); }
8953 if (m > 0) { free(namespace_info->Enums); }
8955 m = namespace_info->NumberOfTypedefs;
8956 for (j = 0; j < m; j++) { vtkParse_FreeValue(namespace_info->Typedefs[j]); }
8957 if (m > 0) { free(namespace_info->Typedefs); }
8959 m = namespace_info->NumberOfUsings;
8960 for (j = 0; j < m; j++) { vtkParse_FreeUsing(namespace_info->Usings[j]); }
8961 if (m > 0) { free(namespace_info->Usings); }
8963 m = namespace_info->NumberOfNamespaces;
8964 for (j=0; j<m; j++) {vtkParse_FreeNamespace(namespace_info->Namespaces[j]);}
8965 if (m > 0) { free(namespace_info->Namespaces); }
8967 free(namespace_info);
8970 /* check whether this is the class we are looking for */
8971 void start_class(const char *classname, int is_struct_or_union)
8973 ClassInfo *outerClass = currentClass;
8975 currentClass = (ClassInfo *)malloc(sizeof(ClassInfo));
8976 vtkParse_InitClass(currentClass);
8977 currentClass->Name = vtkstrdup(classname);
8978 if (is_struct_or_union == 1)
8980 currentClass->ItemType = VTK_STRUCT_INFO;
8982 if (is_struct_or_union == 2)
8984 currentClass->ItemType = VTK_UNION_INFO;
8989 vtkParse_AddClassToClass(outerClass, currentClass);
8993 vtkParse_AddClassToNamespace(currentNamespace, currentClass);
8996 /* template information */
8997 if (currentTemplate)
8999 currentClass->Template = currentTemplate;
9000 currentTemplate = NULL;
9003 /* comment, if any */
9004 currentClass->Comment = vtkstrdup(getComment());
9006 access_level = VTK_ACCESS_PRIVATE;
9007 if (is_struct_or_union)
9009 access_level = VTK_ACCESS_PUBLIC;
9012 vtkParse_InitFunction(currentFunction);
9017 /* reject the class */
9018 void reject_class(const char *classname, int is_struct_or_union)
9020 static ClassInfo static_class;
9023 currentClass = &static_class;
9024 currentClass->Name = vtkstrdup(classname);
9025 vtkParse_InitClass(currentClass);
9027 access_level = VTK_ACCESS_PRIVATE;
9028 if (is_struct_or_union)
9030 access_level = VTK_ACCESS_PUBLIC;
9033 vtkParse_InitFunction(currentFunction);
9038 /* reached the end of a class definition */
9041 /* add default constructors */
9042 vtkParse_AddDefaultConstructors(currentClass);
9047 /* add a using declaration or directive */
9048 void add_using(const char *name, int is_namespace)
9053 item = (UsingInfo *)malloc(sizeof(UsingInfo));
9054 vtkParse_InitUsing(item);
9058 item->Scope = vtkstrdup(name);
9063 while (i > 0 && name[i-1] != ':') { i--; }
9064 item->Name = vtkstrdup(&name[i]);
9065 while (i > 0 && name[i-1] == ':') { i--; }
9066 item->Scope = vtkstrndup(name, i);
9071 vtkParse_AddUsingToClass(currentClass, item);
9075 vtkParse_AddUsingToNamespace(currentNamespace, item);
9079 /* start a new enum */
9080 void start_enum(const char *name)
9082 static char text[256];
9085 currentEnumName = "int";
9086 currentEnumValue = NULL;
9090 currentEnumName = text;
9091 item = (EnumInfo *)malloc(sizeof(EnumInfo));
9092 vtkParse_InitEnum(item);
9093 item->Name = vtkstrdup(name);
9094 item->Access = access_level;
9097 vtkParse_AddEnumToClass(currentClass, item);
9101 vtkParse_AddEnumToNamespace(currentNamespace, item);
9106 /* finish the enum */
9109 currentEnumName = NULL;
9110 currentEnumValue = NULL;
9113 /* add a constant to the enum */
9114 void add_enum(const char *name, const char *value)
9116 static char text[2048];
9122 strcpy(text, value);
9123 currentEnumValue = text;
9125 else if (currentEnumValue)
9128 while (i > 0 && text[i-1] >= '0' &&
9129 text[i-1] <= '9') { i--; }
9131 if (i == 0 || text[i-1] == ' ' ||
9132 (i > 1 && text[i-2] == ' ' &&
9133 (text[i-1] == '-' || text[i-1] == '+')))
9135 if (i > 0 && text[i-1] != ' ')
9139 j = (int)strtol(&text[i], NULL, 10);
9140 sprintf(&text[i], "%li", j+1);
9145 strcpy(&text[i], " + 1");
9151 currentEnumValue = text;
9154 add_constant(name, currentEnumValue, VTK_PARSE_INT, currentEnumName, 2);
9157 /* for a macro constant, guess the constant type */
9158 unsigned int guess_constant_type(const char *valstring)
9160 unsigned int valtype = 0;
9165 if (valstring == NULL || valstring[0] == '\0')
9170 if (valstring[0] < '0' || valstring[0] > '9')
9173 while ((valstring[k] >= '0' && valstring[k] <= '9') ||
9174 (valstring[k] >= 'a' && valstring[k] <= 'z') ||
9175 (valstring[k] >= 'A' && valstring[k] <= 'Z') ||
9176 valstring[k] == '_') { k++; }
9178 if (valstring[k] == '\0')
9184 if (strcmp(valstring, "true") == 0 || strcmp(valstring, "false") == 0)
9186 return VTK_PARSE_BOOL;
9189 if (valstring[0] == '\'')
9191 return VTK_PARSE_CHAR;
9194 if (strncmp(valstring, "VTK_TYPE_CAST(", 14) == 0 ||
9195 strncmp(valstring, "static_cast<", 12) == 0 ||
9196 strncmp(valstring, "const_cast<", 11) == 0 ||
9197 strncmp(valstring, "(", 1) == 0)
9201 int is_unsigned = 0;
9204 if (valstring[0] == 'c')
9206 cp = &valstring[11];
9208 else if (valstring[0] == 's')
9210 cp = &valstring[12];
9212 else if (valstring[0] == 'V')
9214 cp = &valstring[14];
9217 if (strncmp(cp, "unsigned ", 9) == 0)
9224 for (k = 0; k < n && cp[k] != ',' &&
9225 cp[k] != '>' && cp[k] != ')'; k++) { ; };
9227 if (strncmp(cp, "long long", k) == 0)
9228 { valtype = VTK_PARSE_LONG_LONG; }
9229 else if (strncmp(cp, "__int64", k) == 0)
9230 { valtype = VTK_PARSE___INT64; }
9231 else if (strncmp(cp, "long", k) == 0)
9232 { valtype = VTK_PARSE_LONG; }
9233 else if (strncmp(cp, "short", k) == 0)
9234 { valtype = VTK_PARSE_SHORT; }
9235 else if (strncmp(cp, "signed char", k) == 0)
9236 { valtype = VTK_PARSE_SIGNED_CHAR; }
9237 else if (strncmp(cp, "char", k) == 0)
9238 { valtype = VTK_PARSE_CHAR; }
9239 else if (strncmp(cp, "int", k) == 0 ||
9240 strncmp(cp, "signed", k) == 0)
9241 { valtype = VTK_PARSE_INT; }
9242 else if (strncmp(cp, "float", k) == 0)
9243 { valtype = VTK_PARSE_FLOAT; }
9244 else if (strncmp(cp, "double", k) == 0)
9245 { valtype = VTK_PARSE_DOUBLE; }
9246 else if (strncmp(cp, "char *", k) == 0)
9247 { valtype = VTK_PARSE_CHAR_PTR; }
9251 if (valtype == 0) { valtype = VTK_PARSE_INT; }
9252 valtype = (valtype | VTK_PARSE_UNSIGNED);
9261 /* check the current scope */
9264 NamespaceInfo *scope = currentNamespace;
9265 if (namespaceDepth > 0)
9267 scope = namespaceStack[0];
9270 for (i = 0; i < scope->NumberOfConstants; i++)
9272 if (strcmp(scope->Constants[i]->Name, valstring) == 0)
9274 return scope->Constants[i]->Type;
9279 /* check for preprocessor macros */
9282 MacroInfo *macro = vtkParsePreprocess_GetMacro(
9283 &preprocessor, valstring);
9285 if (macro && !macro->IsFunction)
9287 return guess_constant_type(macro->Definition);
9291 /* fall back to the preprocessor to evaluate the constant */
9295 int result = vtkParsePreprocess_EvaluateExpression(
9296 &preprocessor, valstring, &val, &is_unsigned);
9298 if (result == VTK_PARSE_PREPROC_DOUBLE)
9300 return VTK_PARSE_DOUBLE;
9302 else if (result == VTK_PARSE_PREPROC_FLOAT)
9304 return VTK_PARSE_FLOAT;
9306 else if (result == VTK_PARSE_PREPROC_STRING)
9308 return VTK_PARSE_CHAR_PTR;
9310 else if (result == VTK_PARSE_OK)
9314 if ((preproc_uint_t)val <= VTK_UNSIGNED_INT_MAX)
9316 return VTK_PARSE_UNSIGNED_INT;
9320 #if defined(VTK_TYPE_USE_LONG_LONG)
9321 return VTK_PARSE_UNSIGNED_LONG_LONG;
9322 #elif defined(VTK_TYPE_USE___INT64)
9323 return VTK_PARSE_UNSIGNED___INT64;
9325 return VTK_PARSE_UNSIGNED_LONG;
9331 if (val >= VTK_INT_MIN && val <= VTK_INT_MAX)
9333 return VTK_PARSE_INT;
9337 #if defined(VTK_TYPE_USE_LONG_LONG)
9338 return VTK_PARSE_LONG_LONG;
9339 #elif defined(VTK_TYPE_USE___INT64)
9340 return VTK_PARSE___INT64;
9342 return VTK_PARSE_LONG;
9352 /* add a constant to the current class or namespace */
9353 void add_constant(const char *name, const char *value,
9354 unsigned int type, const char *typeclass, int flag)
9356 ValueInfo *con = (ValueInfo *)malloc(sizeof(ValueInfo));
9357 vtkParse_InitValue(con);
9358 con->ItemType = VTK_CONSTANT_INFO;
9359 con->Name = vtkstrdup(name);
9360 con->Value = vtkstrdup(value);
9364 con->Class = vtkstrdup(typeclass);
9374 con->Access = VTK_ACCESS_PUBLIC;
9377 con->Type = guess_constant_type(con->Value);
9379 vtkParse_AddConstantToNamespace(data.Contents, con);
9381 else if (currentClass)
9383 con->Access = access_level;
9384 vtkParse_AddConstantToClass(currentClass, con);
9388 con->Access = VTK_ACCESS_PUBLIC;
9389 vtkParse_AddConstantToNamespace(currentNamespace, con);
9393 /* if the name is a const in this namespace, the scope it */
9394 const char *add_const_scope(const char *name)
9396 static char text[256];
9397 NamespaceInfo *scope = currentNamespace;
9405 for (j = 0; j < currentClass->NumberOfConstants; j++)
9407 if (strcmp(currentClass->Constants[j]->Name, text) == 0)
9409 prepend_scope(text, currentClass->Name);
9415 while (scope && scope->Name)
9419 prepend_scope(text, scope->Name);
9423 for (j = 0; j < scope->NumberOfConstants; j++)
9425 if (strcmp(scope->Constants[j]->Name, text) == 0)
9427 prepend_scope(text, scope->Name);
9436 scope = namespaceStack[--i];
9443 /* add an arg to a function */
9444 void add_argument(FunctionInfo *func, unsigned int type,
9445 const char *typeclass, int count)
9447 int i = func->NumberOfArguments;
9449 ValueInfo *arg = (ValueInfo *)malloc(sizeof(ValueInfo));
9450 vtkParse_InitValue(arg);
9455 arg->Class = vtkstrdup(typeclass);
9461 sprintf(text, "%i", count);
9462 vtkParse_AddStringToArray(&arg->Dimensions, &arg->NumberOfDimensions,
9466 func->ArgTypes[i] = arg->Type;
9467 func->ArgClasses[i] = arg->Class;
9468 func->ArgCounts[i] = count;
9470 vtkParse_AddArgumentToFunction(func, arg);
9473 /* set the return type for the current function */
9474 void set_return(FunctionInfo *func, unsigned int type,
9475 const char *typeclass, int count)
9478 ValueInfo *val = (ValueInfo *)malloc(sizeof(ValueInfo));
9480 vtkParse_InitValue(val);
9484 val->Class = vtkstrdup(typeclass);
9490 sprintf(text, "%i", count);
9491 vtkParse_AddStringToArray(&val->Dimensions, &val->NumberOfDimensions,
9496 func->ReturnValue = val;
9497 func->ReturnType = val->Type;
9498 func->ReturnClass = val->Class;
9499 func->HintSize = count;
9502 /* deal with types that include function pointers or arrays */
9503 void handle_complex_type(
9504 ValueInfo *val, unsigned int datatype, unsigned int extra,
9505 const char *funcSig)
9507 FunctionInfo *func = 0;
9511 /* if "extra" was set, parentheses were involved */
9512 if ((extra & VTK_PARSE_BASE_TYPE) == VTK_PARSE_FUNCTION)
9514 /* the current type becomes the function return type */
9515 func = getFunction();
9516 func->ReturnValue = (ValueInfo *)malloc(sizeof(ValueInfo));
9517 vtkParse_InitValue(func->ReturnValue);
9518 func->ReturnValue->Type = datatype;
9519 func->ReturnValue->Class = vtkstrdup(getTypeId());
9520 func->ReturnType = func->ReturnValue->Type;
9521 func->ReturnClass = func->ReturnValue->Class;
9522 if (funcSig) { func->Signature = vtkstrdup(funcSig); }
9523 val->Function = func;
9525 /* the val type is whatever was inside the parentheses */
9527 setTypeId(func->Class ? "method" : "function");
9528 datatype = (extra & VTK_PARSE_UNQUALIFIED_TYPE);
9530 else if ((extra & VTK_PARSE_INDIRECT) == VTK_PARSE_BAD_INDIRECT)
9532 datatype = (datatype | VTK_PARSE_BAD_INDIRECT);
9534 else if ((extra & VTK_PARSE_INDIRECT) != 0)
9536 extra = (extra & VTK_PARSE_INDIRECT);
9538 if ((extra & VTK_PARSE_REF) != 0)
9540 datatype = (datatype | VTK_PARSE_REF);
9541 extra = (extra & ~VTK_PARSE_REF);
9544 if (extra != 0 && getArrayNDims() > 0)
9546 /* pointer represents an unsized array bracket */
9547 datatype = add_indirection(datatype, VTK_PARSE_ARRAY);
9548 extra = ((extra >> 2) & VTK_PARSE_POINTER_MASK);
9551 datatype = add_indirection(datatype, extra);
9554 if (getArrayNDims() == 1)
9556 if ((datatype & VTK_PARSE_POINTER_LOWMASK) != VTK_PARSE_ARRAY)
9558 /* turn the first set of brackets into a pointer */
9559 datatype = add_indirection(datatype, VTK_PARSE_POINTER);
9566 else if (getArrayNDims() > 1)
9568 if ((datatype & VTK_PARSE_POINTER_LOWMASK) != VTK_PARSE_ARRAY)
9570 /* turn the first set of brackets into a pointer */
9571 datatype = add_indirection(datatype, VTK_PARSE_ARRAY);
9579 /* get the data type */
9580 val->Type = datatype;
9581 val->Class = vtkstrdup(getTypeId());
9583 /* copy contents of all brackets to the ArgDimensions */
9584 val->NumberOfDimensions = getArrayNDims();
9585 val->Dimensions = getArray();
9588 /* count is the product of the dimensions */
9590 if (val->NumberOfDimensions)
9593 for (i = 0; i < val->NumberOfDimensions; i++)
9596 cp = val->Dimensions[i];
9599 while (*cp != '\0' && *cp >= '0' && *cp <= '9') { cp++; }
9602 n = (int)strtol(val->Dimensions[i], NULL, 0);
9610 /* specifically handle a VAR_FUNCTION argument */
9611 void handle_function_type(
9612 ValueInfo *arg, const char *name, const char *funcSig)
9617 arg->Type = VTK_PARSE_FUNCTION;
9618 arg->Class = vtkstrdup("function");
9620 if (name && name[0] != '\0')
9622 arg->Name = vtkstrdup(name);
9625 func = (FunctionInfo *)malloc(sizeof(FunctionInfo));
9626 vtkParse_InitFunction(func);
9627 add_argument(func, VTK_PARSE_VOID_PTR, "void", 0);
9628 set_return(func, VTK_PARSE_VOID, "void", 0);
9629 j = strlen(funcSig);
9630 while (j > 0 && funcSig[j-1] == ' ')
9635 func->Signature = vtkstrndup(funcSig, j);
9636 arg->Function = func;
9640 /* reject the function, do not output it */
9641 void reject_function()
9643 vtkParse_InitFunction(currentFunction);
9647 /* a simple routine that updates a few variables */
9648 void output_function()
9654 /* reject template specializations */
9655 n = strlen(currentFunction->Name);
9656 if (currentFunction->Name[n-1] == '>')
9658 /* make sure there is a matching angle bracket */
9659 while (n > 0 && currentFunction->Name[n-1] != '<') { n--; }
9668 if (currentFunction->ReturnType & VTK_PARSE_STATIC)
9670 currentFunction->IsStatic = 1;
9674 if (!currentFunction->Signature)
9676 currentFunction->Signature = getSig();
9679 /* template information */
9680 if (currentTemplate)
9682 currentFunction->Template = currentTemplate;
9683 currentTemplate = NULL;
9686 /* a void argument is the same as no arguments */
9687 if (currentFunction->NumberOfArguments == 1 &&
9688 (currentFunction->Arguments[0]->Type & VTK_PARSE_UNQUALIFIED_TYPE) ==
9691 currentFunction->NumberOfArguments = 0;
9694 /* if return type is void, set return class to void */
9695 if (currentFunction->ReturnClass == NULL &&
9696 (currentFunction->ReturnType & VTK_PARSE_UNQUALIFIED_TYPE) ==
9699 currentFunction->ReturnClass = vtkstrdup("void");
9702 /* set public, protected */
9705 currentFunction->Access = access_level;
9706 /* set legacy flags */
9707 currentFunction->IsPublic = (access_level == VTK_ACCESS_PUBLIC);
9708 currentFunction->IsProtected = (access_level == VTK_ACCESS_PROTECTED);
9712 currentFunction->Access = VTK_ACCESS_PUBLIC;
9713 /* set legacy flags */
9714 currentFunction->IsPublic = 1;
9715 currentFunction->IsProtected = 0;
9718 /* look for legacy VAR FUNCTIONS */
9719 if (currentFunction->NumberOfArguments
9720 && (currentFunction->Arguments[0]->Type == VTK_PARSE_FUNCTION))
9722 if (currentFunction->NumberOfArguments != 2 ||
9723 currentFunction->Arguments[1]->Type != VTK_PARSE_VOID_PTR)
9725 currentFunction->ArrayFailure = 1;
9729 /* check for too many arguments */
9730 if (currentFunction->NumberOfArguments > MAX_ARGS)
9732 currentFunction->ArrayFailure = 1;
9735 /* also legacy: tell old wrappers that multi-dimensional arrays are bad */
9736 for (i = 0; i < currentFunction->NumberOfArguments; i++)
9738 ValueInfo *arg = currentFunction->Arguments[i];
9739 if ((arg->Type & VTK_PARSE_POINTER_MASK) != 0)
9741 if (((arg->Type & VTK_PARSE_BASE_TYPE) == VTK_PARSE_FUNCTION) ||
9742 ((arg->Type & VTK_PARSE_INDIRECT) == VTK_PARSE_BAD_INDIRECT) ||
9743 ((arg->Type & VTK_PARSE_POINTER_LOWMASK) != VTK_PARSE_POINTER))
9745 currentFunction->ArrayFailure = 1;
9752 /* is it a delete function */
9753 if (currentFunction->Name && !strcmp("Delete",currentFunction->Name))
9755 currentClass->HasDelete = 1;
9758 currentFunction->Class = vtkstrdup(currentClass->Name);
9759 vtkParse_AddFunctionToClass(currentClass, currentFunction);
9761 currentFunction = (FunctionInfo *)malloc(sizeof(FunctionInfo));
9765 /* make sure this function isn't a repeat */
9767 for (i = 0; i < currentNamespace->NumberOfFunctions; i++)
9769 if (currentNamespace->Functions[i]->Name &&
9770 strcmp(currentNamespace->Functions[i]->Name,
9771 currentFunction->Name) == 0)
9773 if (currentNamespace->Functions[i]->NumberOfArguments ==
9774 currentFunction->NumberOfArguments)
9776 for (j = 0; j < currentFunction->NumberOfArguments; j++)
9778 if (currentNamespace->Functions[i]->Arguments[j]->Type ==
9779 currentFunction->Arguments[j]->Type)
9781 if (currentFunction->Arguments[j]->Type == VTK_PARSE_OBJECT &&
9782 strcmp(currentNamespace->Functions[i]->Arguments[j]->Class,
9783 currentFunction->Arguments[j]->Class) == 0)
9789 if (j == currentFunction->NumberOfArguments)
9800 vtkParse_AddFunctionToNamespace(currentNamespace, currentFunction);
9802 currentFunction = (FunctionInfo *)malloc(sizeof(FunctionInfo));
9806 vtkParse_InitFunction(currentFunction);
9810 void outputSetVectorMacro(const char *var, unsigned int argType,
9811 const char *typeText, int n)
9813 static const char *mnames[] = {
9815 "vtkSetVector2Macro", "vtkSetVector3Macro", "vtkSetVector4Macro",
9817 "vtkSetVector6Macro",
9821 m = (n > 7 ? 0 : n);
9823 sprintf(ntext, "%i", n);
9825 currentFunction->Macro = mnames[m];
9826 currentFunction->Name = vtkstrcat("Set", var);
9829 postSig(currentFunction->Name);
9832 for (i = 1; i < n; i++)
9838 for (i = 0; i < n; i++)
9840 add_argument(currentFunction, argType, getTypeId(), 0);
9842 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
9845 currentFunction->Macro = mnames[m];
9846 currentFunction->Name = vtkstrcat("Set", var);
9847 currentFunction->Signature =
9848 vtkstrcat7("void ", currentFunction->Name, "(", getTypeId(),
9849 " a[", ntext, "]);");
9850 add_argument(currentFunction, (VTK_PARSE_POINTER | argType),
9852 set_return(currentFunction, VTK_PARSE_VOID, "void", 0);
9856 void outputGetVectorMacro(const char *var, unsigned int argType,
9857 const char *typeText, int n)
9859 static const char *mnames[] = {
9861 "vtkGetVector2Macro", "vtkGetVector3Macro", "vtkGetVector4Macro",
9863 "vtkGetVector6Macro",
9866 m = (n > 7 ? 0 : n);
9868 currentFunction->Macro = mnames[m];
9869 currentFunction->Name = vtkstrcat("Get", var);
9870 currentFunction->Signature =
9871 vtkstrcat4(typeText, " *", currentFunction->Name, "();");
9872 set_return(currentFunction, (VTK_PARSE_POINTER | argType), getTypeId(), n);
9876 /* This method is used for extending dynamic arrays in a progression of
9877 * powers of two. If "n" reaches a power of two, then the array size is
9878 * doubled so that "n" can be safely incremented. */
9879 static void *array_size_check(
9880 void *arraymem, size_t size, int n)
9882 /* if empty, alloc for the first time */
9885 return malloc(size);
9887 /* if count is power of two, reallocate with double size */
9888 else if ((n & (n-1)) == 0)
9890 return realloc(arraymem, (n << 1)*size);
9893 /* no reallocation, just return the original array */
9897 /* Utility method to add a pointer to an array */
9898 void vtkParse_AddPointerToArray(
9899 void *valueArray, int *count, const void *value)
9901 void **values = *(void ***)valueArray;
9904 values = (void **)array_size_check(values, sizeof(void *), n);
9906 values[n++] = (void *)value;
9908 *(void ***)valueArray = values;
9912 * There is a lot of repetition here, but all the code is written
9913 * out explicitly to avoid the use of macros or typecasts. The
9914 * use of macros for generic programming makes code harder to debug,
9915 * and the use of C typecasts for anything but void* and char* breaks
9919 /* Utility method to add an item to an array */
9920 void vtkParse_AddItemToArray(
9921 ItemInfo **valueArray, int *count,
9922 parse_item_t type, int idx)
9925 ItemInfo *values = *valueArray;
9927 values = (ItemInfo *)array_size_check(values, sizeof(ItemInfo), n);
9929 values[n].Type = type;
9930 values[n].Index = idx;
9932 *valueArray = values;
9935 /* Add a ClassInfo to a ClassInfo */
9936 void vtkParse_AddClassToClass(ClassInfo *info, ClassInfo *item)
9938 vtkParse_AddItemToArray(&info->Items, &info->NumberOfItems,
9939 item->ItemType, info->NumberOfClasses);
9940 info->Classes = (ClassInfo **)array_size_check(
9941 info->Classes, sizeof(ClassInfo *), info->NumberOfClasses);
9942 info->Classes[info->NumberOfClasses++] = item;
9945 /* Add a FunctionInfo to a ClassInfo */
9946 void vtkParse_AddFunctionToClass(ClassInfo *info, FunctionInfo *item)
9948 vtkParse_AddItemToArray(&info->Items, &info->NumberOfItems,
9949 item->ItemType, info->NumberOfFunctions);
9950 info->Functions = (FunctionInfo **)array_size_check(
9951 info->Functions, sizeof(FunctionInfo *), info->NumberOfFunctions);
9952 info->Functions[info->NumberOfFunctions++] = item;
9955 /* Add a EnumInfo to a ClassInfo */
9956 void vtkParse_AddEnumToClass(ClassInfo *info, EnumInfo *item)
9958 vtkParse_AddItemToArray(&info->Items, &info->NumberOfItems,
9959 item->ItemType, info->NumberOfEnums);
9960 info->Enums = (EnumInfo **)array_size_check(
9961 info->Enums, sizeof(EnumInfo *), info->NumberOfEnums);
9962 info->Enums[info->NumberOfEnums++] = item;
9965 /* Add a Constant ValueInfo to a ClassInfo */
9966 void vtkParse_AddConstantToClass(ClassInfo *info, ValueInfo *item)
9968 vtkParse_AddItemToArray(&info->Items, &info->NumberOfItems,
9969 item->ItemType, info->NumberOfConstants);
9970 info->Constants = (ValueInfo **)array_size_check(
9971 info->Constants, sizeof(ValueInfo *), info->NumberOfConstants);
9972 info->Constants[info->NumberOfConstants++] = item;
9975 /* Add a Variable ValueInfo to a ClassInfo */
9976 void vtkParse_AddVariableToClass(ClassInfo *info, ValueInfo *item)
9978 vtkParse_AddItemToArray(&info->Items, &info->NumberOfItems,
9979 item->ItemType, info->NumberOfVariables);
9980 info->Variables = (ValueInfo **)array_size_check(
9981 info->Variables, sizeof(ValueInfo *), info->NumberOfVariables);
9982 info->Variables[info->NumberOfVariables++] = item;
9985 /* Add a Typedef ValueInfo to a ClassInfo */
9986 void vtkParse_AddTypedefToClass(ClassInfo *info, ValueInfo *item)
9988 vtkParse_AddItemToArray(&info->Items, &info->NumberOfItems,
9989 item->ItemType, info->NumberOfTypedefs);
9990 info->Typedefs = (ValueInfo **)array_size_check(
9991 info->Typedefs, sizeof(ValueInfo *), info->NumberOfTypedefs);
9992 info->Typedefs[info->NumberOfTypedefs++] = item;
9995 /* Add a UsingInfo to a ClassInfo */
9996 void vtkParse_AddUsingToClass(ClassInfo *info, UsingInfo *item)
9998 vtkParse_AddItemToArray(&info->Items, &info->NumberOfItems,
9999 item->ItemType, info->NumberOfUsings);
10000 info->Usings = (UsingInfo **)array_size_check(
10001 info->Usings, sizeof(UsingInfo *), info->NumberOfUsings);
10002 info->Usings[info->NumberOfUsings++] = item;
10006 /* Add a NamespaceInfo to a NamespaceInfo */
10007 void vtkParse_AddNamespaceToNamespace(NamespaceInfo *info, NamespaceInfo *item)
10009 vtkParse_AddItemToArray(&info->Items, &info->NumberOfItems,
10010 item->ItemType, info->NumberOfNamespaces);
10011 info->Namespaces = (NamespaceInfo **)array_size_check(
10012 info->Namespaces, sizeof(NamespaceInfo *), info->NumberOfNamespaces);
10013 info->Namespaces[info->NumberOfNamespaces++] = item;
10016 /* Add a ClassInfo to a NamespaceInfo */
10017 void vtkParse_AddClassToNamespace(NamespaceInfo *info, ClassInfo *item)
10019 vtkParse_AddItemToArray(&info->Items, &info->NumberOfItems,
10020 item->ItemType, info->NumberOfClasses);
10021 info->Classes = (ClassInfo **)array_size_check(
10022 info->Classes, sizeof(ClassInfo *), info->NumberOfClasses);
10023 info->Classes[info->NumberOfClasses++] = item;
10026 /* Add a FunctionInfo to a NamespaceInfo */
10027 void vtkParse_AddFunctionToNamespace(NamespaceInfo *info, FunctionInfo *item)
10029 vtkParse_AddItemToArray(&info->Items, &info->NumberOfItems,
10030 item->ItemType, info->NumberOfFunctions);
10031 info->Functions = (FunctionInfo **)array_size_check(
10032 info->Functions, sizeof(FunctionInfo *), info->NumberOfFunctions);
10033 info->Functions[info->NumberOfFunctions++] = item;
10036 /* Add a EnumInfo to a NamespaceInfo */
10037 void vtkParse_AddEnumToNamespace(NamespaceInfo *info, EnumInfo *item)
10039 vtkParse_AddItemToArray(&info->Items, &info->NumberOfItems,
10040 item->ItemType, info->NumberOfEnums);
10041 info->Enums = (EnumInfo **)array_size_check(
10042 info->Enums, sizeof(EnumInfo *), info->NumberOfEnums);
10043 info->Enums[info->NumberOfEnums++] = item;
10046 /* Add a Constant ValueInfo to a NamespaceInfo */
10047 void vtkParse_AddConstantToNamespace(NamespaceInfo *info, ValueInfo *item)
10049 vtkParse_AddItemToArray(&info->Items, &info->NumberOfItems,
10050 item->ItemType, info->NumberOfConstants);
10051 info->Constants = (ValueInfo **)array_size_check(
10052 info->Constants, sizeof(ValueInfo *), info->NumberOfConstants);
10053 info->Constants[info->NumberOfConstants++] = item;
10056 /* Add a Variable ValueInfo to a NamespaceInfo */
10057 void vtkParse_AddVariableToNamespace(NamespaceInfo *info, ValueInfo *item)
10059 vtkParse_AddItemToArray(&info->Items, &info->NumberOfItems,
10060 item->ItemType, info->NumberOfVariables);
10061 info->Variables = (ValueInfo **)array_size_check(
10062 info->Variables, sizeof(ValueInfo *), info->NumberOfVariables);
10063 info->Variables[info->NumberOfVariables++] = item;
10066 /* Add a Typedef ValueInfo to a NamespaceInfo */
10067 void vtkParse_AddTypedefToNamespace(NamespaceInfo *info, ValueInfo *item)
10069 vtkParse_AddItemToArray(&info->Items, &info->NumberOfItems,
10070 item->ItemType, info->NumberOfTypedefs);
10071 info->Typedefs = (ValueInfo **)array_size_check(
10072 info->Typedefs, sizeof(ValueInfo *), info->NumberOfTypedefs);
10073 info->Typedefs[info->NumberOfTypedefs++] = item;
10076 /* Add a UsingInfo to a NamespaceInfo */
10077 void vtkParse_AddUsingToNamespace(NamespaceInfo *info, UsingInfo *item)
10079 vtkParse_AddItemToArray(&info->Items, &info->NumberOfItems,
10080 item->ItemType, info->NumberOfUsings);
10081 info->Usings = (UsingInfo **)array_size_check(
10082 info->Usings, sizeof(UsingInfo *), info->NumberOfUsings);
10083 info->Usings[info->NumberOfUsings++] = item;
10087 /* Add a Argument ValueInfo to a FunctionInfo */
10088 void vtkParse_AddArgumentToFunction(FunctionInfo *info, ValueInfo *item)
10090 info->Arguments = (ValueInfo **)array_size_check(
10091 info->Arguments, sizeof(ValueInfo *), info->NumberOfArguments);
10092 info->Arguments[info->NumberOfArguments++] = item;
10096 /* Add a TemplateArg to a TemplateArgs */
10097 void vtkParse_AddArgumentToTemplate(TemplateArgs *info, TemplateArg *item)
10099 info->Arguments = (TemplateArg **)array_size_check(
10100 info->Arguments, sizeof(TemplateArg *), info->NumberOfArguments);
10101 info->Arguments[info->NumberOfArguments++] = item;
10105 /* Utility method to add a const char pointer to an array */
10106 void vtkParse_AddStringToArray(
10107 const char ***valueArray, int *count, const char *value)
10109 *valueArray = (const char **)array_size_check(
10110 (char **)*valueArray, sizeof(const char *), *count);
10112 (*valueArray)[(*count)++] = value;
10115 /* duplicate the first n bytes of a string and terminate */
10116 const char *vtkParse_DuplicateString(const char *cp, size_t n)
10120 res = vtkstralloc(n);
10121 strncpy(res, cp, n);
10127 /* Add default constructors if they do not already exist */
10128 void vtkParse_AddDefaultConstructors(ClassInfo *cls)
10130 FunctionInfo *func;
10134 int default_constructor = 1;
10135 int copy_constructor = 1;
10137 const char *ccname;
10139 if (cls == NULL || cls->Name == NULL)
10144 n = cls->NumberOfFunctions;
10145 for (i = 0; i < n; i++)
10147 func = cls->Functions[i];
10148 if (func->Name && strcmp(func->Name, cls->Name) == 0)
10150 default_constructor = 0;
10152 if (func->NumberOfArguments == 1)
10154 arg = func->Arguments[0];
10156 strcmp(arg->Class, cls->Name) == 0 &&
10157 (arg->Type & VTK_PARSE_POINTER_MASK) == 0)
10159 copy_constructor = 0;
10165 if (default_constructor)
10167 func = (FunctionInfo *)malloc(sizeof(FunctionInfo));
10168 vtkParse_InitFunction(func);
10169 func->Class = vtkstrdup(cls->Name);
10170 func->Name = vtkstrdup(cls->Name);
10171 func->Signature = vtkstrcat(cls->Name, "()");
10172 vtkParse_AddFunctionToClass(cls, func);
10175 if (copy_constructor)
10179 /* specialize the name */
10180 n = cls->Template->NumberOfArguments;
10182 k = strlen(cls->Name) + 2;
10183 for (i = 0; i < n; i++)
10185 k += strlen(cls->Template->Arguments[i]->Name) + 2;
10187 tname = vtkstralloc(k);
10188 strcpy(tname, cls->Name);
10191 for (i = 0; i < n; i++)
10193 strcpy(&tname[k], cls->Template->Arguments[i]->Name);
10194 k += strlen(cls->Template->Arguments[i]->Name);
10207 ccname = vtkstrdup(cls->Name);
10210 func = (FunctionInfo *)malloc(sizeof(FunctionInfo));
10211 vtkParse_InitFunction(func);
10212 func->Class = vtkstrdup(cls->Name);
10213 func->Name = vtkstrdup(cls->Name);
10214 func->Signature = vtkstrcat4(cls->Name, "(const &", ccname, ")");
10215 arg = (ValueInfo *)malloc(sizeof(ValueInfo));
10216 vtkParse_InitValue(arg);
10217 arg->Type = (VTK_PARSE_OBJECT_REF | VTK_PARSE_CONST);
10218 arg->Class = ccname;
10219 vtkParse_AddArgumentToFunction(func, arg);
10220 vtkParse_AddFunctionToClass(cls, func);
10224 /* Set a flag to ignore BTX/ETX markers in the files */
10225 void vtkParse_SetIgnoreBTX(int option)
10237 /* Parse a header file and return a FileInfo struct */
10238 FileInfo *vtkParse_ParseFile(
10239 const char *filename, FILE *ifile, FILE *errfile)
10244 FileInfo *file_info;
10246 const char **include_dirs;
10248 vtkParse_InitFile(&data);
10250 i = preprocessor.NumberOfIncludeDirectories;
10251 include_dirs = preprocessor.IncludeDirectories;
10252 preprocessor.NumberOfIncludeDirectories = 0;
10253 preprocessor.IncludeDirectories = NULL;
10254 vtkParsePreprocess_InitPreprocess(&preprocessor);
10255 vtkParsePreprocess_AddStandardMacros(&preprocessor, VTK_PARSE_NATIVE);
10256 preprocessor.FileName = vtkstrdup(filename);
10257 preprocessor.NumberOfIncludeDirectories = i;
10258 preprocessor.IncludeDirectories = include_dirs;
10259 /* should explicitly check for vtkConfigure.h, or even explicitly load it */
10260 #ifdef VTK_USE_64BIT_IDS
10261 vtkParsePreprocess_AddMacro(&preprocessor, "VTK_USE_64BIT_IDS", "1");
10264 data.FileName = vtkstrdup(filename);
10268 namespaceDepth = 0;
10269 currentNamespace = (NamespaceInfo *)malloc(sizeof(NamespaceInfo));
10270 vtkParse_InitNamespace(currentNamespace);
10271 data.Contents = currentNamespace;
10274 currentTemplate = NULL;
10276 currentFunction = (FunctionInfo *)malloc(sizeof(FunctionInfo));
10277 vtkParse_InitFunction(currentFunction);
10281 if (getenv("DEBUG") != NULL)
10287 yyset_out(errfile);
10289 lineno = yyget_lineno();
10292 free(currentFunction);
10297 "*** SYNTAX ERROR found in parsing the header file %s "
10298 "before line %d ***\n",
10303 /* The main class name should match the file name */
10304 i = strlen(filename);
10309 if (filename[i] == '.')
10313 if (filename[i] == '/' || filename[i] == '\\')
10319 main_class = (char *)malloc(j-i+1);
10320 strncpy(main_class, &filename[i], j-i);
10321 main_class[j-i] = '\0';
10323 /* special treatment of the main class in the file */
10324 for (i = 0; i < currentNamespace->NumberOfClasses; i++)
10326 if (strcmp(currentNamespace->Classes[i]->Name, main_class) == 0)
10328 data.MainClass = currentNamespace->Classes[i];
10335 file_info = (FileInfo *)malloc(sizeof(FileInfo));
10336 memcpy(file_info, &data, sizeof(FileInfo));
10341 /* Read a hints file and update the FileInfo */
10342 int vtkParse_ReadHints(FileInfo *file_info, FILE *hfile, FILE *errfile)
10346 unsigned int h_type, type;
10348 FunctionInfo *func_info;
10349 ClassInfo *class_info;
10350 NamespaceInfo *contents;
10355 contents = file_info->Contents;
10357 /* read each hint line in succession */
10358 while ((n = fscanf(hfile,"%s %s %x %i", h_cls, h_func, &h_type, &h_value))
10364 fprintf(errfile, "Wrapping: error parsing hints file line %i\n", lineno);
10368 /* erase "ref" and qualifiers from hint type */
10369 type = ((h_type & VTK_PARSE_BASE_TYPE) |
10370 (h_type & VTK_PARSE_POINTER_LOWMASK));
10372 /* find the matching class */
10373 for (i = 0; i < contents->NumberOfClasses; i++)
10375 class_info = contents->Classes[i];
10377 if (strcmp(h_cls, class_info->Name) == 0)
10379 /* find the matching function */
10380 for (j = 0; j < class_info->NumberOfFunctions; j++)
10382 func_info = class_info->Functions[j];
10384 if (func_info->HaveHint == 0 && func_info->Name &&
10385 (strcmp(h_func, func_info->Name) == 0) &&
10386 (type == ((func_info->ReturnType & ~VTK_PARSE_REF) &
10387 VTK_PARSE_UNQUALIFIED_TYPE)))
10389 /* types that hints are accepted for */
10390 switch (func_info->ReturnType & VTK_PARSE_UNQUALIFIED_TYPE)
10392 case VTK_PARSE_FLOAT_PTR:
10393 case VTK_PARSE_VOID_PTR:
10394 case VTK_PARSE_DOUBLE_PTR:
10395 case VTK_PARSE_ID_TYPE_PTR:
10396 case VTK_PARSE_LONG_LONG_PTR:
10397 case VTK_PARSE_UNSIGNED_LONG_LONG_PTR:
10398 case VTK_PARSE___INT64_PTR:
10399 case VTK_PARSE_UNSIGNED___INT64_PTR:
10400 case VTK_PARSE_INT_PTR:
10401 case VTK_PARSE_UNSIGNED_INT_PTR:
10402 case VTK_PARSE_SHORT_PTR:
10403 case VTK_PARSE_UNSIGNED_SHORT_PTR:
10404 case VTK_PARSE_LONG_PTR:
10405 case VTK_PARSE_UNSIGNED_LONG_PTR:
10406 case VTK_PARSE_SIGNED_CHAR_PTR:
10407 case VTK_PARSE_UNSIGNED_CHAR_PTR:
10408 case VTK_PARSE_CHAR_PTR:
10410 if (func_info->ReturnValue &&
10411 func_info->ReturnValue->NumberOfDimensions == 0)
10414 func_info->HaveHint = 1;
10415 func_info->HintSize = h_value;
10416 func_info->ReturnValue->Count = h_value;
10417 sprintf(text, "%i", h_value);
10418 vtkParse_AddStringToArray(
10419 &func_info->ReturnValue->Dimensions,
10420 &func_info->ReturnValue->NumberOfDimensions,
10428 "Wrapping: unhandled hint type %#x\n", h_type);
10440 /* Free the FileInfo struct returned by vtkParse_ParseFile() */
10441 void vtkParse_Free(FileInfo *file_info)
10443 vtkParse_FreeNamespace(file_info->Contents);
10444 file_info->Contents = NULL;
10447 /* Set a property before parsing */
10448 void vtkParse_SetClassProperty(
10449 const char *classname, const char *property)
10451 /* the only property recognized */
10452 if (strcmp(property, "concrete") == 0 ||
10453 strcmp(property, "CONCRETE") == 0 ||
10454 strcmp(property, "Concrete") == 0)
10456 vtkParse_AddStringToArray(&ConcreteClasses,
10457 &NumberOfConcreteClasses,
10458 vtkstrdup(classname));
10462 /** Define a preprocessor macro. Function macros are not supported. */
10463 void vtkParse_DefineMacro(const char *name, const char *definition)
10465 vtkParsePreprocess_AddMacro(&preprocessor, name, definition);
10468 /** Undefine a preprocessor macro. */
10469 void vtkParse_UndefineMacro(const char *name)
10471 vtkParsePreprocess_RemoveMacro(&preprocessor, name);
10474 /** Add an include directory, for use with the "-I" option. */
10475 void vtkParse_IncludeDirectory(const char *dirname)
10477 vtkParsePreprocess_IncludeDirectory(&preprocessor, dirname);
10480 /** Return the full path to a header file. */
10481 const char *vtkParse_FindIncludeFile(const char *filename)
10484 return vtkParsePreprocess_FindIncludeFile(&preprocessor, filename, 0, &val);
10487 /** Simple utility for mapping VTK types to VTK_PARSE types */
10488 unsigned int vtkParse_MapType(int vtktype)
10490 if (vtktype > 0 && vtktype <= VTK_UNICODE_STRING)
10492 return vtkParseTypeMap[vtktype];