1 /* A Bison parser, made by GNU Bison 2.3. */
3 /* Skeleton implementation for Bison's Yacc-like parsers in C
5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6 Free Software Foundation, Inc.
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2, or (at your option)
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 Boston, MA 02110-1301, USA. */
23 /* As a special exception, you may create a larger work that contains
24 part or all of the Bison parser skeleton and distribute that work
25 under terms of your choice, so long as that work isn't itself a
26 parser generator using the skeleton or a modified version thereof
27 as a parser skeleton. Alternatively, if you modify or redistribute
28 the parser skeleton itself, you may (at your option) remove this
29 special exception, which will cause the skeleton and the resulting
30 Bison output files to be licensed under the GNU General Public
31 License without this special exception.
33 This special exception was added by the Free Software Foundation in
34 version 2.2 of Bison. */
36 /* C LALR(1) parser skeleton written by Richard Stallman, by
37 simplifying the original so-called "semantic" parser. */
39 /* All symbols defined below should begin with yy or YY, to avoid
40 infringing on user name space. This should be done even for local
41 variables, as they might otherwise be expanded by user macros.
42 There are some unavoidable exceptions within include files to
43 define necessary library symbols; they are noted "INFRINGES ON
44 USER NAME SPACE" below. */
46 /* Identify Bison output. */
50 #define YYBISON_VERSION "2.3"
53 #define YYSKELETON_NAME "yacc.c"
58 /* Using locations. */
59 #define YYLSP_NEEDED 0
66 /* Put the tokens into the symbol table, so that GDB and other debuggers
75 WINDOWLOCALETITLE
= 264,
106 NORELIEFSTRING
= 295,
123 CHWINDOWTITLEFARG
= 312,
145 GETSCRIPTFATHER
= 334,
147 RECEIVFROMSCRIPT
= 336,
151 REMAINDEROFDIV
= 340,
182 #define WINDOWTITLE 263
183 #define WINDOWLOCALETITLE 264
184 #define WINDOWSIZE 265
185 #define WINDOWPOSITION 266
186 #define USEGETTEXT 267
187 #define FORECOLOR 268
188 #define BACKCOLOR 269
189 #define SHADCOLOR 270
194 #define PERIODICTASK 275
206 #define SWALLOWEXEC 287
210 #define WRITETOFILE 291
211 #define LOCALETITLE 292
214 #define NORELIEFSTRING 295
219 #define SINGLECLIC 300
220 #define DOUBLECLIC 301
227 #define CHFORECOLOR 308
228 #define CHBACKCOLOR 309
229 #define CHCOLORSET 310
230 #define CHWINDOWTITLE 311
231 #define CHWINDOWTITLEFARG 312
234 #define GETMINVALUE 315
235 #define GETMAXVALUE 316
238 #define GETHILIGHT 319
239 #define GETSHADOW 320
241 #define CHVALUEMAX 322
242 #define CHVALUEMIN 323
247 #define GETOUTPUT 328
252 #define LAUNCHSCRIPT 333
253 #define GETSCRIPTFATHER 334
254 #define SENDTOSCRIPT 335
255 #define RECEIVFROMSCRIPT 336
259 #define REMAINDEROFDIV 340
261 #define GETSCRIPTARG 342
263 #define SENDMSGANDGET 344
265 #define LASTSTRING 346
286 /* Copy the first part of user declarations. */
289 /* This program is free software; you can redistribute it and/or modify
290 * it under the terms of the GNU General Public License as published by
291 * the Free Software Foundation; either version 2 of the License, or
292 * (at your option) any later version.
294 * This program is distributed in the hope that it will be useful,
295 * but WITHOUT ANY WARRANTY; without even the implied warranty of
296 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
297 * GNU General Public License for more details.
299 * You should have received a copy of the GNU General Public License
300 * along with this program; if not, write to the Free Software
301 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
305 #include "libs/FGettext.h"
307 #define MAX_VARS 5120
309 ScriptProp
*scriptprop
;
310 int nbobj
=-1; /* Nombre d'objets */
311 int HasPosition
,HasType
=0;
312 TabObj
*tabobj
; /* Tableau d'objets, limite=1000 */
313 int TabIdObj
[1001]; /* Tableau d'indice des objets */
314 Bloc
**TabIObj
; /* TabIObj[Obj][Case] -> bloc attache au case */
315 Bloc
*PileBloc
[10]; /* Au maximum 10 imbrications de boucle conditionnelle */
316 int TopPileB
=0; /* Sommet de la pile des blocs */
317 CaseObj
*TabCObj
; /* Struct pour enregistrer les valeurs des cases et leur nb */
320 char **TabNVar
; /* Tableau des noms de variables */
321 char **TabVVar
; /* Tableau des valeurs de variables */
323 long BuffArg
[6][20]; /* Les arguments s'ajoute par couche pour chaque fonction imbriquee */
324 int NbArg
[6]; /* Tableau: nb d'args pour chaque couche */
325 int SPileArg
; /* Taille de la pile d'arguments */
327 extern char* ScriptName
;
329 /* Initialisation globale */
330 void InitVarGlob(void)
332 scriptprop
=(ScriptProp
*) safecalloc(1,sizeof(ScriptProp
));
335 scriptprop
->colorset
= -1;
336 scriptprop
->initbloc
=NULL
;
338 tabobj
=(TabObj
*) safecalloc(1,sizeof(TabObj
));
346 scriptprop
->usegettext
= False
;
347 scriptprop
->periodictasks
=NULL
;
348 scriptprop
->quitfunc
=NULL
;
351 /* Initialisation pour un objet */
352 void InitObjTabCase(int HasMainLoop
)
356 TabIObj
=(Bloc
**)safecalloc(1,sizeof(long));
357 TabCObj
=(CaseObj
*)safecalloc(1,sizeof(CaseObj
));
361 TabIObj
=(Bloc
**)realloc(TabIObj
,sizeof(long)*(nbobj
+1));
362 TabCObj
=(CaseObj
*)realloc(TabCObj
,sizeof(CaseObj
)*(nbobj
+1));
368 TabCObj
[nbobj
].NbCase
=-1;
371 /* Ajout d'un case dans la table TabCase */
372 /* Initialisation d'un case of: agrandissement de la table */
373 void InitCase(int cond
)
377 /* On enregistre la condition du case */
378 TabCObj
[nbobj
].NbCase
++;
379 if (TabCObj
[nbobj
].NbCase
==0)
380 TabCObj
[nbobj
].LstCase
=(int*)safecalloc(1,sizeof(int));
382 TabCObj
[nbobj
].LstCase
=(int*)realloc(TabCObj
[nbobj
].LstCase
,sizeof(int)*(CurrCase
+1));
383 TabCObj
[nbobj
].LstCase
[CurrCase
]=cond
;
386 TabIObj
[nbobj
]=(Bloc
*)safecalloc(1,sizeof(Bloc
));
388 TabIObj
[nbobj
]=(Bloc
*)realloc(TabIObj
[nbobj
],sizeof(Bloc
)*(CurrCase
+1));
390 TabIObj
[nbobj
][CurrCase
].NbInstr
=-1;
391 TabIObj
[nbobj
][CurrCase
].TabInstr
=NULL
;
393 /* Ce case correspond au bloc courant d'instruction: on l'empile */
394 PileBloc
[0]=&TabIObj
[nbobj
][CurrCase
];
398 /* Enleve un niveau d'args dans la pile BuffArg */
399 void RmLevelBufArg(void)
404 /* Fonction de concatenation des n derniers etage de la pile */
405 /* Retourne les elts trie et depile et la taille */
406 long *Depile(int NbLevelArg
, int *s
)
415 Temp
=(long*)safecalloc(1,sizeof(long));
417 for (i
=SPileArg
-NbLevelArg
+1;i
<=SPileArg
;i
++)
419 size
=NbArg
[i
]+size
+1;
420 Temp
=(long*)realloc (Temp
,sizeof(long)*size
);
421 for (j
=0;j
<=NbArg
[i
];j
++)
423 Temp
[j
+size
-NbArg
[i
]-1]=BuffArg
[i
][j
];
427 for (i
=0;i
<NbLevelArg
;i
++) /* On depile les couches d'arguments */
438 /* Ajout d'une commande */
439 void AddCom(int Type
, int NbLevelArg
)
444 PileBloc
[TopPileB
]->NbInstr
++;
445 CurrInstr
=PileBloc
[TopPileB
]->NbInstr
;
448 PileBloc
[TopPileB
]->TabInstr
=(Instr
*)safecalloc(1,sizeof(Instr
)*(CurrInstr
+1));
450 PileBloc
[TopPileB
]->TabInstr
=(Instr
*)realloc(PileBloc
[TopPileB
]->TabInstr
,
451 sizeof(Instr
)*(CurrInstr
+1));
452 /* Rangement des instructions dans le bloc */
453 PileBloc
[TopPileB
]->TabInstr
[CurrInstr
].Type
=Type
;
454 /* On enleve la derniere couche d'argument et on la range dans la commande */
456 PileBloc
[TopPileB
]->TabInstr
[CurrInstr
].TabArg
=Depile(NbLevelArg
,
457 &PileBloc
[TopPileB
]->TabInstr
[CurrInstr
].NbArg
);
460 /* Initialisation du buffer contenant les arguments de la commande courante */
461 /* Ajout d'une couche d'argument dans la pile*/
462 void AddLevelBufArg(void)
464 /* Agrandissment de la pile */
469 /* Ajout d'un arg dans la couche arg qui est au sommet de la pile TabArg */
470 void AddBufArg(long *TabLong
,int NbLong
)
474 for (i
=0;i
<NbLong
;i
++)
476 BuffArg
[SPileArg
][i
+NbArg
[SPileArg
]+1]=TabLong
[i
];
478 NbArg
[SPileArg
]=NbArg
[SPileArg
]+NbLong
;
481 /* Recheche d'un nom de var dans TabVar, s'il n'existe pas il le cree */
483 void AddVar(char *Name
) /* ajout de variable a la fin de la derniere commande pointee */
487 /* Comparaison avec les variables deja existante */
488 for (i
=0;i
<=NbVar
;i
++)
489 if (strcmp(TabNVar
[i
],Name
)==0)
496 if (NbVar
>MAX_VARS
-2)
499 "[%s] Line %d: too many variables (>5120)\n",ScriptName
,numligne
);
503 /* La variable n'a pas ete trouvee: creation */
508 TabNVar
=(char**)safecalloc(1,sizeof(long));
509 TabVVar
=(char**)safecalloc(1,sizeof(long));
513 TabNVar
=(char**)realloc(TabNVar
,sizeof(long)*(NbVar
+1));
514 TabVVar
=(char**)realloc(TabVVar
,sizeof(long)*(NbVar
+1));
517 TabNVar
[NbVar
]=(char*)safestrdup(Name
);
518 TabVVar
[NbVar
]=(char*)safecalloc(1,sizeof(char));
519 TabVVar
[NbVar
][0]='\0';
522 /* Ajout de la variable dans le buffer Arg */
528 /* Ajout d'une constante str comme argument */
529 void AddConstStr(char *Name
)
531 /* On cree une nouvelle variable et on range la constante dedans */
535 TabVVar
=(char**)safecalloc(1,sizeof(long));
536 TabNVar
=(char**)safecalloc(1,sizeof(long));
540 TabVVar
=(char**)realloc(TabVVar
,sizeof(long)*(NbVar
+1));
541 TabNVar
=(char**)realloc(TabNVar
,sizeof(long)*(NbVar
+1));
544 TabNVar
[NbVar
]=(char*)safecalloc(1,sizeof(char));
545 TabNVar
[NbVar
][0]='\0';
546 TabVVar
[NbVar
]=(char*)safestrdup(Name
);
548 /* Ajout de l'id de la constante dans la liste courante des arguments */
553 /* Ajout d'une constante numerique comme argument */
554 void AddConstNum(long num
)
557 /* On ne cree pas de nouvelle variable */
558 /* On code la valeur numerique afin de le ranger sous forme d'id */
560 /* Ajout de la constante dans la liste courante des arguments */
564 /* Ajout d'une fonction comme argument */
565 /* Enleve les args de func de la pile, */
566 /* le concate, et les range dans la pile */
567 void AddFunct(int code
,int NbLevelArg
)
573 /* Methode: depiler BuffArg et completer le niveau inferieur de BuffArg */
574 l
=Depile(NbLevelArg
, &size
);
578 l
=(long*)safecalloc(1,sizeof(long));
581 l
=(long*)realloc(l
,sizeof(long)*(size
));
582 for (i
=size
-2;i
>-1;i
--) /* Deplacement des args */
587 l
[0]=(long)code
-150000;
592 /* Ajout d'une instruction de test pour executer un ou plusieurs blocs */
593 /* enregistre l'instruction et le champs de ces blocs = NULL */
594 void AddComBloc(int TypeCond
, int NbLevelArg
, int NbBloc
)
600 /* Ajout de l'instruction de teste comme d'une commande */
601 AddCom(TypeCond
, NbLevelArg
);
603 /* On initialise ensuite les deux champs reserve à bloc1 et bloc2 */
604 CurrInstr
=PileBloc
[TopPileB
]->NbInstr
;
605 /* Attention NbArg peur changer si on utilise en arg une fonction */
606 OldNA
=PileBloc
[TopPileB
]->TabInstr
[CurrInstr
].NbArg
;
608 PileBloc
[TopPileB
]->TabInstr
[CurrInstr
].TabArg
=(long*)realloc(
609 PileBloc
[TopPileB
]->TabInstr
[CurrInstr
].TabArg
,sizeof(long)*(OldNA
+NbBloc
));
610 for (i
=0;i
<NbBloc
;i
++)
612 PileBloc
[TopPileB
]->TabInstr
[CurrInstr
].TabArg
[OldNA
+i
]=0;
614 PileBloc
[TopPileB
]->TabInstr
[CurrInstr
].NbArg
=OldNA
+NbBloc
;
617 /* Creer un nouveau bloc, et l'empile: il devient le bloc courant */
618 void EmpilerBloc(void)
622 TmpBloc
=(Bloc
*)safecalloc(1,sizeof(Bloc
));
624 TmpBloc
->TabInstr
=NULL
;
626 PileBloc
[TopPileB
]=TmpBloc
;
630 /* Depile le bloc d'initialisation du script et le range a sa place speciale */
631 void DepilerBloc(int IdBloc
)
636 Bloc1
=PileBloc
[TopPileB
];
638 IfInstr
=&PileBloc
[TopPileB
]->TabInstr
[PileBloc
[TopPileB
]->NbInstr
];
639 IfInstr
->TabArg
[IfInstr
->NbArg
-IdBloc
]=(long)Bloc1
;
642 /* Gestion des erreurs de syntaxes */
643 int yyerror(char *errmsg
)
645 fprintf(stderr
,"[%s] Line %d: %s\n",ScriptName
,numligne
,errmsg
);
652 /* Enabling traces. */
657 /* Enabling verbose error messages. */
658 #ifdef YYERROR_VERBOSE
659 # undef YYERROR_VERBOSE
660 # define YYERROR_VERBOSE 1
662 # define YYERROR_VERBOSE 0
665 /* Enabling the token table. */
666 #ifndef YYTOKEN_TABLE
667 # define YYTOKEN_TABLE 0
670 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
671 typedef union YYSTYPE
676 /* Line 187 of yacc.c. */
679 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
680 # define YYSTYPE_IS_DECLARED 1
681 # define YYSTYPE_IS_TRIVIAL 1
686 /* Copy the second part of user declarations. */
689 /* Line 216 of yacc.c. */
697 typedef YYTYPE_UINT8 yytype_uint8
;
699 typedef unsigned char yytype_uint8
;
703 typedef YYTYPE_INT8 yytype_int8
;
704 #elif (defined __STDC__ || defined __C99__FUNC__ \
705 || defined __cplusplus || defined _MSC_VER)
706 typedef signed char yytype_int8
;
708 typedef short int yytype_int8
;
712 typedef YYTYPE_UINT16 yytype_uint16
;
714 typedef unsigned short int yytype_uint16
;
718 typedef YYTYPE_INT16 yytype_int16
;
720 typedef short int yytype_int16
;
724 # ifdef __SIZE_TYPE__
725 # define YYSIZE_T __SIZE_TYPE__
726 # elif defined size_t
727 # define YYSIZE_T size_t
728 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
729 || defined __cplusplus || defined _MSC_VER)
730 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
731 # define YYSIZE_T size_t
733 # define YYSIZE_T unsigned int
737 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
742 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
743 # define YY_(msgid) dgettext ("bison-runtime", msgid)
747 # define YY_(msgid) msgid
751 /* Suppress unused-variable warnings by "using" E. */
752 #if ! defined lint || defined __GNUC__
753 # define YYUSE(e) ((void) (e))
755 # define YYUSE(e) /* empty */
758 /* Identity function, used to suppress warnings about constant conditions. */
762 #if (defined __STDC__ || defined __C99__FUNC__ \
763 || defined __cplusplus || defined _MSC_VER)
776 #if ! defined yyoverflow || YYERROR_VERBOSE
778 /* The parser invokes alloca or malloc; define the necessary symbols. */
780 # ifdef YYSTACK_USE_ALLOCA
781 # if YYSTACK_USE_ALLOCA
783 # define YYSTACK_ALLOC __builtin_alloca
784 # elif defined __BUILTIN_VA_ARG_INCR
785 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
787 # define YYSTACK_ALLOC __alloca
788 # elif defined _MSC_VER
789 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
790 # define alloca _alloca
792 # define YYSTACK_ALLOC alloca
793 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
794 || defined __cplusplus || defined _MSC_VER)
795 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
804 # ifdef YYSTACK_ALLOC
805 /* Pacify GCC's `empty if-body' warning. */
806 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
807 # ifndef YYSTACK_ALLOC_MAXIMUM
808 /* The OS might guarantee only one guard page at the bottom of the stack,
809 and a page size can be as small as 4096 bytes. So we cannot safely
810 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
811 to allow for a few compiler-allocated temporary stack slots. */
812 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
815 # define YYSTACK_ALLOC YYMALLOC
816 # define YYSTACK_FREE YYFREE
817 # ifndef YYSTACK_ALLOC_MAXIMUM
818 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
820 # if (defined __cplusplus && ! defined _STDLIB_H \
821 && ! ((defined YYMALLOC || defined malloc) \
822 && (defined YYFREE || defined free)))
823 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
829 # define YYMALLOC malloc
830 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
831 || defined __cplusplus || defined _MSC_VER)
832 void *malloc (YYSIZE_T
); /* INFRINGES ON USER NAME SPACE */
837 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
838 || defined __cplusplus || defined _MSC_VER)
839 void free (void *); /* INFRINGES ON USER NAME SPACE */
843 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
846 #if (! defined yyoverflow \
847 && (! defined __cplusplus \
848 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
850 /* A type that is properly aligned for any stack member. */
857 /* The size of the maximum gap between one aligned stack and the next. */
858 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
860 /* The size of an array large to enough to hold all stacks, each with
862 # define YYSTACK_BYTES(N) \
863 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
864 + YYSTACK_GAP_MAXIMUM)
866 /* Copy COUNT objects from FROM to TO. The source and destination do
869 # if defined __GNUC__ && 1 < __GNUC__
870 # define YYCOPY(To, From, Count) \
871 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
873 # define YYCOPY(To, From, Count) \
877 for (yyi = 0; yyi < (Count); yyi++) \
878 (To)[yyi] = (From)[yyi]; \
884 /* Relocate STACK from its old location to the new one. The
885 local variables YYSIZE and YYSTACKSIZE give the old and new number of
886 elements in the stack, and YYPTR gives the new location of the
887 stack. Advance YYPTR to a properly aligned location for the next
889 # define YYSTACK_RELOCATE(Stack) \
892 YYSIZE_T yynewbytes; \
893 YYCOPY (&yyptr->Stack, Stack, yysize); \
894 Stack = &yyptr->Stack; \
895 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
896 yyptr += yynewbytes / sizeof (*yyptr); \
902 /* YYFINAL -- State number of the termination state. */
904 /* YYLAST -- Last index in YYTABLE. */
907 /* YYNTOKENS -- Number of terminals. */
908 #define YYNTOKENS 108
909 /* YYNNTS -- Number of nonterminals. */
911 /* YYNRULES -- Number of rules. */
913 /* YYNRULES -- Number of states. */
914 #define YYNSTATES 474
916 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
918 #define YYMAXUTOK 362
920 #define YYTRANSLATE(YYX) \
921 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
923 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
924 static const yytype_uint8 yytranslate
[] =
926 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
927 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
928 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
929 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
930 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
931 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
932 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
933 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
934 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
935 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
936 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
937 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
938 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
939 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
940 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
941 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
942 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
943 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
944 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
945 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
946 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
947 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
948 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
949 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
950 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
951 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
952 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
953 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
954 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
955 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
956 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
957 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
958 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
959 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
960 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
961 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
966 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
968 static const yytype_uint16 yyprhs
[] =
970 0, 0, 3, 10, 11, 12, 16, 19, 23, 27,
971 31, 36, 41, 45, 49, 53, 57, 61, 64, 65,
972 71, 72, 78, 79, 85, 86, 94, 96, 97, 101,
973 106, 111, 115, 119, 123, 127, 131, 135, 139, 143,
974 147, 151, 155, 159, 162, 166, 167, 170, 173, 176,
975 179, 182, 185, 186, 188, 194, 195, 196, 201, 206,
976 208, 210, 212, 216, 217, 221, 225, 229, 233, 237,
977 241, 245, 249, 254, 258, 262, 266, 270, 274, 278,
978 282, 286, 290, 294, 298, 302, 306, 310, 314, 318,
979 322, 326, 329, 332, 335, 338, 341, 344, 347, 350,
980 354, 357, 360, 363, 366, 369, 372, 375, 378, 381,
981 384, 387, 390, 393, 396, 399, 402, 405, 408, 411,
982 414, 419, 424, 429, 436, 443, 448, 453, 458, 463,
983 468, 473, 479, 484, 485, 488, 493, 498, 509, 514,
984 519, 523, 527, 535, 536, 540, 541, 545, 547, 551,
985 553, 563, 571, 573, 575, 577, 579, 581, 583, 584,
986 587, 590, 595, 599, 602, 606, 610, 614, 619, 622,
987 624, 627, 631, 633, 636, 639, 642, 645, 648, 651,
988 654, 656, 661, 665, 667, 670, 671, 674, 677, 680,
989 683, 686, 689, 695, 697, 699, 701, 703, 705, 707,
990 712, 714, 716, 718, 720, 725, 727, 729, 734, 736,
991 738, 743, 745, 747, 749, 751, 753, 755
994 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
995 static const yytype_int16 yyrhs
[] =
997 109, 0, -1, 110, 111, 112, 113, 114, 115, -1,
998 -1, -1, 111, 12, 4, -1, 111, 12, -1, 111,
999 8, 4, -1, 111, 9, 4, -1, 111, 33, 3,
1000 -1, 111, 11, 7, 7, -1, 111, 10, 7, 7,
1001 -1, 111, 14, 4, -1, 111, 13, 4, -1, 111,
1002 15, 4, -1, 111, 16, 4, -1, 111, 17, 7,
1003 -1, 111, 6, -1, -1, 19, 155, 47, 126, 23,
1004 -1, -1, 20, 155, 47, 126, 23, -1, -1, 21,
1005 155, 47, 126, 23, -1, -1, 115, 18, 116, 24,
1006 117, 119, 120, -1, 7, -1, -1, 117, 25, 3,
1007 -1, 117, 26, 7, 7, -1, 117, 27, 7, 7,
1008 -1, 117, 28, 7, -1, 117, 29, 7, -1, 117,
1009 30, 7, -1, 117, 31, 4, -1, 117, 37, 4,
1010 -1, 117, 32, 4, -1, 117, 33, 3, -1, 117,
1011 14, 4, -1, 117, 13, 4, -1, 117, 15, 4,
1012 -1, 117, 16, 4, -1, 117, 17, 7, -1, 117,
1013 6, -1, 117, 34, 118, -1, -1, 118, 38, -1,
1014 118, 40, -1, 118, 39, -1, 118, 41, -1, 118,
1015 42, -1, 118, 43, -1, -1, 23, -1, 22, 121,
1016 44, 122, 23, -1, -1, -1, 122, 123, 48, 125,
1017 -1, 122, 124, 48, 125, -1, 45, -1, 46, -1,
1018 7, -1, 47, 126, 23, -1, -1, 126, 49, 128,
1019 -1, 126, 35, 145, -1, 126, 36, 147, -1, 126,
1020 50, 129, -1, 126, 51, 130, -1, 126, 66, 131,
1021 -1, 126, 67, 132, -1, 126, 68, 133, -1, 126,
1022 56, 166, 172, -1, 126, 57, 170, -1, 126, 27,
1023 134, -1, 126, 26, 135, -1, 126, 31, 137, -1,
1024 126, 37, 149, -1, 126, 33, 136, -1, 126, 52,
1025 138, -1, 126, 53, 139, -1, 126, 54, 140, -1,
1026 126, 55, 141, -1, 126, 83, 142, -1, 126, 84,
1027 143, -1, 126, 77, 144, -1, 126, 80, 146, -1,
1028 126, 93, 150, -1, 126, 96, 151, -1, 126, 99,
1029 152, -1, 126, 58, 148, -1, 49, 128, -1, 35,
1030 145, -1, 36, 147, -1, 50, 129, -1, 51, 130,
1031 -1, 66, 131, -1, 67, 132, -1, 68, 133, -1,
1032 56, 166, 172, -1, 57, 170, -1, 27, 134, -1,
1033 26, 135, -1, 31, 137, -1, 37, 149, -1, 33,
1034 136, -1, 52, 138, -1, 53, 139, -1, 54, 140,
1035 -1, 55, 141, -1, 83, 142, -1, 84, 143, -1,
1036 77, 144, -1, 80, 146, -1, 96, 151, -1, 99,
1037 152, -1, 58, 148, -1, 166, 168, -1, 166, 170,
1038 -1, 166, 170, -1, 166, 170, 166, 170, -1, 166,
1039 170, 166, 170, -1, 166, 170, 166, 170, -1, 166,
1040 170, 166, 170, 166, 170, -1, 166, 170, 166, 170,
1041 166, 170, -1, 166, 170, 166, 171, -1, 166, 170,
1042 166, 172, -1, 166, 170, 166, 168, -1, 166, 170,
1043 166, 172, -1, 166, 170, 166, 172, -1, 166, 170,
1044 166, 170, -1, 166, 173, 82, 166, 168, -1, 166,
1045 170, 166, 170, -1, -1, 166, 170, -1, 166, 170,
1046 166, 168, -1, 166, 171, 166, 168, -1, 166, 171,
1047 166, 171, 166, 170, 166, 170, 166, 168, -1, 166,
1048 170, 166, 172, -1, 153, 155, 156, 154, -1, 158,
1049 155, 157, -1, 159, 155, 157, -1, 166, 169, 166,
1050 174, 166, 169, 94, -1, -1, 95, 155, 157, -1,
1051 -1, 47, 126, 23, -1, 127, -1, 47, 126, 23,
1052 -1, 127, -1, 166, 173, 82, 166, 169, 97, 166,
1053 169, 98, -1, 166, 169, 166, 174, 166, 169, 98,
1054 -1, 5, -1, 3, -1, 4, -1, 7, -1, 45,
1055 -1, 46, -1, -1, 59, 170, -1, 72, 170, -1,
1056 73, 172, 170, 170, -1, 75, 170, 170, -1, 76,
1057 172, -1, 69, 170, 170, -1, 71, 170, 170, -1,
1058 70, 170, 170, -1, 74, 172, 170, 170, -1, 78,
1059 172, -1, 79, -1, 81, 170, -1, 85, 170, 170,
1060 -1, 86, -1, 87, 170, -1, 62, 170, -1, 63,
1061 170, -1, 64, 170, -1, 65, 170, -1, 60, 170,
1062 -1, 61, 170, -1, 88, -1, 89, 172, 172, 170,
1063 -1, 90, 172, 170, -1, 91, -1, 92, 172, -1,
1064 -1, 164, 168, -1, 165, 168, -1, 160, 168, -1,
1065 162, 168, -1, 161, 168, -1, 163, 168, -1, 100,
1066 166, 167, 101, 168, -1, 160, -1, 164, -1, 165,
1067 -1, 162, -1, 161, -1, 163, -1, 100, 166, 167,
1068 101, -1, 164, -1, 165, -1, 163, -1, 160, -1,
1069 100, 166, 167, 101, -1, 160, -1, 161, -1, 100,
1070 166, 167, 101, -1, 160, -1, 162, -1, 100, 166,
1071 167, 101, -1, 160, -1, 105, -1, 103, -1, 102,
1072 -1, 104, -1, 106, -1, 107, -1
1075 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1076 static const yytype_uint16 yyrline
[] =
1078 0, 393, 393, 396, 400, 401, 406, 412, 417, 422,
1079 426, 432, 438, 444, 450, 456, 462, 467, 473, 474,
1080 479, 480, 485, 486, 495, 496, 499, 515, 516, 520,
1081 524, 529, 532, 535, 538, 541, 544, 547, 550, 554,
1082 558, 562, 566, 570, 573, 575, 576, 579, 582, 585,
1083 588, 591, 597, 608, 609, 612, 614, 615, 616, 619,
1084 620, 623, 626, 631, 632, 633, 634, 635, 636, 637,
1085 638, 639, 640, 641, 642, 643, 644, 645, 646, 647,
1086 648, 649, 650, 651, 652, 653, 654, 655, 656, 657,
1087 658, 662, 663, 664, 665, 666, 667, 668, 669, 670,
1088 671, 672, 673, 674, 675, 676, 677, 678, 679, 680,
1089 681, 682, 683, 684, 685, 686, 687, 690, 692, 694,
1090 696, 698, 700, 702, 704, 706, 708, 710, 712, 714,
1091 716, 718, 720, 722, 724, 726, 728, 730, 732, 734,
1092 736, 738, 742, 744, 745, 747, 749, 750, 753, 754,
1093 758, 762, 767, 769, 771, 773, 775, 777, 779, 781,
1094 782, 783, 784, 785, 786, 787, 788, 789, 790, 791,
1095 792, 793, 794, 795, 796, 797, 798, 799, 800, 801,
1096 802, 803, 804, 805, 806, 811, 812, 813, 814, 815,
1097 816, 817, 818, 822, 823, 824, 825, 826, 827, 828,
1098 832, 833, 834, 835, 836, 840, 841, 842, 846, 847,
1099 848, 852, 856, 857, 858, 859, 860, 861
1103 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1104 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1105 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1106 static const char *const yytname
[] =
1108 "$end", "error", "$undefined", "STR", "GSTR", "VAR", "FONT", "NUMBER",
1109 "WINDOWTITLE", "WINDOWLOCALETITLE", "WINDOWSIZE", "WINDOWPOSITION",
1110 "USEGETTEXT", "FORECOLOR", "BACKCOLOR", "SHADCOLOR", "LICOLOR",
1111 "COLORSET", "OBJECT", "INIT", "PERIODICTASK", "QUITFUNC", "MAIN", "END",
1112 "PROP", "TYPE", "SIZE", "POSITION", "VALUE", "VALUEMIN", "VALUEMAX",
1113 "TITLE", "SWALLOWEXEC", "ICON", "FLAGS", "WARP", "WRITETOFILE",
1114 "LOCALETITLE", "HIDDEN", "NOFOCUS", "NORELIEFSTRING", "CENTER", "LEFT",
1115 "RIGHT", "CASE", "SINGLECLIC", "DOUBLECLIC", "BEG", "POINT", "EXEC",
1116 "HIDE", "SHOW", "CHFONT", "CHFORECOLOR", "CHBACKCOLOR", "CHCOLORSET",
1117 "CHWINDOWTITLE", "CHWINDOWTITLEFARG", "KEY", "GETVALUE", "GETMINVALUE",
1118 "GETMAXVALUE", "GETFORE", "GETBACK", "GETHILIGHT", "GETSHADOW",
1119 "CHVALUE", "CHVALUEMAX", "CHVALUEMIN", "ADD", "DIV", "MULT", "GETTITLE",
1120 "GETOUTPUT", "STRCOPY", "NUMTOHEX", "HEXTONUM", "QUIT", "LAUNCHSCRIPT",
1121 "GETSCRIPTFATHER", "SENDTOSCRIPT", "RECEIVFROMSCRIPT", "GET", "SET",
1122 "SENDSIGN", "REMAINDEROFDIV", "GETTIME", "GETSCRIPTARG", "GETPID",
1123 "SENDMSGANDGET", "PARSE", "LASTSTRING", "GETTEXT", "IF", "THEN", "ELSE",
1124 "FOR", "TO", "DO", "WHILE", "BEGF", "ENDF", "EQUAL", "INFEQ", "SUPEQ",
1125 "INF", "SUP", "DIFF", "$accept", "script", "initvar", "head", "initbloc",
1126 "periodictask", "quitfunc", "object", "id", "init", "flags", "verify",
1127 "mainloop", "addtabcase", "case", "clic", "number", "bloc", "instr",
1128 "oneinstr", "exec", "hide", "show", "chvalue", "chvaluemax",
1129 "chvaluemin", "position", "size", "icon", "title", "font", "chforecolor",
1130 "chbackcolor", "chcolorset", "set", "sendsign", "quit", "warp",
1131 "sendtoscript", "writetofile", "key", "localetitle", "ifthenelse",
1132 "loop", "while", "headif", "else", "creerbloc", "bloc1", "bloc2",
1133 "headloop", "headwhile", "var", "str", "gstr", "num", "singleclic2",
1134 "doubleclic2", "addlbuff", "function", "args", "arg", "numarg", "strarg",
1135 "gstrarg", "vararg", "compare", 0
1140 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1142 static const yytype_uint16 yytoknum
[] =
1144 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1145 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1146 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1147 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1148 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1149 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1150 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1151 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1152 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1153 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1154 355, 356, 357, 358, 359, 360, 361, 362
1158 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1159 static const yytype_uint8 yyr1
[] =
1161 0, 108, 109, 110, 111, 111, 111, 111, 111, 111,
1162 111, 111, 111, 111, 111, 111, 111, 111, 112, 112,
1163 113, 113, 114, 114, 115, 115, 116, 117, 117, 117,
1164 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
1165 117, 117, 117, 117, 117, 118, 118, 118, 118, 118,
1166 118, 118, 119, 120, 120, 121, 122, 122, 122, 123,
1167 123, 124, 125, 126, 126, 126, 126, 126, 126, 126,
1168 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1169 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
1170 126, 127, 127, 127, 127, 127, 127, 127, 127, 127,
1171 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
1172 127, 127, 127, 127, 127, 127, 127, 128, 129, 130,
1173 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
1174 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
1175 151, 152, 153, 154, 154, 155, 156, 156, 157, 157,
1176 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
1177 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
1178 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
1179 167, 167, 167, 167, 167, 168, 168, 168, 168, 168,
1180 168, 168, 168, 169, 169, 169, 169, 169, 169, 169,
1181 170, 170, 170, 170, 170, 171, 171, 171, 172, 172,
1182 172, 173, 174, 174, 174, 174, 174, 174
1185 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1186 static const yytype_uint8 yyr2
[] =
1188 0, 2, 6, 0, 0, 3, 2, 3, 3, 3,
1189 4, 4, 3, 3, 3, 3, 3, 2, 0, 5,
1190 0, 5, 0, 5, 0, 7, 1, 0, 3, 4,
1191 4, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1192 3, 3, 3, 2, 3, 0, 2, 2, 2, 2,
1193 2, 2, 0, 1, 5, 0, 0, 4, 4, 1,
1194 1, 1, 3, 0, 3, 3, 3, 3, 3, 3,
1195 3, 3, 4, 3, 3, 3, 3, 3, 3, 3,
1196 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1197 3, 2, 2, 2, 2, 2, 2, 2, 2, 3,
1198 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1199 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1200 4, 4, 4, 6, 6, 4, 4, 4, 4, 4,
1201 4, 5, 4, 0, 2, 4, 4, 10, 4, 4,
1202 3, 3, 7, 0, 3, 0, 3, 1, 3, 1,
1203 9, 7, 1, 1, 1, 1, 1, 1, 0, 2,
1204 2, 4, 3, 2, 3, 3, 3, 4, 2, 1,
1205 2, 3, 1, 2, 2, 2, 2, 2, 2, 2,
1206 1, 4, 3, 1, 2, 0, 2, 2, 2, 2,
1207 2, 2, 5, 1, 1, 1, 1, 1, 1, 4,
1208 1, 1, 1, 1, 4, 1, 1, 4, 1, 1,
1209 4, 1, 1, 1, 1, 1, 1, 1
1212 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1213 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
1214 means the default is an error. */
1215 static const yytype_uint8 yydefact
[] =
1217 3, 0, 4, 1, 18, 17, 0, 0, 0, 0,
1218 6, 0, 0, 0, 0, 0, 145, 0, 20, 7,
1219 8, 0, 0, 5, 13, 12, 14, 15, 16, 0,
1220 9, 145, 22, 11, 10, 63, 0, 145, 24, 0,
1221 63, 0, 2, 19, 158, 158, 158, 158, 158, 158,
1222 158, 158, 158, 158, 158, 158, 158, 158, 158, 0,
1223 158, 158, 158, 158, 133, 158, 158, 158, 158, 158,
1224 158, 0, 63, 0, 75, 0, 74, 0, 76, 0,
1225 78, 0, 65, 0, 66, 0, 77, 0, 64, 185,
1226 67, 0, 68, 0, 79, 0, 80, 0, 81, 0,
1227 82, 0, 0, 152, 155, 156, 157, 158, 203, 202,
1228 200, 201, 73, 90, 0, 69, 0, 70, 0, 71,
1229 0, 85, 86, 0, 83, 0, 84, 0, 87, 145,
1230 0, 88, 145, 0, 89, 145, 0, 21, 0, 26,
1231 0, 158, 158, 158, 158, 134, 153, 158, 205, 206,
1232 158, 158, 154, 158, 185, 185, 185, 185, 185, 185,
1233 117, 118, 119, 158, 158, 158, 158, 158, 208, 209,
1234 72, 0, 158, 158, 158, 158, 158, 211, 0, 158,
1235 0, 158, 193, 197, 196, 198, 194, 195, 158, 0,
1236 0, 0, 158, 23, 27, 0, 0, 0, 0, 0,
1237 185, 0, 0, 188, 190, 189, 191, 186, 187, 185,
1238 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1239 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1240 169, 0, 0, 172, 0, 180, 0, 0, 183, 0,
1241 0, 0, 0, 0, 0, 185, 158, 0, 158, 158,
1242 158, 158, 158, 158, 158, 63, 158, 158, 158, 158,
1243 158, 158, 158, 158, 0, 158, 158, 158, 158, 133,
1244 158, 158, 158, 158, 158, 147, 143, 0, 0, 63,
1245 149, 140, 158, 141, 0, 52, 158, 158, 126, 125,
1246 0, 136, 138, 0, 127, 128, 129, 130, 0, 159,
1247 178, 179, 174, 175, 176, 177, 0, 0, 0, 160,
1248 0, 0, 0, 163, 168, 170, 0, 173, 0, 0,
1249 184, 204, 158, 120, 121, 122, 135, 185, 132, 102,
1250 101, 103, 105, 92, 93, 104, 0, 91, 94, 95,
1251 106, 107, 108, 109, 0, 100, 116, 96, 97, 98,
1252 112, 113, 110, 111, 114, 115, 145, 139, 0, 214,
1253 213, 215, 212, 216, 217, 158, 0, 0, 158, 43,
1254 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1255 0, 0, 0, 0, 45, 0, 0, 0, 0, 207,
1256 185, 210, 164, 166, 165, 0, 0, 162, 171, 0,
1257 182, 0, 131, 146, 99, 0, 199, 0, 148, 0,
1258 0, 39, 38, 40, 41, 42, 28, 0, 0, 31,
1259 32, 33, 34, 36, 37, 44, 35, 55, 53, 25,
1260 124, 123, 192, 161, 167, 181, 158, 144, 0, 158,
1261 0, 29, 30, 46, 48, 47, 49, 50, 51, 0,
1262 0, 142, 0, 151, 56, 158, 0, 0, 185, 150,
1263 61, 54, 59, 60, 0, 0, 137, 0, 0, 63,
1267 /* YYDEFGOTO[NTERM-NUM]. */
1268 static const yytype_int16 yydefgoto
[] =
1270 -1, 1, 2, 4, 18, 32, 38, 42, 140, 285,
1271 425, 386, 429, 449, 457, 464, 465, 470, 39, 280,
1272 88, 90, 92, 115, 117, 119, 76, 74, 80, 78,
1273 94, 96, 98, 100, 124, 126, 121, 82, 122, 84,
1274 113, 86, 128, 131, 134, 129, 357, 29, 276, 281,
1275 132, 135, 108, 155, 169, 109, 110, 111, 75, 240,
1276 160, 188, 112, 150, 170, 178, 365
1279 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1281 #define YYPACT_NINF -307
1282 static const yytype_int16 yypact
[] =
1284 -307, 8, -307, -307, 584, -307, -2, 10, -1, 9,
1285 13, 14, 15, 19, 21, 22, -307, 31, 35, -307,
1286 -307, 28, 57, -307, -307, -307, -307, -307, -307, 18,
1287 -307, -307, 58, -307, -307, -307, 36, -307, -307, 759,
1288 -307, 39, 64, -307, -307, -307, -307, -307, -307, -307,
1289 -307, -307, -307, -307, -307, -307, -307, -307, -307, 26,
1290 -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
1291 -307, 814, -307, 80, -307, 26, -307, 26, -307, 26,
1292 -307, 26, -307, 26, -307, 2, -307, 26, -307, 17,
1293 -307, 26, -307, 26, -307, 26, -307, 26, -307, 26,
1294 -307, 26, 6, -307, -307, -307, -307, -307, -307, -307,
1295 -307, -307, -307, -307, 2, -307, 26, -307, 26, -307,
1296 26, -307, -307, 26, -307, 85, -307, 26, -307, -307,
1297 23, -307, -307, 85, -307, -307, 23, -307, 869, -307,
1298 67, -307, -307, -307, -307, -307, -307, -307, -307, -307,
1299 -307, -307, -307, -307, 17, 17, 17, 17, 17, 17,
1300 -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
1301 -307, 1185, -307, -307, -307, -307, -307, -307, 32, -307,
1302 1089, -307, -307, -307, -307, -307, -307, -307, -307, 1144,
1303 33, 1144, -307, -307, -307, 26, 26, 6, 2, 1185,
1304 17, 6, 1185, -307, -307, -307, -307, -307, -307, 17,
1305 6, 6, 26, 1185, 26, 26, 26, 26, 26, 26,
1306 26, 26, 26, 26, 26, 6, 6, 26, 6, 6,
1307 -307, 26, 26, -307, 26, -307, 6, 6, -307, 6,
1308 -6, 2, 26, 26, 26, 17, -307, 26, -307, -307,
1309 -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
1310 -307, -307, -307, -307, 26, -307, -307, -307, -307, -307,
1311 -307, -307, -307, -307, -307, -307, -3, 1185, -29, -307,
1312 -307, -307, -307, -307, -29, 277, -307, -307, -307, -307,
1313 -5, -307, -307, -4, -307, -307, -307, -307, 4, -307,
1314 -307, -307, -307, -307, -307, -307, 26, 26, 26, -307,
1315 26, 26, 26, -307, -307, -307, 26, -307, 6, 26,
1316 -307, -307, -307, -307, -307, -307, -307, 17, -307, -307,
1317 -307, -307, -307, -307, -307, -307, 924, -307, -307, -307,
1318 -307, -307, -307, -307, 6, -307, -307, -307, -307, -307,
1319 -307, -307, -307, -307, -307, -307, -307, -307, 12, -307,
1320 -307, -307, -307, -307, -307, -307, 979, 23, -307, -307,
1321 95, 96, 99, 106, 109, 115, 114, 117, 118, 120,
1322 122, 126, 127, 133, -307, 135, -10, 26, 26, -307,
1323 17, -307, -307, -307, -307, 26, 26, -307, -307, 26,
1324 -307, 26, -307, -307, -307, 1144, -307, 23, -307, 40,
1325 23, -307, -307, -307, -307, -307, -307, 136, 145, -307,
1326 -307, -307, -307, -307, -307, 108, -307, -307, -307, -307,
1327 -307, -307, -307, -307, -307, -307, -307, -307, 46, -307,
1328 55, -307, -307, -307, -307, -307, -307, -307, -307, 116,
1329 26, -307, 23, -307, -307, -307, 61, 43, 17, -307,
1330 -307, -307, -307, -307, 113, 121, -307, 124, 124, -307,
1331 -307, -307, 1034, -307
1334 /* YYPGOTO[NTERM-NUM]. */
1335 static const yytype_int16 yypgoto
[] =
1337 -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
1338 -307, -307, -307, -307, -307, -307, -307, -306, -40, -12,
1339 -83, -82, -84, -90, -86, -91, -64, -60, -62, -59,
1340 -67, -65, -68, -63, -74, -69, -61, -47, -58, -46,
1341 -56, -48, -307, -53, -57, -307, -307, -28, -307, -187,
1342 -307, -307, 247, 102, 240, 296, 370, 377, -9, -132,
1343 360, -121, 103, -113, -117, 77, -73
1346 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1347 positive, shift that token. If negative, reduce the rule which
1348 number is the opposite. If zero, do what YYDEFACT says.
1349 If YYTABLE_NINF, syntax error. */
1350 #define YYTABLE_NINF -1
1351 static const yytype_uint16 yytable
[] =
1353 71, 172, 19, 36, 283, 146, 21, 103, 3, 41,
1354 152, 103, 427, 428, 20, 192, 22, 23, 24, 25,
1355 146, 152, 103, 26, 104, 27, 146, 152, 103, 28,
1356 104, 103, 138, 104, 30, 33, 77, 79, 81, 83,
1357 85, 87, 89, 91, 93, 95, 97, 99, 101, 102,
1358 460, 114, 116, 118, 120, 31, 123, 125, 127, 130,
1359 133, 136, 105, 106, 34, 35, 461, 290, 105, 106,
1360 293, 105, 106, 359, 360, 361, 362, 363, 364, 37,
1361 288, 298, 73, 40, 292, 289, 72, 139, 462, 463,
1362 103, 194, 356, 295, 296, 321, 389, 390, 171, 411,
1363 412, 180, 147, 413, 189, 391, 167, 191, 310, 311,
1364 414, 313, 314, 406, 246, 282, 415, 153, 416, 318,
1365 319, 417, 320, 181, 418, 419, 107, 420, 322, 421,
1366 422, 423, 195, 196, 197, 198, 424, 439, 199, 426,
1367 451, 200, 201, 441, 202, 358, 443, 444, 445, 446,
1368 447, 448, 442, 453, 209, 210, 211, 212, 213, 459,
1369 454, 467, 471, 241, 242, 243, 244, 245, 275, 468,
1370 247, 469, 277, 337, 339, 338, 347, 349, 141, 278,
1371 142, 348, 143, 284, 144, 330, 145, 149, 329, 332,
1372 151, 331, 340, 342, 161, 341, 162, 352, 163, 343,
1373 164, 399, 165, 353, 166, 333, 335, 334, 350, 346,
1374 190, 368, 351, 0, 0, 336, 149, 355, 437, 173,
1375 354, 174, 0, 175, 0, 0, 176, 404, 0, 0,
1376 179, 0, 183, 0, 0, 0, 0, 327, 183, 366,
1377 77, 79, 81, 83, 85, 87, 409, 89, 91, 93,
1378 95, 97, 99, 101, 344, 0, 114, 116, 118, 120,
1379 0, 123, 125, 127, 133, 136, 0, 0, 0, 0,
1380 0, 0, 0, 367, 0, 0, 0, 387, 388, 0,
1381 0, 0, 0, 369, 0, 0, 438, 0, 0, 440,
1382 370, 371, 372, 373, 374, 0, 0, 0, 286, 287,
1383 149, 0, 375, 376, 377, 378, 379, 380, 381, 382,
1384 383, 384, 0, 401, 385, 297, 0, 299, 300, 301,
1385 302, 303, 304, 305, 306, 307, 308, 309, 405, 156,
1386 312, 456, 148, 0, 315, 316, 154, 317, 0, 0,
1387 0, 0, 0, 149, 0, 323, 324, 325, 0, 168,
1388 328, 0, 0, 0, 0, 0, 407, 0, 0, 410,
1389 0, 148, 0, 0, 0, 0, 0, 345, 0, 0,
1390 184, 0, 177, 0, 0, 0, 184, 182, 0, 0,
1391 177, 0, 0, 182, 0, 157, 0, 0, 0, 0,
1392 0, 0, 0, 0, 156, 156, 156, 156, 156, 156,
1393 0, 154, 154, 154, 154, 154, 154, 0, 0, 392,
1394 393, 394, 0, 395, 396, 397, 0, 0, 0, 398,
1395 0, 0, 400, 0, 0, 0, 185, 450, 0, 472,
1396 452, 0, 185, 0, 0, 0, 0, 0, 0, 0,
1397 156, 0, 0, 0, 168, 148, 458, 154, 168, 156,
1398 157, 157, 157, 157, 157, 157, 154, 168, 168, 158,
1399 0, 0, 0, 0, 0, 0, 159, 0, 0, 183,
1400 0, 0, 168, 168, 0, 168, 168, 0, 0, 0,
1401 0, 0, 0, 168, 168, 156, 168, 0, 148, 0,
1402 430, 431, 154, 0, 0, 0, 157, 0, 433, 434,
1403 186, 0, 435, 0, 436, 157, 186, 187, 0, 183,
1404 0, 0, 183, 187, 203, 204, 205, 206, 207, 208,
1405 0, 0, 0, 0, 158, 158, 158, 158, 158, 158,
1406 0, 159, 159, 159, 159, 159, 159, 0, 0, 0,
1407 0, 157, 0, 0, 0, 0, 0, 0, 0, 0,
1408 0, 0, 0, 455, 183, 0, 0, 0, 0, 0,
1409 291, 0, 0, 0, 0, 168, 0, 156, 0, 294,
1410 158, 0, 0, 0, 154, 0, 0, 159, 0, 158,
1411 0, 0, 0, 0, 0, 0, 159, 0, 0, 0,
1412 5, 168, 6, 7, 8, 9, 10, 11, 12, 13,
1413 14, 15, 0, 16, 0, 326, 0, 184, 0, 0,
1414 0, 0, 0, 0, 182, 158, 0, 17, 0, 0,
1415 0, 0, 159, 157, 0, 0, 0, 0, 0, 0,
1416 156, 0, 0, 0, 0, 0, 0, 154, 0, 0,
1417 0, 0, 0, 0, 0, 0, 0, 184, 0, 0,
1418 184, 0, 0, 0, 182, 0, 0, 182, 0, 0,
1419 0, 0, 0, 185, 0, 0, 0, 0, 0, 0,
1420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1421 0, 0, 0, 0, 0, 0, 157, 402, 0, 0,
1422 0, 0, 184, 0, 0, 0, 0, 158, 156, 182,
1423 0, 0, 0, 185, 159, 154, 185, 0, 0, 0,
1424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1426 0, 0, 0, 0, 0, 0, 0, 186, 0, 0,
1427 0, 0, 0, 0, 187, 0, 0, 0, 185, 0,
1428 432, 0, 0, 0, 157, 0, 0, 0, 0, 0,
1429 158, 0, 0, 0, 0, 0, 0, 159, 0, 0,
1430 0, 0, 0, 0, 0, 0, 0, 186, 0, 0,
1431 186, 0, 43, 0, 187, 44, 45, 187, 0, 0,
1432 46, 0, 47, 0, 48, 49, 50, 0, 0, 0,
1433 0, 0, 0, 0, 0, 0, 0, 0, 51, 52,
1434 53, 54, 55, 56, 57, 58, 59, 60, 466, 0,
1435 0, 0, 186, 0, 0, 61, 62, 63, 158, 187,
1436 0, 0, 0, 0, 0, 159, 64, 137, 0, 65,
1437 44, 45, 66, 67, 0, 46, 0, 47, 0, 48,
1438 49, 50, 68, 0, 0, 69, 0, 0, 70, 0,
1439 0, 0, 0, 51, 52, 53, 54, 55, 56, 57,
1440 58, 59, 60, 0, 0, 0, 0, 0, 0, 0,
1441 61, 62, 63, 0, 0, 0, 0, 0, 0, 0,
1442 0, 64, 193, 0, 65, 44, 45, 66, 67, 0,
1443 46, 0, 47, 0, 48, 49, 50, 68, 0, 0,
1444 69, 0, 0, 70, 0, 0, 0, 0, 51, 52,
1445 53, 54, 55, 56, 57, 58, 59, 60, 0, 0,
1446 0, 0, 0, 0, 0, 61, 62, 63, 0, 0,
1447 0, 0, 0, 0, 0, 0, 64, 403, 0, 65,
1448 44, 45, 66, 67, 0, 46, 0, 47, 0, 48,
1449 49, 50, 68, 0, 0, 69, 0, 0, 70, 0,
1450 0, 0, 0, 51, 52, 53, 54, 55, 56, 57,
1451 58, 59, 60, 0, 0, 0, 0, 0, 0, 0,
1452 61, 62, 63, 0, 0, 0, 0, 0, 0, 0,
1453 0, 64, 408, 0, 65, 44, 45, 66, 67, 0,
1454 46, 0, 47, 0, 48, 49, 50, 68, 0, 0,
1455 69, 0, 0, 70, 0, 0, 0, 0, 51, 52,
1456 53, 54, 55, 56, 57, 58, 59, 60, 0, 0,
1457 0, 0, 0, 0, 0, 61, 62, 63, 0, 0,
1458 0, 0, 0, 0, 0, 0, 64, 473, 0, 65,
1459 44, 45, 66, 67, 0, 46, 0, 47, 0, 48,
1460 49, 50, 68, 0, 0, 69, 0, 0, 70, 0,
1461 0, 0, 0, 51, 52, 53, 54, 55, 56, 57,
1462 58, 59, 60, 0, 0, 0, 0, 0, 0, 0,
1463 61, 62, 63, 0, 0, 0, 0, 0, 0, 0,
1464 0, 64, 0, 0, 65, 248, 249, 66, 67, 0,
1465 250, 0, 251, 0, 252, 253, 254, 68, 0, 0,
1466 69, 0, 0, 70, 0, 0, 255, 0, 256, 257,
1467 258, 259, 260, 261, 262, 263, 264, 265, 0, 0,
1468 0, 0, 0, 0, 0, 266, 267, 268, 0, 0,
1469 0, 0, 0, 0, 0, 0, 269, 0, 0, 270,
1470 248, 249, 271, 272, 0, 250, 0, 251, 0, 252,
1471 253, 254, 0, 0, 0, 273, 0, 0, 274, 0,
1472 0, 279, 0, 256, 257, 258, 259, 260, 261, 262,
1473 263, 264, 265, 0, 0, 0, 0, 0, 0, 0,
1474 266, 267, 268, 0, 0, 0, 0, 0, 0, 0,
1475 0, 269, 0, 0, 270, 0, 0, 271, 272, 0,
1476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1477 273, 0, 0, 274, 214, 215, 216, 217, 218, 219,
1478 220, 0, 0, 0, 221, 222, 223, 224, 225, 226,
1479 227, 228, 0, 229, 230, 0, 231, 0, 0, 0,
1480 232, 233, 234, 235, 236, 237, 238, 239
1483 static const yytype_int16 yycheck
[] =
1485 40, 114, 4, 31, 191, 3, 7, 5, 0, 37,
1486 4, 5, 22, 23, 4, 136, 7, 4, 4, 4,
1487 3, 4, 5, 4, 7, 4, 3, 4, 5, 7,
1488 7, 5, 72, 7, 3, 7, 45, 46, 47, 48,
1489 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1490 7, 60, 61, 62, 63, 20, 65, 66, 67, 68,
1491 69, 70, 45, 46, 7, 47, 23, 199, 45, 46,
1492 202, 45, 46, 102, 103, 104, 105, 106, 107, 21,
1493 197, 213, 18, 47, 201, 198, 47, 7, 45, 46,
1494 5, 24, 95, 210, 211, 101, 101, 101, 107, 4,
1495 4, 129, 100, 4, 132, 101, 100, 135, 225, 226,
1496 4, 228, 229, 101, 82, 82, 7, 100, 3, 236,
1497 237, 7, 239, 100, 7, 7, 100, 7, 241, 7,
1498 4, 4, 141, 142, 143, 144, 3, 97, 147, 4,
1499 94, 150, 151, 7, 153, 277, 38, 39, 40, 41,
1500 42, 43, 7, 98, 163, 164, 165, 166, 167, 98,
1501 44, 48, 468, 172, 173, 174, 175, 176, 180, 48,
1502 179, 47, 181, 256, 258, 257, 266, 268, 75, 188,
1503 77, 267, 79, 192, 81, 249, 83, 85, 248, 251,
1504 87, 250, 259, 261, 91, 260, 93, 271, 95, 262,
1505 97, 318, 99, 272, 101, 252, 254, 253, 269, 265,
1506 133, 284, 270, -1, -1, 255, 114, 274, 405, 116,
1507 273, 118, -1, 120, -1, -1, 123, 344, -1, -1,
1508 127, -1, 130, -1, -1, -1, -1, 246, 136, 279,
1509 249, 250, 251, 252, 253, 254, 367, 256, 257, 258,
1510 259, 260, 261, 262, 263, -1, 265, 266, 267, 268,
1511 -1, 270, 271, 272, 273, 274, -1, -1, -1, -1,
1512 -1, -1, -1, 282, -1, -1, -1, 286, 287, -1,
1513 -1, -1, -1, 6, -1, -1, 407, -1, -1, 410,
1514 13, 14, 15, 16, 17, -1, -1, -1, 195, 196,
1515 198, -1, 25, 26, 27, 28, 29, 30, 31, 32,
1516 33, 34, -1, 322, 37, 212, -1, 214, 215, 216,
1517 217, 218, 219, 220, 221, 222, 223, 224, 356, 89,
1518 227, 452, 85, -1, 231, 232, 89, 234, -1, -1,
1519 -1, -1, -1, 241, -1, 242, 243, 244, -1, 102,
1520 247, -1, -1, -1, -1, -1, 365, -1, -1, 368,
1521 -1, 114, -1, -1, -1, -1, -1, 264, -1, -1,
1522 130, -1, 125, -1, -1, -1, 136, 130, -1, -1,
1523 133, -1, -1, 136, -1, 89, -1, -1, -1, -1,
1524 -1, -1, -1, -1, 154, 155, 156, 157, 158, 159,
1525 -1, 154, 155, 156, 157, 158, 159, -1, -1, 306,
1526 307, 308, -1, 310, 311, 312, -1, -1, -1, 316,
1527 -1, -1, 319, -1, -1, -1, 130, 436, -1, 469,
1528 439, -1, 136, -1, -1, -1, -1, -1, -1, -1,
1529 200, -1, -1, -1, 197, 198, 455, 200, 201, 209,
1530 154, 155, 156, 157, 158, 159, 209, 210, 211, 89,
1531 -1, -1, -1, -1, -1, -1, 89, -1, -1, 367,
1532 -1, -1, 225, 226, -1, 228, 229, -1, -1, -1,
1533 -1, -1, -1, 236, 237, 245, 239, -1, 241, -1,
1534 387, 388, 245, -1, -1, -1, 200, -1, 395, 396,
1535 130, -1, 399, -1, 401, 209, 136, 130, -1, 407,
1536 -1, -1, 410, 136, 154, 155, 156, 157, 158, 159,
1537 -1, -1, -1, -1, 154, 155, 156, 157, 158, 159,
1538 -1, 154, 155, 156, 157, 158, 159, -1, -1, -1,
1539 -1, 245, -1, -1, -1, -1, -1, -1, -1, -1,
1540 -1, -1, -1, 450, 452, -1, -1, -1, -1, -1,
1541 200, -1, -1, -1, -1, 318, -1, 327, -1, 209,
1542 200, -1, -1, -1, 327, -1, -1, 200, -1, 209,
1543 -1, -1, -1, -1, -1, -1, 209, -1, -1, -1,
1544 6, 344, 8, 9, 10, 11, 12, 13, 14, 15,
1545 16, 17, -1, 19, -1, 245, -1, 367, -1, -1,
1546 -1, -1, -1, -1, 367, 245, -1, 33, -1, -1,
1547 -1, -1, 245, 327, -1, -1, -1, -1, -1, -1,
1548 390, -1, -1, -1, -1, -1, -1, 390, -1, -1,
1549 -1, -1, -1, -1, -1, -1, -1, 407, -1, -1,
1550 410, -1, -1, -1, 407, -1, -1, 410, -1, -1,
1551 -1, -1, -1, 367, -1, -1, -1, -1, -1, -1,
1552 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1553 -1, -1, -1, -1, -1, -1, 390, 327, -1, -1,
1554 -1, -1, 452, -1, -1, -1, -1, 327, 458, 452,
1555 -1, -1, -1, 407, 327, 458, 410, -1, -1, -1,
1556 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1557 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1558 -1, -1, -1, -1, -1, -1, -1, 367, -1, -1,
1559 -1, -1, -1, -1, 367, -1, -1, -1, 452, -1,
1560 390, -1, -1, -1, 458, -1, -1, -1, -1, -1,
1561 390, -1, -1, -1, -1, -1, -1, 390, -1, -1,
1562 -1, -1, -1, -1, -1, -1, -1, 407, -1, -1,
1563 410, -1, 23, -1, 407, 26, 27, 410, -1, -1,
1564 31, -1, 33, -1, 35, 36, 37, -1, -1, -1,
1565 -1, -1, -1, -1, -1, -1, -1, -1, 49, 50,
1566 51, 52, 53, 54, 55, 56, 57, 58, 458, -1,
1567 -1, -1, 452, -1, -1, 66, 67, 68, 458, 452,
1568 -1, -1, -1, -1, -1, 458, 77, 23, -1, 80,
1569 26, 27, 83, 84, -1, 31, -1, 33, -1, 35,
1570 36, 37, 93, -1, -1, 96, -1, -1, 99, -1,
1571 -1, -1, -1, 49, 50, 51, 52, 53, 54, 55,
1572 56, 57, 58, -1, -1, -1, -1, -1, -1, -1,
1573 66, 67, 68, -1, -1, -1, -1, -1, -1, -1,
1574 -1, 77, 23, -1, 80, 26, 27, 83, 84, -1,
1575 31, -1, 33, -1, 35, 36, 37, 93, -1, -1,
1576 96, -1, -1, 99, -1, -1, -1, -1, 49, 50,
1577 51, 52, 53, 54, 55, 56, 57, 58, -1, -1,
1578 -1, -1, -1, -1, -1, 66, 67, 68, -1, -1,
1579 -1, -1, -1, -1, -1, -1, 77, 23, -1, 80,
1580 26, 27, 83, 84, -1, 31, -1, 33, -1, 35,
1581 36, 37, 93, -1, -1, 96, -1, -1, 99, -1,
1582 -1, -1, -1, 49, 50, 51, 52, 53, 54, 55,
1583 56, 57, 58, -1, -1, -1, -1, -1, -1, -1,
1584 66, 67, 68, -1, -1, -1, -1, -1, -1, -1,
1585 -1, 77, 23, -1, 80, 26, 27, 83, 84, -1,
1586 31, -1, 33, -1, 35, 36, 37, 93, -1, -1,
1587 96, -1, -1, 99, -1, -1, -1, -1, 49, 50,
1588 51, 52, 53, 54, 55, 56, 57, 58, -1, -1,
1589 -1, -1, -1, -1, -1, 66, 67, 68, -1, -1,
1590 -1, -1, -1, -1, -1, -1, 77, 23, -1, 80,
1591 26, 27, 83, 84, -1, 31, -1, 33, -1, 35,
1592 36, 37, 93, -1, -1, 96, -1, -1, 99, -1,
1593 -1, -1, -1, 49, 50, 51, 52, 53, 54, 55,
1594 56, 57, 58, -1, -1, -1, -1, -1, -1, -1,
1595 66, 67, 68, -1, -1, -1, -1, -1, -1, -1,
1596 -1, 77, -1, -1, 80, 26, 27, 83, 84, -1,
1597 31, -1, 33, -1, 35, 36, 37, 93, -1, -1,
1598 96, -1, -1, 99, -1, -1, 47, -1, 49, 50,
1599 51, 52, 53, 54, 55, 56, 57, 58, -1, -1,
1600 -1, -1, -1, -1, -1, 66, 67, 68, -1, -1,
1601 -1, -1, -1, -1, -1, -1, 77, -1, -1, 80,
1602 26, 27, 83, 84, -1, 31, -1, 33, -1, 35,
1603 36, 37, -1, -1, -1, 96, -1, -1, 99, -1,
1604 -1, 47, -1, 49, 50, 51, 52, 53, 54, 55,
1605 56, 57, 58, -1, -1, -1, -1, -1, -1, -1,
1606 66, 67, 68, -1, -1, -1, -1, -1, -1, -1,
1607 -1, 77, -1, -1, 80, -1, -1, 83, 84, -1,
1608 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1609 96, -1, -1, 99, 59, 60, 61, 62, 63, 64,
1610 65, -1, -1, -1, 69, 70, 71, 72, 73, 74,
1611 75, 76, -1, 78, 79, -1, 81, -1, -1, -1,
1612 85, 86, 87, 88, 89, 90, 91, 92
1615 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1616 symbol of state STATE-NUM. */
1617 static const yytype_uint8 yystos
[] =
1619 0, 109, 110, 0, 111, 6, 8, 9, 10, 11,
1620 12, 13, 14, 15, 16, 17, 19, 33, 112, 4,
1621 4, 7, 7, 4, 4, 4, 4, 4, 7, 155,
1622 3, 20, 113, 7, 7, 47, 155, 21, 114, 126,
1623 47, 155, 115, 23, 26, 27, 31, 33, 35, 36,
1624 37, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1625 58, 66, 67, 68, 77, 80, 83, 84, 93, 96,
1626 99, 126, 47, 18, 135, 166, 134, 166, 137, 166,
1627 136, 166, 145, 166, 147, 166, 149, 166, 128, 166,
1628 129, 166, 130, 166, 138, 166, 139, 166, 140, 166,
1629 141, 166, 166, 5, 7, 45, 46, 100, 160, 163,
1630 164, 165, 170, 148, 166, 131, 166, 132, 166, 133,
1631 166, 144, 146, 166, 142, 166, 143, 166, 150, 153,
1632 166, 151, 158, 166, 152, 159, 166, 23, 126, 7,
1633 116, 170, 170, 170, 170, 170, 3, 100, 160, 161,
1634 171, 170, 4, 100, 160, 161, 162, 163, 164, 165,
1635 168, 170, 170, 170, 170, 170, 170, 100, 160, 162,
1636 172, 166, 171, 170, 170, 170, 170, 160, 173, 170,
1637 155, 100, 160, 161, 162, 163, 164, 165, 169, 155,
1638 173, 155, 169, 23, 24, 166, 166, 166, 166, 166,
1639 166, 166, 166, 168, 168, 168, 168, 168, 168, 166,
1640 166, 166, 166, 166, 59, 60, 61, 62, 63, 64,
1641 65, 69, 70, 71, 72, 73, 74, 75, 76, 78,
1642 79, 81, 85, 86, 87, 88, 89, 90, 91, 92,
1643 167, 166, 166, 166, 166, 166, 82, 166, 26, 27,
1644 31, 33, 35, 36, 37, 47, 49, 50, 51, 52,
1645 53, 54, 55, 56, 57, 58, 66, 67, 68, 77,
1646 80, 83, 84, 96, 99, 127, 156, 166, 166, 47,
1647 127, 157, 82, 157, 166, 117, 170, 170, 172, 171,
1648 167, 168, 172, 167, 168, 172, 172, 170, 167, 170,
1649 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
1650 172, 172, 170, 172, 172, 170, 170, 170, 172, 172,
1651 172, 101, 171, 170, 170, 170, 168, 166, 170, 135,
1652 134, 137, 136, 145, 147, 149, 126, 128, 129, 130,
1653 138, 139, 140, 141, 166, 170, 148, 131, 132, 133,
1654 144, 146, 142, 143, 151, 152, 95, 154, 167, 102,
1655 103, 104, 105, 106, 107, 174, 126, 166, 174, 6,
1656 13, 14, 15, 16, 17, 25, 26, 27, 28, 29,
1657 30, 31, 32, 33, 34, 37, 119, 166, 166, 101,
1658 101, 101, 170, 170, 170, 170, 170, 170, 170, 172,
1659 170, 166, 168, 23, 172, 155, 101, 166, 23, 169,
1660 166, 4, 4, 4, 4, 7, 3, 7, 7, 7,
1661 7, 7, 4, 4, 3, 118, 4, 22, 23, 120,
1662 170, 170, 168, 170, 170, 170, 170, 157, 169, 97,
1663 169, 7, 7, 38, 39, 40, 41, 42, 43, 121,
1664 166, 94, 166, 98, 44, 170, 169, 122, 166, 98,
1665 7, 23, 45, 46, 123, 124, 168, 48, 48, 47,
1669 #define yyerrok (yyerrstatus = 0)
1670 #define yyclearin (yychar = YYEMPTY)
1671 #define YYEMPTY (-2)
1674 #define YYACCEPT goto yyacceptlab
1675 #define YYABORT goto yyabortlab
1676 #define YYERROR goto yyerrorlab
1679 /* Like YYERROR except do call yyerror. This remains here temporarily
1680 to ease the transition to the new meaning of YYERROR, for GCC.
1681 Once GCC version 2 has supplanted version 1, this can go. */
1683 #define YYFAIL goto yyerrlab
1685 #define YYRECOVERING() (!!yyerrstatus)
1687 #define YYBACKUP(Token, Value) \
1689 if (yychar == YYEMPTY && yylen == 1) \
1693 yytoken = YYTRANSLATE (yychar); \
1699 yyerror (YY_("syntax error: cannot back up")); \
1706 #define YYERRCODE 256
1709 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
1710 If N is 0, then set CURRENT to the empty location which ends
1711 the previous symbol: RHS[0] (always defined). */
1713 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
1714 #ifndef YYLLOC_DEFAULT
1715 # define YYLLOC_DEFAULT(Current, Rhs, N) \
1719 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
1720 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
1721 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
1722 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
1726 (Current).first_line = (Current).last_line = \
1727 YYRHSLOC (Rhs, 0).last_line; \
1728 (Current).first_column = (Current).last_column = \
1729 YYRHSLOC (Rhs, 0).last_column; \
1735 /* YY_LOCATION_PRINT -- Print the location on the stream.
1736 This macro was not mandated originally: define only if we know
1737 we won't break user code: when these are the locations we know. */
1739 #ifndef YY_LOCATION_PRINT
1740 # if YYLTYPE_IS_TRIVIAL
1741 # define YY_LOCATION_PRINT(File, Loc) \
1742 fprintf (File, "%d.%d-%d.%d", \
1743 (Loc).first_line, (Loc).first_column, \
1744 (Loc).last_line, (Loc).last_column)
1746 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1751 /* YYLEX -- calling `yylex' with the right arguments. */
1754 # define YYLEX yylex (YYLEX_PARAM)
1756 # define YYLEX yylex ()
1759 /* Enable debugging if requested. */
1763 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1764 # define YYFPRINTF fprintf
1767 # define YYDPRINTF(Args) \
1773 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
1777 YYFPRINTF (stderr, "%s ", Title); \
1778 yy_symbol_print (stderr, \
1780 YYFPRINTF (stderr, "\n"); \
1785 /*--------------------------------.
1786 | Print this symbol on YYOUTPUT. |
1787 `--------------------------------*/
1790 #if (defined __STDC__ || defined __C99__FUNC__ \
1791 || defined __cplusplus || defined _MSC_VER)
1793 yy_symbol_value_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
)
1796 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
)
1799 YYSTYPE
const * const yyvaluep
;
1805 if (yytype
< YYNTOKENS
)
1806 YYPRINT (yyoutput
, yytoknum
[yytype
], *yyvaluep
);
1818 /*--------------------------------.
1819 | Print this symbol on YYOUTPUT. |
1820 `--------------------------------*/
1822 #if (defined __STDC__ || defined __C99__FUNC__ \
1823 || defined __cplusplus || defined _MSC_VER)
1825 yy_symbol_print (FILE *yyoutput
, int yytype
, YYSTYPE
const * const yyvaluep
)
1828 yy_symbol_print (yyoutput
, yytype
, yyvaluep
)
1831 YYSTYPE
const * const yyvaluep
;
1834 if (yytype
< YYNTOKENS
)
1835 YYFPRINTF (yyoutput
, "token %s (", yytname
[yytype
]);
1837 YYFPRINTF (yyoutput
, "nterm %s (", yytname
[yytype
]);
1839 yy_symbol_value_print (yyoutput
, yytype
, yyvaluep
);
1840 YYFPRINTF (yyoutput
, ")");
1843 /*------------------------------------------------------------------.
1844 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
1846 `------------------------------------------------------------------*/
1848 #if (defined __STDC__ || defined __C99__FUNC__ \
1849 || defined __cplusplus || defined _MSC_VER)
1851 yy_stack_print (yytype_int16
*bottom
, yytype_int16
*top
)
1854 yy_stack_print (bottom
, top
)
1855 yytype_int16
*bottom
;
1859 YYFPRINTF (stderr
, "Stack now");
1860 for (; bottom
<= top
; ++bottom
)
1861 YYFPRINTF (stderr
, " %d", *bottom
);
1862 YYFPRINTF (stderr
, "\n");
1865 # define YY_STACK_PRINT(Bottom, Top) \
1868 yy_stack_print ((Bottom), (Top)); \
1872 /*------------------------------------------------.
1873 | Report that the YYRULE is going to be reduced. |
1874 `------------------------------------------------*/
1876 #if (defined __STDC__ || defined __C99__FUNC__ \
1877 || defined __cplusplus || defined _MSC_VER)
1879 yy_reduce_print (YYSTYPE
*yyvsp
, int yyrule
)
1882 yy_reduce_print (yyvsp
, yyrule
)
1887 int yynrhs
= yyr2
[yyrule
];
1889 unsigned long int yylno
= yyrline
[yyrule
];
1890 YYFPRINTF (stderr
, "Reducing stack by rule %d (line %lu):\n",
1892 /* The symbols being reduced. */
1893 for (yyi
= 0; yyi
< yynrhs
; yyi
++)
1895 fprintf (stderr
, " $%d = ", yyi
+ 1);
1896 yy_symbol_print (stderr
, yyrhs
[yyprhs
[yyrule
] + yyi
],
1897 &(yyvsp
[(yyi
+ 1) - (yynrhs
)])
1899 fprintf (stderr
, "\n");
1903 # define YY_REDUCE_PRINT(Rule) \
1906 yy_reduce_print (yyvsp, Rule); \
1909 /* Nonzero means print parse trace. It is left uninitialized so that
1910 multiple parsers can coexist. */
1912 #else /* !YYDEBUG */
1913 # define YYDPRINTF(Args)
1914 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
1915 # define YY_STACK_PRINT(Bottom, Top)
1916 # define YY_REDUCE_PRINT(Rule)
1917 #endif /* !YYDEBUG */
1920 /* YYINITDEPTH -- initial size of the parser's stacks. */
1922 # define YYINITDEPTH 200
1925 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1926 if the built-in stack extension method is used).
1928 Do not make this value too large; the results are undefined if
1929 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
1930 evaluated with infinite-precision integer arithmetic. */
1933 # define YYMAXDEPTH 10000
1941 # if defined __GLIBC__ && defined _STRING_H
1942 # define yystrlen strlen
1944 /* Return the length of YYSTR. */
1945 #if (defined __STDC__ || defined __C99__FUNC__ \
1946 || defined __cplusplus || defined _MSC_VER)
1948 yystrlen (const char *yystr
)
1956 for (yylen
= 0; yystr
[yylen
]; yylen
++)
1964 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
1965 # define yystpcpy stpcpy
1967 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
1969 #if (defined __STDC__ || defined __C99__FUNC__ \
1970 || defined __cplusplus || defined _MSC_VER)
1972 yystpcpy (char *yydest
, const char *yysrc
)
1975 yystpcpy (yydest
, yysrc
)
1981 const char *yys
= yysrc
;
1983 while ((*yyd
++ = *yys
++) != '\0')
1992 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
1993 quotes and backslashes, so that it's suitable for yyerror. The
1994 heuristic is that double-quoting is unnecessary unless the string
1995 contains an apostrophe, a comma, or backslash (other than
1996 backslash-backslash). YYSTR is taken from yytname. If YYRES is
1997 null, do not copy; instead, return the length of what the result
2000 yytnamerr (char *yyres
, const char *yystr
)
2005 char const *yyp
= yystr
;
2012 goto do_not_strip_quotes
;
2016 goto do_not_strip_quotes
;
2029 do_not_strip_quotes
: ;
2033 return yystrlen (yystr
);
2035 return yystpcpy (yyres
, yystr
) - yyres
;
2039 /* Copy into YYRESULT an error message about the unexpected token
2040 YYCHAR while in state YYSTATE. Return the number of bytes copied,
2041 including the terminating null byte. If YYRESULT is null, do not
2042 copy anything; just return the number of bytes that would be
2043 copied. As a special case, return 0 if an ordinary "syntax error"
2044 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
2045 size calculation. */
2047 yysyntax_error (char *yyresult
, int yystate
, int yychar
)
2049 int yyn
= yypact
[yystate
];
2051 if (! (YYPACT_NINF
< yyn
&& yyn
<= YYLAST
))
2055 int yytype
= YYTRANSLATE (yychar
);
2056 YYSIZE_T yysize0
= yytnamerr (0, yytname
[yytype
]);
2057 YYSIZE_T yysize
= yysize0
;
2059 int yysize_overflow
= 0;
2060 enum { YYERROR_VERBOSE_ARGS_MAXIMUM
= 5 };
2061 char const *yyarg
[YYERROR_VERBOSE_ARGS_MAXIMUM
];
2065 /* This is so xgettext sees the translatable formats that are
2066 constructed on the fly. */
2067 YY_("syntax error, unexpected %s");
2068 YY_("syntax error, unexpected %s, expecting %s");
2069 YY_("syntax error, unexpected %s, expecting %s or %s");
2070 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2071 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
2075 static char const yyunexpected
[] = "syntax error, unexpected %s";
2076 static char const yyexpecting
[] = ", expecting %s";
2077 static char const yyor
[] = " or %s";
2078 char yyformat
[sizeof yyunexpected
2079 + sizeof yyexpecting
- 1
2080 + ((YYERROR_VERBOSE_ARGS_MAXIMUM
- 2)
2081 * (sizeof yyor
- 1))];
2082 char const *yyprefix
= yyexpecting
;
2084 /* Start YYX at -YYN if negative to avoid negative indexes in
2086 int yyxbegin
= yyn
< 0 ? -yyn
: 0;
2088 /* Stay within bounds of both yycheck and yytname. */
2089 int yychecklim
= YYLAST
- yyn
+ 1;
2090 int yyxend
= yychecklim
< YYNTOKENS
? yychecklim
: YYNTOKENS
;
2093 yyarg
[0] = yytname
[yytype
];
2094 yyfmt
= yystpcpy (yyformat
, yyunexpected
);
2096 for (yyx
= yyxbegin
; yyx
< yyxend
; ++yyx
)
2097 if (yycheck
[yyx
+ yyn
] == yyx
&& yyx
!= YYTERROR
)
2099 if (yycount
== YYERROR_VERBOSE_ARGS_MAXIMUM
)
2103 yyformat
[sizeof yyunexpected
- 1] = '\0';
2106 yyarg
[yycount
++] = yytname
[yyx
];
2107 yysize1
= yysize
+ yytnamerr (0, yytname
[yyx
]);
2108 yysize_overflow
|= (yysize1
< yysize
);
2110 yyfmt
= yystpcpy (yyfmt
, yyprefix
);
2114 yyf
= YY_(yyformat
);
2115 yysize1
= yysize
+ yystrlen (yyf
);
2116 yysize_overflow
|= (yysize1
< yysize
);
2119 if (yysize_overflow
)
2120 return YYSIZE_MAXIMUM
;
2124 /* Avoid sprintf, as that infringes on the user's name space.
2125 Don't have undefined behavior even if the translation
2126 produced a string with the wrong number of "%s"s. */
2127 char *yyp
= yyresult
;
2129 while ((*yyp
= *yyf
) != '\0')
2131 if (*yyp
== '%' && yyf
[1] == 's' && yyi
< yycount
)
2133 yyp
+= yytnamerr (yyp
, yyarg
[yyi
++]);
2146 #endif /* YYERROR_VERBOSE */
2149 /*-----------------------------------------------.
2150 | Release the memory associated to this symbol. |
2151 `-----------------------------------------------*/
2154 #if (defined __STDC__ || defined __C99__FUNC__ \
2155 || defined __cplusplus || defined _MSC_VER)
2157 yydestruct (const char *yymsg
, int yytype
, YYSTYPE
*yyvaluep
)
2160 yydestruct (yymsg
, yytype
, yyvaluep
)
2170 YY_SYMBOL_PRINT (yymsg
, yytype
, yyvaluep
, yylocationp
);
2181 /* Prevent warnings from -Wmissing-prototypes. */
2183 #ifdef YYPARSE_PARAM
2184 #if defined __STDC__ || defined __cplusplus
2185 int yyparse (void *YYPARSE_PARAM
);
2189 #else /* ! YYPARSE_PARAM */
2190 #if defined __STDC__ || defined __cplusplus
2195 #endif /* ! YYPARSE_PARAM */
2199 /* The look-ahead symbol. */
2202 /* The semantic value of the look-ahead symbol. */
2205 /* Number of syntax errors so far. */
2214 #ifdef YYPARSE_PARAM
2215 #if (defined __STDC__ || defined __C99__FUNC__ \
2216 || defined __cplusplus || defined _MSC_VER)
2218 yyparse (void *YYPARSE_PARAM
)
2221 yyparse (YYPARSE_PARAM
)
2222 void *YYPARSE_PARAM
;
2224 #else /* ! YYPARSE_PARAM */
2225 #if (defined __STDC__ || defined __C99__FUNC__ \
2226 || defined __cplusplus || defined _MSC_VER)
2240 /* Number of tokens to shift before error messages enabled. */
2242 /* Look-ahead token as an internal (translated) token number. */
2245 /* Buffer for error messages, and its allocated size. */
2247 char *yymsg
= yymsgbuf
;
2248 YYSIZE_T yymsg_alloc
= sizeof yymsgbuf
;
2251 /* Three stacks and their tools:
2252 `yyss': related to states,
2253 `yyvs': related to semantic values,
2254 `yyls': related to locations.
2256 Refer to the stacks thru separate pointers, to allow yyoverflow
2257 to reallocate them elsewhere. */
2259 /* The state stack. */
2260 yytype_int16 yyssa
[YYINITDEPTH
];
2261 yytype_int16
*yyss
= yyssa
;
2262 yytype_int16
*yyssp
;
2264 /* The semantic value stack. */
2265 YYSTYPE yyvsa
[YYINITDEPTH
];
2266 YYSTYPE
*yyvs
= yyvsa
;
2271 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
2273 YYSIZE_T yystacksize
= YYINITDEPTH
;
2275 /* The variables used to return semantic value and location from the
2280 /* The number of symbols on the RHS of the reduced rule.
2281 Keep to zero when no symbol should be popped. */
2284 YYDPRINTF ((stderr
, "Starting parse\n"));
2289 yychar
= YYEMPTY
; /* Cause a token to be read. */
2291 /* Initialize stack pointers.
2292 Waste one element of value and location stack
2293 so that they stay on the same level as the state stack.
2294 The wasted elements are never initialized. */
2301 /*------------------------------------------------------------.
2302 | yynewstate -- Push a new state, which is found in yystate. |
2303 `------------------------------------------------------------*/
2305 /* In all cases, when you get here, the value and location stacks
2306 have just been pushed. So pushing a state here evens the stacks. */
2312 if (yyss
+ yystacksize
- 1 <= yyssp
)
2314 /* Get the current used size of the three stacks, in elements. */
2315 YYSIZE_T yysize
= yyssp
- yyss
+ 1;
2319 /* Give user a chance to reallocate the stack. Use copies of
2320 these so that the &'s don't force the real ones into
2322 YYSTYPE
*yyvs1
= yyvs
;
2323 yytype_int16
*yyss1
= yyss
;
2326 /* Each stack pointer address is followed by the size of the
2327 data in use in that stack, in bytes. This used to be a
2328 conditional around just the two extra args, but that might
2329 be undefined if yyoverflow is a macro. */
2330 yyoverflow (YY_("memory exhausted"),
2331 &yyss1
, yysize
* sizeof (*yyssp
),
2332 &yyvs1
, yysize
* sizeof (*yyvsp
),
2339 #else /* no yyoverflow */
2340 # ifndef YYSTACK_RELOCATE
2341 goto yyexhaustedlab
;
2343 /* Extend the stack our own way. */
2344 if (YYMAXDEPTH
<= yystacksize
)
2345 goto yyexhaustedlab
;
2347 if (YYMAXDEPTH
< yystacksize
)
2348 yystacksize
= YYMAXDEPTH
;
2351 yytype_int16
*yyss1
= yyss
;
2352 union yyalloc
*yyptr
=
2353 (union yyalloc
*) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize
));
2355 goto yyexhaustedlab
;
2356 YYSTACK_RELOCATE (yyss
);
2357 YYSTACK_RELOCATE (yyvs
);
2359 # undef YYSTACK_RELOCATE
2361 YYSTACK_FREE (yyss1
);
2364 #endif /* no yyoverflow */
2366 yyssp
= yyss
+ yysize
- 1;
2367 yyvsp
= yyvs
+ yysize
- 1;
2370 YYDPRINTF ((stderr
, "Stack size increased to %lu\n",
2371 (unsigned long int) yystacksize
));
2373 if (yyss
+ yystacksize
- 1 <= yyssp
)
2377 YYDPRINTF ((stderr
, "Entering state %d\n", yystate
));
2386 /* Do appropriate processing given the current state. Read a
2387 look-ahead token if we need one and don't already have one. */
2389 /* First try to decide what to do without reference to look-ahead token. */
2390 yyn
= yypact
[yystate
];
2391 if (yyn
== YYPACT_NINF
)
2394 /* Not known => get a look-ahead token if don't already have one. */
2396 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
2397 if (yychar
== YYEMPTY
)
2399 YYDPRINTF ((stderr
, "Reading a token: "));
2403 if (yychar
<= YYEOF
)
2405 yychar
= yytoken
= YYEOF
;
2406 YYDPRINTF ((stderr
, "Now at end of input.\n"));
2410 yytoken
= YYTRANSLATE (yychar
);
2411 YY_SYMBOL_PRINT ("Next token is", yytoken
, &yylval
, &yylloc
);
2414 /* If the proper action on seeing token YYTOKEN is to reduce or to
2415 detect an error, take that action. */
2417 if (yyn
< 0 || YYLAST
< yyn
|| yycheck
[yyn
] != yytoken
)
2422 if (yyn
== 0 || yyn
== YYTABLE_NINF
)
2431 /* Count tokens shifted since error; after three, turn off error
2436 /* Shift the look-ahead token. */
2437 YY_SYMBOL_PRINT ("Shifting", yytoken
, &yylval
, &yylloc
);
2439 /* Discard the shifted token unless it is eof. */
2440 if (yychar
!= YYEOF
)
2449 /*-----------------------------------------------------------.
2450 | yydefault -- do the default action for the current state. |
2451 `-----------------------------------------------------------*/
2453 yyn
= yydefact
[yystate
];
2459 /*-----------------------------.
2460 | yyreduce -- Do a reduction. |
2461 `-----------------------------*/
2463 /* yyn is the number of a rule to reduce with. */
2466 /* If YYLEN is nonzero, implement the default value of the action:
2469 Otherwise, the following line sets YYVAL to garbage.
2470 This behavior is undocumented and Bison
2471 users should not rely upon it. Assigning to YYVAL
2472 unconditionally makes the parser a bit smaller, and it avoids a
2473 GCC warning that YYVAL may be used uninitialized. */
2474 yyval
= yyvsp
[1-yylen
];
2477 YY_REDUCE_PRINT (yyn
);
2481 #line 396 "script.y"
2486 #line 402 "script.y"
2488 FGettextInit("FvwmScript", LOCALEDIR
, "FvwmScript");
2489 FGettextSetLocalePath((yyvsp
[(3) - (3)].str
));
2494 #line 407 "script.y"
2496 fprintf(stderr
,"UseGettext!\n");
2497 FGettextInit("FvwmScript", LOCALEDIR
, "FvwmScript");
2502 #line 413 "script.y"
2504 /* Titre de la fenetre */
2505 scriptprop
->titlewin
=(yyvsp
[(3) - (3)].str
);
2510 #line 418 "script.y"
2512 /* Titre de la fenetre */
2513 scriptprop
->titlewin
=(char *)FGettext((yyvsp
[(3) - (3)].str
));
2518 #line 423 "script.y"
2520 scriptprop
->icon
=(yyvsp
[(3) - (3)].str
);
2525 #line 427 "script.y"
2527 /* Position et taille de la fenetre */
2528 scriptprop
->x
=(yyvsp
[(3) - (4)].number
);
2529 scriptprop
->y
=(yyvsp
[(4) - (4)].number
);
2534 #line 433 "script.y"
2536 /* Position et taille de la fenetre */
2537 scriptprop
->width
=(yyvsp
[(3) - (4)].number
);
2538 scriptprop
->height
=(yyvsp
[(4) - (4)].number
);
2543 #line 439 "script.y"
2545 /* Couleur de fond */
2546 scriptprop
->backcolor
=(yyvsp
[(3) - (3)].str
);
2547 scriptprop
->colorset
= -1;
2552 #line 445 "script.y"
2554 /* Couleur des lignes */
2555 scriptprop
->forecolor
=(yyvsp
[(3) - (3)].str
);
2556 scriptprop
->colorset
= -1;
2561 #line 451 "script.y"
2563 /* Couleur des lignes */
2564 scriptprop
->shadcolor
=(yyvsp
[(3) - (3)].str
);
2565 scriptprop
->colorset
= -1;
2570 #line 457 "script.y"
2572 /* Couleur des lignes */
2573 scriptprop
->hilicolor
=(yyvsp
[(3) - (3)].str
);
2574 scriptprop
->colorset
= -1;
2579 #line 463 "script.y"
2581 scriptprop
->colorset
= (yyvsp
[(3) - (3)].number
);
2582 AllocColorset((yyvsp
[(3) - (3)].number
));
2587 #line 468 "script.y"
2589 scriptprop
->font
=(yyvsp
[(2) - (2)].str
);
2594 #line 474 "script.y"
2596 scriptprop
->initbloc
=PileBloc
[TopPileB
];
2602 #line 480 "script.y"
2604 scriptprop
->periodictasks
=PileBloc
[TopPileB
];
2610 #line 486 "script.y"
2612 scriptprop
->quitfunc
=PileBloc
[TopPileB
];
2618 #line 499 "script.y"
2621 { yyerror("Too many items\n");
2623 if (((yyvsp
[(1) - (1)].number
)<1)||((yyvsp
[(1) - (1)].number
)>1000))
2624 { yyerror("Choose item id between 1 and 1000\n");
2626 if (TabIdObj
[(yyvsp
[(1) - (1)].number
)]!=-1)
2627 { i
=(yyvsp
[(1) - (1)].number
); fprintf(stderr
,"Line %d: item id %d already used:\n",numligne
,(yyvsp
[(1) - (1)].number
));
2629 TabIdObj
[(yyvsp
[(1) - (1)].number
)]=nbobj
;
2630 (*tabobj
)[nbobj
].id
=(yyvsp
[(1) - (1)].number
);
2631 (*tabobj
)[nbobj
].colorset
= -1;
2636 #line 516 "script.y"
2638 (*tabobj
)[nbobj
].type
=(yyvsp
[(3) - (3)].str
);
2644 #line 520 "script.y"
2646 (*tabobj
)[nbobj
].width
=(yyvsp
[(3) - (4)].number
);
2647 (*tabobj
)[nbobj
].height
=(yyvsp
[(4) - (4)].number
);
2652 #line 524 "script.y"
2654 (*tabobj
)[nbobj
].x
=(yyvsp
[(3) - (4)].number
);
2655 (*tabobj
)[nbobj
].y
=(yyvsp
[(4) - (4)].number
);
2661 #line 529 "script.y"
2663 (*tabobj
)[nbobj
].value
=(yyvsp
[(3) - (3)].number
);
2668 #line 532 "script.y"
2670 (*tabobj
)[nbobj
].value2
=(yyvsp
[(3) - (3)].number
);
2675 #line 535 "script.y"
2677 (*tabobj
)[nbobj
].value3
=(yyvsp
[(3) - (3)].number
);
2682 #line 538 "script.y"
2684 (*tabobj
)[nbobj
].title
= (yyvsp
[(3) - (3)].str
);
2689 #line 541 "script.y"
2691 (*tabobj
)[nbobj
].title
= FGettextCopy((yyvsp
[(3) - (3)].str
));
2696 #line 544 "script.y"
2698 (*tabobj
)[nbobj
].swallow
=(yyvsp
[(3) - (3)].str
);
2703 #line 547 "script.y"
2705 (*tabobj
)[nbobj
].icon
=(yyvsp
[(3) - (3)].str
);
2710 #line 550 "script.y"
2712 (*tabobj
)[nbobj
].backcolor
=(yyvsp
[(3) - (3)].str
);
2713 (*tabobj
)[nbobj
].colorset
= -1;
2718 #line 554 "script.y"
2720 (*tabobj
)[nbobj
].forecolor
=(yyvsp
[(3) - (3)].str
);
2721 (*tabobj
)[nbobj
].colorset
= -1;
2726 #line 558 "script.y"
2728 (*tabobj
)[nbobj
].shadcolor
=(yyvsp
[(3) - (3)].str
);
2729 (*tabobj
)[nbobj
].colorset
= -1;
2734 #line 562 "script.y"
2736 (*tabobj
)[nbobj
].hilicolor
=(yyvsp
[(3) - (3)].str
);
2737 (*tabobj
)[nbobj
].colorset
= -1;
2742 #line 566 "script.y"
2744 (*tabobj
)[nbobj
].colorset
= (yyvsp
[(3) - (3)].number
);
2745 AllocColorset((yyvsp
[(3) - (3)].number
));
2750 #line 570 "script.y"
2752 (*tabobj
)[nbobj
].font
=(yyvsp
[(2) - (2)].str
);
2757 #line 576 "script.y"
2759 (*tabobj
)[nbobj
].flags
[0]=True
;
2764 #line 579 "script.y"
2766 (*tabobj
)[nbobj
].flags
[1]=True
;
2771 #line 582 "script.y"
2773 (*tabobj
)[nbobj
].flags
[2]=True
;
2778 #line 585 "script.y"
2780 (*tabobj
)[nbobj
].flags
[3]=TEXT_POS_CENTER
;
2785 #line 588 "script.y"
2787 (*tabobj
)[nbobj
].flags
[3]=TEXT_POS_LEFT
;
2792 #line 591 "script.y"
2794 (*tabobj
)[nbobj
].flags
[3]=TEXT_POS_RIGHT
;
2799 #line 597 "script.y"
2802 { yyerror("No position for object");
2805 { yyerror("No type for object");
2813 #line 608 "script.y"
2814 { InitObjTabCase(0); }
2818 #line 612 "script.y"
2819 { InitObjTabCase(1); }
2823 #line 619 "script.y"
2828 #line 620 "script.y"
2833 #line 623 "script.y"
2834 { InitCase((yyvsp
[(1) - (1)].number
)); }
2838 #line 640 "script.y"
2843 #line 641 "script.y"
2848 #line 670 "script.y"
2853 #line 671 "script.y"
2858 #line 690 "script.y"
2863 #line 692 "script.y"
2868 #line 694 "script.y"
2873 #line 696 "script.y"
2878 #line 698 "script.y"
2883 #line 700 "script.y"
2888 #line 702 "script.y"
2893 #line 704 "script.y"
2898 #line 706 "script.y"
2903 #line 708 "script.y"
2908 #line 710 "script.y"
2913 #line 712 "script.y"
2918 #line 714 "script.y"
2923 #line 716 "script.y"
2928 #line 718 "script.y"
2933 #line 720 "script.y"
2938 #line 722 "script.y"
2943 #line 724 "script.y"
2948 #line 726 "script.y"
2953 #line 728 "script.y"
2958 #line 730 "script.y"
2963 #line 732 "script.y"
2968 #line 742 "script.y"
2969 { AddComBloc(14,3,2); }
2973 #line 747 "script.y"
2978 #line 749 "script.y"
2983 #line 750 "script.y"
2988 #line 753 "script.y"
2993 #line 754 "script.y"
2998 #line 758 "script.y"
2999 { AddComBloc(15,3,1); }
3003 #line 762 "script.y"
3004 { AddComBloc(16,3,1); }
3008 #line 767 "script.y"
3009 { AddVar((yyvsp
[(1) - (1)].str
)); }
3013 #line 769 "script.y"
3014 { AddConstStr((yyvsp
[(1) - (1)].str
)); }
3018 #line 771 "script.y"
3019 { AddConstStr((yyvsp
[(1) - (1)].str
)); }
3023 #line 773 "script.y"
3024 { AddConstNum((yyvsp
[(1) - (1)].number
)); }
3028 #line 775 "script.y"
3029 { AddConstNum(-1); }
3033 #line 777 "script.y"
3034 { AddConstNum(-2); }
3038 #line 779 "script.y"
3039 { AddLevelBufArg(); }
3043 #line 781 "script.y"
3048 #line 782 "script.y"
3053 #line 783 "script.y"
3058 #line 784 "script.y"
3063 #line 785 "script.y"
3068 #line 786 "script.y"
3073 #line 787 "script.y"
3078 #line 788 "script.y"
3083 #line 789 "script.y"
3088 #line 790 "script.y"
3093 #line 791 "script.y"
3098 #line 792 "script.y"
3103 #line 793 "script.y"
3108 #line 794 "script.y"
3113 #line 795 "script.y"
3118 #line 796 "script.y"
3123 #line 797 "script.y"
3128 #line 798 "script.y"
3133 #line 799 "script.y"
3138 #line 800 "script.y"
3143 #line 801 "script.y"
3148 #line 802 "script.y"
3153 #line 803 "script.y"
3158 #line 804 "script.y"
3163 #line 805 "script.y"
3168 #line 806 "script.y"
3173 #line 811 "script.y"
3178 #line 856 "script.y"
3179 { l
=1-250000; AddBufArg(&l
,1); }
3183 #line 857 "script.y"
3184 { l
=2-250000; AddBufArg(&l
,1); }
3188 #line 858 "script.y"
3189 { l
=3-250000; AddBufArg(&l
,1); }
3193 #line 859 "script.y"
3194 { l
=4-250000; AddBufArg(&l
,1); }
3198 #line 860 "script.y"
3199 { l
=5-250000; AddBufArg(&l
,1); }
3203 #line 861 "script.y"
3204 { l
=6-250000; AddBufArg(&l
,1); }
3208 /* Line 1267 of yacc.c. */
3209 #line 3210 "y.tab.c"
3212 YY_SYMBOL_PRINT ("-> $$ =", yyr1
[yyn
], &yyval
, &yyloc
);
3216 YY_STACK_PRINT (yyss
, yyssp
);
3221 /* Now `shift' the result of the reduction. Determine what state
3222 that goes to, based on the state we popped back to and the rule
3223 number reduced by. */
3227 yystate
= yypgoto
[yyn
- YYNTOKENS
] + *yyssp
;
3228 if (0 <= yystate
&& yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
3229 yystate
= yytable
[yystate
];
3231 yystate
= yydefgoto
[yyn
- YYNTOKENS
];
3236 /*------------------------------------.
3237 | yyerrlab -- here on detecting error |
3238 `------------------------------------*/
3240 /* If not already recovering from an error, report this error. */
3244 #if ! YYERROR_VERBOSE
3245 yyerror (YY_("syntax error"));
3248 YYSIZE_T yysize
= yysyntax_error (0, yystate
, yychar
);
3249 if (yymsg_alloc
< yysize
&& yymsg_alloc
< YYSTACK_ALLOC_MAXIMUM
)
3251 YYSIZE_T yyalloc
= 2 * yysize
;
3252 if (! (yysize
<= yyalloc
&& yyalloc
<= YYSTACK_ALLOC_MAXIMUM
))
3253 yyalloc
= YYSTACK_ALLOC_MAXIMUM
;
3254 if (yymsg
!= yymsgbuf
)
3255 YYSTACK_FREE (yymsg
);
3256 yymsg
= (char *) YYSTACK_ALLOC (yyalloc
);
3258 yymsg_alloc
= yyalloc
;
3262 yymsg_alloc
= sizeof yymsgbuf
;
3266 if (0 < yysize
&& yysize
<= yymsg_alloc
)
3268 (void) yysyntax_error (yymsg
, yystate
, yychar
);
3273 yyerror (YY_("syntax error"));
3275 goto yyexhaustedlab
;
3283 if (yyerrstatus
== 3)
3285 /* If just tried and failed to reuse look-ahead token after an
3286 error, discard it. */
3288 if (yychar
<= YYEOF
)
3290 /* Return failure if at end of input. */
3291 if (yychar
== YYEOF
)
3296 yydestruct ("Error: discarding",
3302 /* Else will try to reuse look-ahead token after shifting the error
3307 /*---------------------------------------------------.
3308 | yyerrorlab -- error raised explicitly by YYERROR. |
3309 `---------------------------------------------------*/
3312 /* Pacify compilers like GCC when the user code never invokes
3313 YYERROR and the label yyerrorlab therefore never appears in user
3315 if (/*CONSTCOND*/ 0)
3318 /* Do not reclaim the symbols of the rule which action triggered
3322 YY_STACK_PRINT (yyss
, yyssp
);
3327 /*-------------------------------------------------------------.
3328 | yyerrlab1 -- common code for both syntax error and YYERROR. |
3329 `-------------------------------------------------------------*/
3331 yyerrstatus
= 3; /* Each real token shifted decrements this. */
3335 yyn
= yypact
[yystate
];
3336 if (yyn
!= YYPACT_NINF
)
3339 if (0 <= yyn
&& yyn
<= YYLAST
&& yycheck
[yyn
] == YYTERROR
)
3347 /* Pop the current state because it cannot handle the error token. */
3352 yydestruct ("Error: popping",
3353 yystos
[yystate
], yyvsp
);
3356 YY_STACK_PRINT (yyss
, yyssp
);
3365 /* Shift the error token. */
3366 YY_SYMBOL_PRINT ("Shifting", yystos
[yyn
], yyvsp
, yylsp
);
3372 /*-------------------------------------.
3373 | yyacceptlab -- YYACCEPT comes here. |
3374 `-------------------------------------*/
3379 /*-----------------------------------.
3380 | yyabortlab -- YYABORT comes here. |
3381 `-----------------------------------*/
3387 /*-------------------------------------------------.
3388 | yyexhaustedlab -- memory exhaustion comes here. |
3389 `-------------------------------------------------*/
3391 yyerror (YY_("memory exhausted"));
3397 if (yychar
!= YYEOF
&& yychar
!= YYEMPTY
)
3398 yydestruct ("Cleanup: discarding lookahead",
3400 /* Do not reclaim the symbols of the rule which action triggered
3401 this YYABORT or YYACCEPT. */
3403 YY_STACK_PRINT (yyss
, yyssp
);
3404 while (yyssp
!= yyss
)
3406 yydestruct ("Cleanup: popping",
3407 yystos
[*yyssp
], yyvsp
);
3412 YYSTACK_FREE (yyss
);
3415 if (yymsg
!= yymsgbuf
)
3416 YYSTACK_FREE (yymsg
);
3418 /* Make sure YYID is used. */
3419 return YYID (yyresult
);
3423 #line 864 "script.y"