~ubuntu-branches/ubuntu/trusty/lifelines/trusty

« back to all changes in this revision

Viewing changes to src/interp/yacc.c

  • Committer: Bazaar Package Importer
  • Author(s): Felipe Augusto van de Wiel (faw)
  • Date: 2007-05-23 23:49:53 UTC
  • mfrom: (3.1.3 edgy)
  • Revision ID: james.westby@ubuntu.com-20070523234953-ogno9rnbmth61i7p
Tags: 3.0.50-2etch1
* Changing docs/ll-reportmanual.xml and docs/ll-userguide.xml to fix
  documentation build problems (Closes: #418347).

* lifelines-reports
  - Adding a dependency to lifelines >= 3.0.50 to prevent file conflict.
    (Closes: #405500).

* Updating French translation. Thanks to Bernard Adrian. (Closes: #356671).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* A Bison parser, made by GNU Bison 1.875b.  */
 
1
/* A Bison parser, made by GNU Bison 1.875d.  */
2
2
 
3
3
/* Skeleton parser for Yacc-like parsing with Bison,
4
 
   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
 
4
   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
5
5
 
6
6
   This program is free software; you can redistribute it and/or modify
7
7
   it under the terms of the GNU General Public License as published by
173
173
 
174
174
#if ! defined (yyoverflow) || YYERROR_VERBOSE
175
175
 
 
176
# ifndef YYFREE
 
177
#  define YYFREE free
 
178
# endif
 
179
# ifndef YYMALLOC
 
180
#  define YYMALLOC malloc
 
181
# endif
 
182
 
176
183
/* The parser invokes alloca or malloc; define the necessary symbols.  */
177
184
 
178
 
# if YYSTACK_USE_ALLOCA
179
 
#  define YYSTACK_ALLOC alloca
 
185
# ifdef YYSTACK_USE_ALLOCA
 
186
#  if YYSTACK_USE_ALLOCA
 
187
#   define YYSTACK_ALLOC alloca
 
188
#  endif
180
189
# else
181
 
#  ifndef YYSTACK_USE_ALLOCA
182
 
#   if defined (alloca) || defined (_ALLOCA_H)
183
 
#    define YYSTACK_ALLOC alloca
184
 
#   else
185
 
#    ifdef __GNUC__
186
 
#     define YYSTACK_ALLOC __builtin_alloca
187
 
#    endif
 
190
#  if defined (alloca) || defined (_ALLOCA_H)
 
191
#   define YYSTACK_ALLOC alloca
 
192
#  else
 
193
#   ifdef __GNUC__
 
194
#    define YYSTACK_ALLOC __builtin_alloca
188
195
#   endif
189
196
#  endif
190
197
# endif
197
204
#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
198
205
#   define YYSIZE_T size_t
199
206
#  endif
200
 
#  define YYSTACK_ALLOC malloc
201
 
#  define YYSTACK_FREE free
 
207
#  define YYSTACK_ALLOC YYMALLOC
 
208
#  define YYSTACK_FREE YYFREE
202
209
# endif
203
210
#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
204
211
 
205
212
 
206
213
#if (! defined (yyoverflow) \
207
214
     && (! defined (__cplusplus) \
208
 
         || (YYSTYPE_IS_TRIVIAL)))
 
215
         || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
209
216
 
210
217
/* A type that is properly aligned for any stack member.  */
211
218
union yyalloc
212
219
{
213
 
  short yyss;
 
220
  short int yyss;
214
221
  YYSTYPE yyvs;
215
222
  };
216
223
 
220
227
/* The size of an array large to enough to hold all stacks, each with
221
228
   N elements.  */
222
229
# define YYSTACK_BYTES(N) \
223
 
     ((N) * (sizeof (short) + sizeof (YYSTYPE))                         \
 
230
     ((N) * (sizeof (short int) + sizeof (YYSTYPE))                     \
224
231
      + YYSTACK_GAP_MAXIMUM)
225
232
 
226
233
/* Copy COUNT objects from FROM to TO.  The source and destination do
227
234
   not overlap.  */
228
235
# ifndef YYCOPY
229
 
#  if 1 < __GNUC__
 
236
#  if defined (__GNUC__) && 1 < __GNUC__
230
237
#   define YYCOPY(To, From, Count) \
231
238
      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
232
239
#  else
262
269
#if defined (__STDC__) || defined (__cplusplus)
263
270
   typedef signed char yysigned_char;
264
271
#else
265
 
   typedef short yysigned_char;
 
272
   typedef short int yysigned_char;
266
273
#endif
267
274
 
268
275
/* YYFINAL -- State number of the termination state. */
269
276
#define YYFINAL  11
270
277
/* YYLAST -- Last index in YYTABLE.  */
271
 
#define YYLAST   931
 
278
#define YYLAST   967
272
279
 
273
280
/* YYNTOKENS -- Number of terminals. */
274
281
#define YYNTOKENS  38
275
282
/* YYNNTS -- Number of nonterminals. */
276
283
#define YYNNTS  18
277
284
/* YYNRULES -- Number of rules. */
278
 
#define YYNRULES  57
 
285
#define YYNRULES  58
279
286
/* YYNRULES -- Number of states. */
280
 
#define YYNSTATES  292
 
287
#define YYNSTATES  296
281
288
 
282
289
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
283
290
#define YYUNDEFTOK  2
323
330
#if YYDEBUG
324
331
/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
325
332
   YYRHS.  */
326
 
static const unsigned short yyprhs[] =
 
333
static const unsigned short int yyprhs[] =
327
334
{
328
335
       0,     0,     3,     5,     8,    10,    12,    17,    22,    31,
329
 
      40,    41,    43,    45,    49,    51,    54,    67,    82,    97,
330
 
     112,   127,   140,   155,   168,   179,   190,   201,   212,   223,
331
 
     234,   247,   258,   270,   280,   287,   292,   297,   303,   305,
332
 
     306,   308,   310,   313,   322,   323,   328,   330,   336,   338,
333
 
     340,   342,   343,   345,   347,   351,   352,   355
 
336
      40,    41,    43,    45,    49,    51,    54,    67,    80,    95,
 
337
     110,   125,   140,   153,   168,   181,   192,   203,   214,   225,
 
338
     236,   247,   260,   271,   283,   293,   300,   305,   310,   316,
 
339
     318,   319,   321,   323,   326,   335,   336,   341,   343,   349,
 
340
     351,   353,   355,   356,   358,   360,   364,   365,   368
334
341
};
335
342
 
336
343
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
343
350
      -1,    44,    -1,     5,    -1,     5,    37,    44,    -1,    46,
344
351
      -1,    45,    46,    -1,     7,    55,    33,    51,    37,     5,
345
352
      37,     5,    34,    35,    45,    36,    -1,     8,    55,    33,
346
 
      51,    37,     5,    37,     5,    37,     5,    34,    35,    45,
347
 
      36,    -1,    12,    55,    33,    51,    37,     5,    37,     5,
348
 
      37,     5,    34,    35,    45,    36,    -1,    29,    55,    33,
349
 
      51,    37,     5,    37,     5,    37,     5,    34,    35,    45,
350
 
      36,    -1,    30,    55,    33,    51,    37,     5,    37,     5,
351
 
      37,     5,    34,    35,    45,    36,    -1,    31,    55,    33,
352
 
      51,    37,     5,    37,     5,    34,    35,    45,    36,    -1,
353
 
      16,    55,    33,    51,    37,     5,    37,     5,    37,     5,
354
 
      34,    35,    45,    36,    -1,    21,    55,    33,    51,    37,
355
 
       5,    37,     5,    34,    35,    45,    36,    -1,    17,    55,
356
 
      33,     5,    37,     5,    34,    35,    45,    36,    -1,    18,
357
 
      55,    33,    51,    37,     5,    34,    35,    45,    36,    -1,
358
 
      22,    55,    33,     5,    37,     5,    34,    35,    45,    36,
359
 
      -1,    23,    55,    33,     5,    37,     5,    34,    35,    45,
360
 
      36,    -1,    24,    55,    33,     5,    37,     5,    34,    35,
361
 
      45,    36,    -1,    25,    55,    33,     5,    37,     5,    34,
362
 
      35,    45,    36,    -1,    19,    55,    33,    51,    37,     5,
363
 
      37,     5,    34,    35,    45,    36,    -1,    20,    55,    33,
364
 
      51,    37,     5,    34,    35,    45,    36,    -1,     9,    55,
365
 
      33,    51,    54,    34,    35,    45,    36,    47,    50,    -1,
366
 
      14,    55,    33,    51,    54,    34,    35,    45,    36,    -1,
367
 
      15,     5,    55,    33,    52,    34,    -1,    26,    55,    33,
368
 
      34,    -1,    27,    55,    33,    34,    -1,    28,    55,    33,
369
 
      52,    34,    -1,    51,    -1,    -1,    48,    -1,    49,    -1,
370
 
      49,    48,    -1,    11,    33,    51,    54,    34,    35,    45,
371
 
      36,    -1,    -1,    10,    35,    45,    36,    -1,     5,    -1,
372
 
       5,    55,    33,    52,    34,    -1,     6,    -1,    13,    -1,
373
 
      32,    -1,    -1,    53,    -1,    51,    -1,    51,    37,    53,
374
 
      -1,    -1,    37,    51,    -1,    -1
 
353
      51,    37,     5,    37,     5,    34,    35,    45,    36,    -1,
 
354
       8,    55,    33,    51,    37,     5,    37,     5,    37,     5,
 
355
      34,    35,    45,    36,    -1,    12,    55,    33,    51,    37,
 
356
       5,    37,     5,    37,     5,    34,    35,    45,    36,    -1,
 
357
      29,    55,    33,    51,    37,     5,    37,     5,    37,     5,
 
358
      34,    35,    45,    36,    -1,    30,    55,    33,    51,    37,
 
359
       5,    37,     5,    37,     5,    34,    35,    45,    36,    -1,
 
360
      31,    55,    33,    51,    37,     5,    37,     5,    34,    35,
 
361
      45,    36,    -1,    16,    55,    33,    51,    37,     5,    37,
 
362
       5,    37,     5,    34,    35,    45,    36,    -1,    21,    55,
 
363
      33,    51,    37,     5,    37,     5,    34,    35,    45,    36,
 
364
      -1,    17,    55,    33,     5,    37,     5,    34,    35,    45,
 
365
      36,    -1,    18,    55,    33,    51,    37,     5,    34,    35,
 
366
      45,    36,    -1,    22,    55,    33,     5,    37,     5,    34,
 
367
      35,    45,    36,    -1,    23,    55,    33,     5,    37,     5,
 
368
      34,    35,    45,    36,    -1,    24,    55,    33,     5,    37,
 
369
       5,    34,    35,    45,    36,    -1,    25,    55,    33,     5,
 
370
      37,     5,    34,    35,    45,    36,    -1,    19,    55,    33,
 
371
      51,    37,     5,    37,     5,    34,    35,    45,    36,    -1,
 
372
      20,    55,    33,    51,    37,     5,    34,    35,    45,    36,
 
373
      -1,     9,    55,    33,    51,    54,    34,    35,    45,    36,
 
374
      47,    50,    -1,    14,    55,    33,    51,    54,    34,    35,
 
375
      45,    36,    -1,    15,     5,    55,    33,    52,    34,    -1,
 
376
      26,    55,    33,    34,    -1,    27,    55,    33,    34,    -1,
 
377
      28,    55,    33,    52,    34,    -1,    51,    -1,    -1,    48,
 
378
      -1,    49,    -1,    49,    48,    -1,    11,    33,    51,    54,
 
379
      34,    35,    45,    36,    -1,    -1,    10,    35,    45,    36,
 
380
      -1,     5,    -1,     5,    55,    33,    52,    34,    -1,     6,
 
381
      -1,    13,    -1,    32,    -1,    -1,    53,    -1,    51,    -1,
 
382
      51,    37,    53,    -1,    -1,    37,    51,    -1,    -1
375
383
};
376
384
 
377
385
/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
378
 
static const unsigned short yyrline[] =
 
386
static const unsigned short int yyrline[] =
379
387
{
380
 
       0,    67,    67,    68,    71,    72,    73,    77,    90,    95,
381
 
      99,   102,   106,   109,   114,   117,   122,   127,   132,   137,
382
 
     142,   147,   152,   157,   162,   167,   171,   175,   180,   185,
383
 
     190,   194,   198,   214,   219,   223,   227,   231,   235,   239,
384
 
     242,   246,   249,   254,   259,   262,   266,   270,   274,   277,
385
 
     280,   284,   287,   291,   294,   299,   302,   306
 
388
       0,    67,    67,    68,    71,    72,    73,    79,    92,    98,
 
389
     103,   106,   110,   114,   120,   123,   128,   134,   140,   146,
 
390
     152,   158,   164,   170,   176,   182,   188,   194,   200,   206,
 
391
     212,   218,   223,   228,   244,   249,   254,   258,   262,   266,
 
392
     270,   273,   277,   280,   285,   290,   293,   297,   302,   307,
 
393
     310,   313,   317,   320,   324,   327,   332,   335,   339
386
394
};
387
395
#endif
388
396
 
391
399
   First, the terminals, then, starting at YYNTOKENS, nonterminals. */
392
400
static const char *const yytname[] =
393
401
{
394
 
  "$end", "error", "$undefined", "PROC", "FUNC_TOK", "IDEN", "SCONS", 
395
 
  "CHILDREN", "SPOUSES", "IF", "ELSE", "ELSIF", "FAMILIES", "ICONS", 
396
 
  "WHILE", "CALL", "FORINDISET", "FORINDI", "FORNOTES", "TRAVERSE", 
397
 
  "FORNODES", "FORLIST_TOK", "FORFAM", "FORSOUR", "FOREVEN", "FOROTHR", 
398
 
  "BREAK", "CONTINUE", "RETURN", "FATHERS", "MOTHERS", "PARENTS", "FCONS", 
399
 
  "'('", "')'", "'{'", "'}'", "','", "$accept", "rspec", "defn", "proc", 
400
 
  "func", "idenso", "idens", "tmplts", "tmplt", "elsifso", "elsifs", 
 
402
  "$end", "error", "$undefined", "PROC", "FUNC_TOK", "IDEN", "SCONS",
 
403
  "CHILDREN", "SPOUSES", "IF", "ELSE", "ELSIF", "FAMILIES", "ICONS",
 
404
  "WHILE", "CALL", "FORINDISET", "FORINDI", "FORNOTES", "TRAVERSE",
 
405
  "FORNODES", "FORLIST_TOK", "FORFAM", "FORSOUR", "FOREVEN", "FOROTHR",
 
406
  "BREAK", "CONTINUE", "RETURN", "FATHERS", "MOTHERS", "PARENTS", "FCONS",
 
407
  "'('", "')'", "'{'", "'}'", "','", "$accept", "rspec", "defn", "proc",
 
408
  "func", "idenso", "idens", "tmplts", "tmplt", "elsifso", "elsifs",
401
409
  "elsif", "elseo", "expr", "exprso", "exprs", "secondo", "m", 0
402
410
};
403
411
#endif
405
413
# ifdef YYPRINT
406
414
/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
407
415
   token YYLEX-NUM.  */
408
 
static const unsigned short yytoknum[] =
 
416
static const unsigned short int yytoknum[] =
409
417
{
410
418
       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
411
419
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
420
428
       0,    38,    39,    39,    40,    40,    40,    40,    41,    42,
421
429
      43,    43,    44,    44,    45,    45,    46,    46,    46,    46,
422
430
      46,    46,    46,    46,    46,    46,    46,    46,    46,    46,
423
 
      46,    46,    46,    46,    46,    46,    46,    46,    46,    47,
424
 
      47,    48,    48,    49,    50,    50,    51,    51,    51,    51,
425
 
      51,    52,    52,    53,    53,    54,    54,    55
 
431
      46,    46,    46,    46,    46,    46,    46,    46,    46,    46,
 
432
      47,    47,    48,    48,    49,    50,    50,    51,    51,    51,
 
433
      51,    51,    52,    52,    53,    53,    54,    54,    55
426
434
};
427
435
 
428
436
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
429
437
static const unsigned char yyr2[] =
430
438
{
431
439
       0,     2,     1,     2,     1,     1,     4,     4,     8,     8,
432
 
       0,     1,     1,     3,     1,     2,    12,    14,    14,    14,
433
 
      14,    12,    14,    12,    10,    10,    10,    10,    10,    10,
434
 
      12,    10,    11,     9,     6,     4,     4,     5,     1,     0,
435
 
       1,     1,     2,     8,     0,     4,     1,     5,     1,     1,
436
 
       1,     0,     1,     1,     3,     0,     2,     0
 
440
       0,     1,     1,     3,     1,     2,    12,    12,    14,    14,
 
441
      14,    14,    12,    14,    12,    10,    10,    10,    10,    10,
 
442
      10,    12,    10,    11,     9,     6,     4,     4,     5,     1,
 
443
       0,     1,     1,     2,     8,     0,     4,     1,     5,     1,
 
444
       1,     1,     0,     1,     1,     3,     0,     2,     0
437
445
};
438
446
 
439
447
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
443
451
{
444
452
       0,     0,     0,     0,     0,     2,     4,     5,     0,     0,
445
453
       0,     1,     3,    10,    10,     0,     0,    12,     0,    11,
446
 
       0,     6,     7,     0,     0,     0,    13,     0,     0,    46,
447
 
      48,    57,    57,    57,    57,    49,    57,     0,    57,    57,
448
 
      57,    57,    57,    57,    57,    57,    57,    57,    57,    57,
449
 
      57,    57,    57,    57,    50,     0,    14,    38,     0,     0,
450
 
       0,     0,     0,     0,     0,    57,     0,     0,     0,     0,
451
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
452
 
       0,     0,     8,    15,     9,    51,     0,     0,     0,     0,
453
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
454
 
       0,     0,     0,     0,    51,     0,     0,     0,    53,     0,
455
 
      52,     0,     0,    55,     0,    55,    51,     0,     0,     0,
456
 
       0,     0,     0,     0,     0,     0,     0,    35,    36,     0,
457
 
       0,     0,     0,     0,    47,     0,     0,     0,     0,     0,
458
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
459
 
       0,     0,    37,     0,     0,     0,    54,     0,     0,    56,
460
 
       0,     0,     0,    34,     0,     0,     0,     0,     0,     0,
461
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
462
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
463
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
464
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
465
 
       0,     0,     0,     0,     0,    39,     0,    33,     0,     0,
466
 
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
467
 
       0,     0,     0,     0,    44,    40,    41,     0,     0,    24,
468
 
      25,     0,    31,     0,    26,    27,    28,    29,     0,     0,
469
 
       0,     0,     0,     0,     0,    32,    42,     0,     0,     0,
470
 
       0,     0,     0,     0,    16,     0,    55,     0,     0,     0,
471
 
      30,    23,     0,     0,    21,     0,     0,     0,     0,     0,
472
 
       0,     0,    17,     0,    45,    18,    22,    19,    20,     0,
473
 
       0,    43
 
454
       0,     6,     7,     0,     0,     0,    13,     0,     0,    47,
 
455
      49,    58,    58,    58,    58,    50,    58,     0,    58,    58,
 
456
      58,    58,    58,    58,    58,    58,    58,    58,    58,    58,
 
457
      58,    58,    58,    58,    51,     0,    14,    39,     0,     0,
 
458
       0,     0,     0,     0,     0,    58,     0,     0,     0,     0,
 
459
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
460
       0,     0,     8,    15,     9,    52,     0,     0,     0,     0,
 
461
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
462
       0,     0,     0,     0,    52,     0,     0,     0,    54,     0,
 
463
      53,     0,     0,    56,     0,    56,    52,     0,     0,     0,
 
464
       0,     0,     0,     0,     0,     0,     0,    36,    37,     0,
 
465
       0,     0,     0,     0,    48,     0,     0,     0,     0,     0,
 
466
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
467
       0,     0,    38,     0,     0,     0,    55,     0,     0,    57,
 
468
       0,     0,     0,    35,     0,     0,     0,     0,     0,     0,
 
469
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
470
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
471
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
472
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
473
       0,     0,     0,     0,     0,     0,    40,     0,    34,     0,
 
474
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
475
       0,     0,     0,     0,     0,     0,    45,    41,    42,     0,
 
476
       0,    25,    26,     0,    32,     0,    27,    28,    29,    30,
 
477
       0,     0,     0,     0,     0,     0,     0,     0,    33,    43,
 
478
       0,     0,     0,     0,     0,     0,     0,    16,    17,     0,
 
479
      56,     0,     0,     0,    31,    24,     0,     0,    22,     0,
 
480
       0,     0,     0,     0,     0,     0,    18,     0,    46,    19,
 
481
      23,    20,    21,     0,     0,    44
474
482
};
475
483
 
476
484
/* YYDEFGOTO[NTERM-NUM]. */
477
 
static const short yydefgoto[] =
 
485
static const short int yydefgoto[] =
478
486
{
479
 
      -1,     4,     5,     6,     7,    18,    19,    55,    56,   234,
480
 
     235,   236,   255,    57,   109,   110,   138,    59
 
487
      -1,     4,     5,     6,     7,    18,    19,    55,    56,   236,
 
488
     237,   238,   258,    57,   109,   110,   138,    59
481
489
};
482
490
 
483
491
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
484
492
   STATE-NUM.  */
485
 
#define YYPACT_NINF -109
486
 
static const short yypact[] =
 
493
#define YYPACT_NINF -115
 
494
static const short int yypact[] =
487
495
{
488
 
      33,     4,    10,    -8,    30,  -109,  -109,  -109,    -6,    -4,
489
 
      13,  -109,  -109,    34,    34,     6,     7,     5,    12,  -109,
490
 
      14,  -109,  -109,    34,     9,    15,  -109,   899,   899,    18,
491
 
    -109,  -109,  -109,  -109,  -109,  -109,  -109,    40,  -109,  -109,
492
 
    -109,  -109,  -109,  -109,  -109,  -109,  -109,  -109,  -109,  -109,
493
 
    -109,  -109,  -109,  -109,  -109,    77,  -109,  -109,   109,    19,
494
 
      25,    27,    44,    45,    46,  -109,    47,    48,    54,    78,
495
 
      79,    86,    87,   110,   111,   113,   114,   115,   116,   117,
496
 
     119,   121,  -109,  -109,  -109,    11,    11,    11,    11,    11,
497
 
      11,   122,    11,    42,    11,    11,    11,    11,   105,   137,
498
 
     151,   152,   125,   126,    11,    11,    11,    11,   124,   128,
499
 
    -109,   127,   129,   130,   131,   130,    11,   134,   138,   140,
500
 
     145,   146,   147,   148,   149,   150,   153,  -109,  -109,   154,
501
 
     157,   159,   164,    11,  -109,   158,   160,    11,   155,   186,
502
 
     168,   170,   200,   201,   202,   203,   204,   205,   206,   207,
503
 
     209,   211,  -109,   212,   213,   214,  -109,   183,   184,  -109,
504
 
     188,   189,   190,  -109,   191,   193,   195,   194,   196,   197,
505
 
     208,   215,   221,   222,   198,   210,   220,   233,   238,   899,
506
 
     241,   899,   253,   224,   225,   257,   234,   265,   258,   266,
507
 
     267,   289,   287,   320,   321,   260,   296,   259,   297,   291,
508
 
     319,   899,   899,   324,   899,   331,   899,   899,   899,   899,
509
 
     329,   351,   356,   322,   384,   386,   393,  -109,   415,   323,
510
 
     355,   394,   387,   395,   419,   451,   483,   515,   416,   417,
511
 
     418,   899,   420,   428,   442,  -109,   386,   450,   452,  -109,
512
 
    -109,   899,  -109,   899,  -109,  -109,  -109,  -109,   459,   460,
513
 
     899,   547,   427,    11,   481,  -109,  -109,   482,   490,   579,
514
 
     611,   491,   513,   643,  -109,   899,   130,   899,   899,   899,
515
 
    -109,  -109,   899,   899,  -109,   675,   484,   707,   739,   771,
516
 
     803,   835,  -109,   514,  -109,  -109,  -109,  -109,  -109,   899,
517
 
     867,  -109
 
496
      34,     7,    14,    -6,    17,  -115,  -115,  -115,     1,     9,
 
497
      35,  -115,  -115,    27,    27,    10,    11,     6,    12,  -115,
 
498
      13,  -115,  -115,    27,    15,    16,  -115,   935,   935,    20,
 
499
    -115,  -115,  -115,  -115,  -115,  -115,  -115,    43,  -115,  -115,
 
500
    -115,  -115,  -115,  -115,  -115,  -115,  -115,  -115,  -115,  -115,
 
501
    -115,  -115,  -115,  -115,  -115,    80,  -115,  -115,   112,    21,
 
502
      22,    28,    30,    47,    48,  -115,    49,    50,    51,    57,
 
503
      81,    82,    89,    90,   113,   114,   116,   117,   119,   121,
 
504
     122,   124,  -115,  -115,  -115,    -3,    -3,    -3,    -3,    -3,
 
505
      -3,   125,    -3,    44,    -3,    -3,    -3,    -3,   108,   140,
 
506
     154,   155,   127,   128,    -3,    -3,    -3,    -3,   126,   130,
 
507
    -115,   129,   131,   132,   134,   132,    -3,   145,   146,   147,
 
508
     148,   149,   150,   151,   152,   153,   158,  -115,  -115,   133,
 
509
     160,   165,   166,    -3,  -115,   172,   186,    -3,   173,   187,
 
510
     174,   175,   201,   205,   206,   207,   208,   209,   211,   213,
 
511
     214,   215,  -115,   216,   217,   218,  -115,   188,   191,  -115,
 
512
     194,   193,   196,  -115,   195,   199,   200,   203,   204,   210,
 
513
     212,   219,   225,   226,   224,   227,   229,   232,   237,   935,
 
514
     245,   935,   246,   228,   238,   257,   239,   291,   262,   270,
 
515
     271,   293,   324,   325,   332,   264,    -1,   263,   301,   295,
 
516
     323,   935,   935,   328,   935,   335,   935,   935,   935,   935,
 
517
     333,   355,   360,   326,   358,   396,   413,   397,  -115,   420,
 
518
     327,   359,   398,   391,   399,   423,   455,   487,   519,   421,
 
519
     451,   422,   935,   935,   424,   432,   456,  -115,   413,   454,
 
520
     463,  -115,  -115,   935,  -115,   935,  -115,  -115,  -115,  -115,
 
521
     464,   486,   935,   551,   583,   494,    -3,   495,  -115,  -115,
 
522
     517,   518,   615,   647,   526,   527,   679,  -115,  -115,   935,
 
523
     132,   935,   935,   935,  -115,  -115,   935,   935,  -115,   711,
 
524
     488,   743,   775,   807,   839,   871,  -115,   549,  -115,  -115,
 
525
    -115,  -115,  -115,   935,   903,  -115
518
526
};
519
527
 
520
528
/* YYPGOTO[NTERM-NUM].  */
521
 
static const short yypgoto[] =
 
529
static const short int yypgoto[] =
522
530
{
523
 
    -109,  -109,   546,  -109,  -109,   471,   534,   -28,   -27,  -109,
524
 
     344,  -109,  -109,   -84,   -90,   425,  -108,    23
 
531
    -115,  -115,   161,  -115,  -115,   475,   467,   -28,   -27,  -115,
 
532
     283,  -115,  -115,   -81,   -86,   452,  -114,    26
525
533
};
526
534
 
527
535
/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
528
536
   positive, shift that token.  If negative, reduce the rule which
529
537
   number is the opposite.  If zero, do what YYDEFACT says.
530
538
   If YYTABLE_NINF, syntax error.  */
531
 
#define YYTABLE_NINF -58
532
 
static const short yytable[] =
 
539
#define YYTABLE_NINF -59
 
540
static const short int yytable[] =
533
541
{
534
 
      58,   108,   111,   112,   113,   114,   115,   140,   117,     8,
535
 
     119,   120,   121,   122,   129,     9,    29,    30,    15,    16,
536
 
     108,   130,   131,   132,    35,    10,   141,    13,    83,    14,
537
 
      11,    83,   108,     1,     2,     3,     1,     2,     3,    17,
538
 
      21,    22,    23,    54,    27,    65,    24,   118,    25,   108,
539
 
      28,   -57,    85,   159,    60,    61,    62,    63,    86,    64,
540
 
      87,    66,    67,    68,    69,    70,    71,    72,    73,    74,
541
 
      75,    76,    77,    78,    79,    80,    81,    88,    89,    90,
542
 
      92,    93,    29,    30,    31,    32,    33,    94,    91,    34,
543
 
      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
544
 
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
545
 
     123,    95,    96,    82,    29,    30,    31,    32,    33,    97,
546
 
      98,    34,    35,    36,    37,    38,    39,    40,    41,    42,
547
 
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
548
 
      53,    54,   124,    99,   100,    84,   101,   102,   103,   104,
549
 
     105,   197,   106,   199,   107,   116,   125,   126,   276,   127,
550
 
     128,   133,   134,   157,   135,   158,   136,   137,   139,   266,
551
 
      83,   142,    83,   219,   220,   143,   222,   144,   224,   225,
552
 
     226,   227,   145,   146,   147,   148,   149,   150,   152,   160,
553
 
     151,   161,    83,    83,   153,    83,   154,    83,    83,    83,
554
 
      83,   155,   162,   251,   163,   164,   165,   166,   167,   168,
555
 
     169,   170,   171,   259,   172,   260,   173,   174,   175,   176,
556
 
     177,   178,   263,   179,    83,   181,   180,   183,   182,   184,
557
 
     186,   185,    83,    83,   187,   192,    83,   275,   195,   277,
558
 
     278,   279,   188,   196,   280,   281,   198,   193,    83,   189,
559
 
      83,    83,    83,    83,    83,   190,   191,   194,   200,   201,
560
 
     202,   290,   203,    83,    29,    30,    31,    32,    33,   204,
561
 
     205,    34,    35,    36,    37,    38,    39,    40,    41,    42,
562
 
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
563
 
      53,    54,   210,   206,   213,   215,    29,    30,    31,    32,
564
 
      33,   207,   208,    34,    35,    36,    37,    38,    39,    40,
565
 
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
566
 
      51,    52,    53,    54,   209,   211,   212,   217,    29,    30,
567
 
      31,    32,    33,   214,   216,    34,    35,    36,    37,    38,
568
 
      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
569
 
      49,    50,    51,    52,    53,    54,   218,   231,   221,   239,
570
 
      29,    30,    31,    32,    33,   223,   228,    34,    35,    36,
571
 
      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
572
 
      47,    48,    49,    50,    51,    52,    53,    54,   229,   232,
573
 
     230,   240,    29,    30,    31,    32,    33,   233,   237,    34,
574
 
      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
575
 
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
576
 
     238,   248,   249,   242,    29,    30,    31,    32,    33,   241,
577
 
     243,    34,    35,    36,    37,    38,    39,    40,    41,    42,
578
 
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
579
 
      53,    54,   254,   250,   252,   244,    29,    30,    31,    32,
580
 
      33,   253,   265,    34,    35,    36,    37,    38,    39,    40,
581
 
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
582
 
      51,    52,    53,    54,   257,    20,   258,   245,    29,    30,
583
 
      31,    32,    33,   261,   262,    34,    35,    36,    37,    38,
584
 
      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
585
 
      49,    50,    51,    52,    53,    54,   267,   268,   283,   246,
586
 
      29,    30,    31,    32,    33,   269,   272,    34,    35,    36,
587
 
      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
588
 
      47,    48,    49,    50,    51,    52,    53,    54,   273,   289,
589
 
      12,   247,    29,    30,    31,    32,    33,    26,   156,    34,
590
 
      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
591
 
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
592
 
     256,     0,     0,   264,    29,    30,    31,    32,    33,     0,
593
 
       0,    34,    35,    36,    37,    38,    39,    40,    41,    42,
594
 
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
595
 
      53,    54,     0,     0,     0,   270,    29,    30,    31,    32,
596
 
      33,     0,     0,    34,    35,    36,    37,    38,    39,    40,
597
 
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
598
 
      51,    52,    53,    54,     0,     0,     0,   271,    29,    30,
 
542
      58,   140,    29,    30,   108,   111,   112,   113,   114,   115,
 
543
      35,   117,     8,   119,   120,   121,   122,    11,   129,     9,
 
544
       1,     2,     3,   108,   130,   131,   132,    10,    83,    54,
 
545
     141,    83,    17,   214,    13,   108,   215,     1,     2,     3,
 
546
      15,    16,    14,    23,    21,    22,    24,    25,    65,   118,
 
547
      27,    28,   108,   -58,    85,    86,   159,    60,    61,    62,
 
548
      63,    87,    64,    88,    66,    67,    68,    69,    70,    71,
 
549
      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
 
550
      89,    90,    92,    93,    94,    29,    30,    31,    32,    33,
 
551
      95,    91,    34,    35,    36,    37,    38,    39,    40,    41,
 
552
      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
 
553
      52,    53,    54,   123,    96,    97,    82,    29,    30,    31,
 
554
      32,    33,    98,    99,    34,    35,    36,    37,    38,    39,
 
555
      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
 
556
      50,    51,    52,    53,    54,   124,   100,   101,    84,   102,
 
557
     103,   197,   104,   199,   105,   106,   280,   107,   116,   125,
 
558
     126,   127,   128,   133,   134,    12,   135,   152,   136,   137,
 
559
      83,   139,    83,   220,   221,   270,   223,   157,   225,   226,
 
560
     227,   228,   142,   143,   144,   145,   146,   147,   148,   149,
 
561
     150,   158,   161,    83,    83,   151,    83,   153,    83,    83,
 
562
      83,    83,   154,   155,   253,   254,   164,   160,   162,   163,
 
563
     165,   166,   167,   168,   169,   262,   170,   263,   171,   172,
 
564
     173,   174,   175,   176,   266,   177,    83,    83,   178,   179,
 
565
     180,   181,   182,   183,   184,    83,    83,   195,   186,    83,
 
566
     185,   279,   196,   281,   282,   283,   188,   187,   284,   285,
 
567
     198,   200,    83,   189,    83,    83,    83,    83,    83,   190,
 
568
     191,   192,   203,   201,   193,   294,   194,    83,    29,    30,
 
569
      31,    32,    33,   202,   204,    34,    35,    36,    37,    38,
 
570
      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
 
571
      49,    50,    51,    52,    53,    54,   205,   206,   213,   216,
 
572
      29,    30,    31,    32,    33,   207,   208,    34,    35,    36,
 
573
      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
 
574
      47,    48,    49,    50,    51,    52,    53,    54,   209,   210,
 
575
     211,   218,    29,    30,    31,    32,    33,   212,   217,    34,
 
576
      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
 
577
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
 
578
     219,   232,   222,   241,    29,    30,    31,    32,    33,   224,
 
579
     229,    34,    35,    36,    37,    38,    39,    40,    41,    42,
 
580
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
 
581
      53,    54,   230,   233,   231,   242,    29,    30,    31,    32,
 
582
      33,   234,   239,    34,    35,    36,    37,    38,    39,    40,
 
583
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
 
584
      51,    52,    53,    54,   235,   240,   250,   244,    29,    30,
 
585
      31,    32,    33,   243,   245,    34,    35,    36,    37,    38,
 
586
      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
 
587
      49,    50,    51,    52,    53,    54,   251,   252,   255,   246,
 
588
      29,    30,    31,    32,    33,   256,   257,    34,    35,    36,
 
589
      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
 
590
      47,    48,    49,    50,    51,    52,    53,    54,   260,    20,
 
591
      26,   247,    29,    30,    31,    32,    33,   261,   264,    34,
 
592
      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
 
593
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
 
594
     265,   259,   287,   248,    29,    30,    31,    32,    33,   269,
 
595
     271,    34,    35,    36,    37,    38,    39,    40,    41,    42,
 
596
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
 
597
      53,    54,   272,   273,     0,   249,    29,    30,    31,    32,
 
598
      33,   276,   277,    34,    35,    36,    37,    38,    39,    40,
 
599
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
 
600
      51,    52,    53,    54,   293,   156,     0,   267,    29,    30,
599
601
      31,    32,    33,     0,     0,    34,    35,    36,    37,    38,
600
602
      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
601
 
      49,    50,    51,    52,    53,    54,     0,     0,     0,   274,
 
603
      49,    50,    51,    52,    53,    54,     0,     0,     0,   268,
602
604
      29,    30,    31,    32,    33,     0,     0,    34,    35,    36,
603
605
      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
604
606
      47,    48,    49,    50,    51,    52,    53,    54,     0,     0,
605
 
       0,   282,    29,    30,    31,    32,    33,     0,     0,    34,
 
607
       0,   274,    29,    30,    31,    32,    33,     0,     0,    34,
606
608
      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
607
609
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
608
 
       0,     0,     0,   284,    29,    30,    31,    32,    33,     0,
 
610
       0,     0,     0,   275,    29,    30,    31,    32,    33,     0,
609
611
       0,    34,    35,    36,    37,    38,    39,    40,    41,    42,
610
612
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
611
 
      53,    54,     0,     0,     0,   285,    29,    30,    31,    32,
 
613
      53,    54,     0,     0,     0,   278,    29,    30,    31,    32,
612
614
      33,     0,     0,    34,    35,    36,    37,    38,    39,    40,
613
615
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
614
616
      51,    52,    53,    54,     0,     0,     0,   286,    29,    30,
615
617
      31,    32,    33,     0,     0,    34,    35,    36,    37,    38,
616
618
      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
617
 
      49,    50,    51,    52,    53,    54,     0,     0,     0,   287,
 
619
      49,    50,    51,    52,    53,    54,     0,     0,     0,   288,
618
620
      29,    30,    31,    32,    33,     0,     0,    34,    35,    36,
619
621
      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
620
622
      47,    48,    49,    50,    51,    52,    53,    54,     0,     0,
621
 
       0,   288,    29,    30,    31,    32,    33,     0,     0,    34,
 
623
       0,   289,    29,    30,    31,    32,    33,     0,     0,    34,
622
624
      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
623
625
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
624
 
       0,     0,     0,   291,    29,    30,    31,    32,    33,     0,
 
626
       0,     0,     0,   290,    29,    30,    31,    32,    33,     0,
625
627
       0,    34,    35,    36,    37,    38,    39,    40,    41,    42,
626
628
      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
627
 
      53,    54
 
629
      53,    54,     0,     0,     0,   291,    29,    30,    31,    32,
 
630
      33,     0,     0,    34,    35,    36,    37,    38,    39,    40,
 
631
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
 
632
      51,    52,    53,    54,     0,     0,     0,   292,    29,    30,
 
633
      31,    32,    33,     0,     0,    34,    35,    36,    37,    38,
 
634
      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
 
635
      49,    50,    51,    52,    53,    54,     0,     0,     0,   295,
 
636
      29,    30,    31,    32,    33,     0,     0,    34,    35,    36,
 
637
      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
 
638
      47,    48,    49,    50,    51,    52,    53,    54
628
639
};
629
640
 
630
 
static const short yycheck[] =
 
641
static const short int yycheck[] =
631
642
{
632
 
      28,    85,    86,    87,    88,    89,    90,   115,    92,     5,
633
 
      94,    95,    96,    97,   104,     5,     5,     6,     5,     6,
634
 
     104,   105,   106,   107,    13,    33,   116,    33,    55,    33,
635
 
       0,    58,   116,     3,     4,     5,     3,     4,     5,     5,
636
 
      34,    34,    37,    32,    35,     5,    34,     5,    34,   133,
637
 
      35,    33,    33,   137,    31,    32,    33,    34,    33,    36,
638
 
      33,    38,    39,    40,    41,    42,    43,    44,    45,    46,
639
 
      47,    48,    49,    50,    51,    52,    53,    33,    33,    33,
640
 
      33,    33,     5,     6,     7,     8,     9,    33,    65,    12,
641
 
      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
642
 
      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
643
 
       5,    33,    33,    36,     5,     6,     7,     8,     9,    33,
644
 
      33,    12,    13,    14,    15,    16,    17,    18,    19,    20,
645
 
      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
646
 
      31,    32,     5,    33,    33,    36,    33,    33,    33,    33,
647
 
      33,   179,    33,   181,    33,    33,     5,     5,   266,    34,
648
 
      34,    37,    34,     5,    37,     5,    37,    37,    37,   253,
649
 
     197,    37,   199,   201,   202,    37,   204,    37,   206,   207,
650
 
     208,   209,    37,    37,    37,    37,    37,    37,    34,    34,
651
 
      37,     5,   219,   220,    37,   222,    37,   224,   225,   226,
652
 
     227,    37,    34,   231,    34,     5,     5,     5,     5,     5,
653
 
       5,     5,     5,   241,     5,   243,     5,     5,     5,     5,
654
 
      37,    37,   250,    35,   251,    35,    37,    34,    37,    34,
655
 
      34,    37,   259,   260,    37,    37,   263,   265,     5,   267,
656
 
     268,   269,    34,     5,   272,   273,     5,    37,   275,    34,
657
 
     277,   278,   279,   280,   281,    34,    34,    37,     5,    35,
658
 
      35,   289,     5,   290,     5,     6,     7,     8,     9,    35,
659
 
       5,    12,    13,    14,    15,    16,    17,    18,    19,    20,
660
 
      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
661
 
      31,    32,     5,    35,    34,    36,     5,     6,     7,     8,
 
643
      28,   115,     5,     6,    85,    86,    87,    88,    89,    90,
 
644
      13,    92,     5,    94,    95,    96,    97,     0,   104,     5,
 
645
       3,     4,     5,   104,   105,   106,   107,    33,    55,    32,
 
646
     116,    58,     5,    34,    33,   116,    37,     3,     4,     5,
 
647
       5,     6,    33,    37,    34,    34,    34,    34,     5,     5,
 
648
      35,    35,   133,    33,    33,    33,   137,    31,    32,    33,
 
649
      34,    33,    36,    33,    38,    39,    40,    41,    42,    43,
 
650
      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
 
651
      33,    33,    33,    33,    33,     5,     6,     7,     8,     9,
 
652
      33,    65,    12,    13,    14,    15,    16,    17,    18,    19,
 
653
      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
 
654
      30,    31,    32,     5,    33,    33,    36,     5,     6,     7,
 
655
       8,     9,    33,    33,    12,    13,    14,    15,    16,    17,
 
656
      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
 
657
      28,    29,    30,    31,    32,     5,    33,    33,    36,    33,
 
658
      33,   179,    33,   181,    33,    33,   270,    33,    33,     5,
 
659
       5,    34,    34,    37,    34,     4,    37,    34,    37,    37,
 
660
     197,    37,   199,   201,   202,   256,   204,     5,   206,   207,
 
661
     208,   209,    37,    37,    37,    37,    37,    37,    37,    37,
 
662
      37,     5,     5,   220,   221,    37,   223,    37,   225,   226,
 
663
     227,   228,    37,    37,   232,   233,     5,    34,    34,    34,
 
664
       5,     5,     5,     5,     5,   243,     5,   245,     5,     5,
 
665
       5,     5,     5,     5,   252,    37,   253,   254,    37,    35,
 
666
      37,    35,    37,    34,    34,   262,   263,     5,    34,   266,
 
667
      37,   269,     5,   271,   272,   273,    34,    37,   276,   277,
 
668
       5,     5,   279,    34,   281,   282,   283,   284,   285,    34,
 
669
      34,    37,     5,    35,    37,   293,    37,   294,     5,     6,
 
670
       7,     8,     9,    35,    35,    12,    13,    14,    15,    16,
 
671
      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
 
672
      27,    28,    29,    30,    31,    32,     5,    35,    34,    36,
 
673
       5,     6,     7,     8,     9,    35,    35,    12,    13,    14,
 
674
      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
 
675
      25,    26,    27,    28,    29,    30,    31,    32,    35,     5,
 
676
       5,    36,     5,     6,     7,     8,     9,     5,    37,    12,
 
677
      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
 
678
      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
 
679
      37,    35,    34,    36,     5,     6,     7,     8,     9,    34,
 
680
      37,    12,    13,    14,    15,    16,    17,    18,    19,    20,
 
681
      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
 
682
      31,    32,    37,    35,    34,    36,     5,     6,     7,     8,
 
683
       9,     5,     5,    12,    13,    14,    15,    16,    17,    18,
 
684
      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
 
685
      29,    30,    31,    32,    11,     5,     5,    36,     5,     6,
 
686
       7,     8,     9,    35,    35,    12,    13,    14,    15,    16,
 
687
      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
 
688
      27,    28,    29,    30,    31,    32,     5,    35,    34,    36,
 
689
       5,     6,     7,     8,     9,    33,    10,    12,    13,    14,
 
690
      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
 
691
      25,    26,    27,    28,    29,    30,    31,    32,    34,    14,
 
692
      23,    36,     5,     6,     7,     8,     9,    34,    34,    12,
 
693
      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
 
694
      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
 
695
      34,   238,    34,    36,     5,     6,     7,     8,     9,    35,
 
696
      35,    12,    13,    14,    15,    16,    17,    18,    19,    20,
 
697
      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
 
698
      31,    32,    35,    35,    -1,    36,     5,     6,     7,     8,
662
699
       9,    35,    35,    12,    13,    14,    15,    16,    17,    18,
663
700
      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
664
 
      29,    30,    31,    32,    35,     5,     5,    36,     5,     6,
665
 
       7,     8,     9,    37,    37,    12,    13,    14,    15,    16,
666
 
      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
667
 
      27,    28,    29,    30,    31,    32,    37,    35,    34,    36,
668
 
       5,     6,     7,     8,     9,    34,    37,    12,    13,    14,
669
 
      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
670
 
      25,    26,    27,    28,    29,    30,    31,    32,    37,     5,
671
 
      34,    36,     5,     6,     7,     8,     9,    11,     5,    12,
672
 
      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
673
 
      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
674
 
       5,     5,     5,    36,     5,     6,     7,     8,     9,    35,
675
 
      35,    12,    13,    14,    15,    16,    17,    18,    19,    20,
676
 
      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
677
 
      31,    32,    10,    35,    34,    36,     5,     6,     7,     8,
678
 
       9,    33,    35,    12,    13,    14,    15,    16,    17,    18,
679
 
      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
680
 
      29,    30,    31,    32,    34,    14,    34,    36,     5,     6,
681
 
       7,     8,     9,    34,    34,    12,    13,    14,    15,    16,
682
 
      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
683
 
      27,    28,    29,    30,    31,    32,    35,    35,    34,    36,
684
 
       5,     6,     7,     8,     9,    35,    35,    12,    13,    14,
685
 
      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
686
 
      25,    26,    27,    28,    29,    30,    31,    32,    35,    35,
687
 
       4,    36,     5,     6,     7,     8,     9,    23,   133,    12,
688
 
      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
689
 
      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
690
 
     236,    -1,    -1,    36,     5,     6,     7,     8,     9,    -1,
691
 
      -1,    12,    13,    14,    15,    16,    17,    18,    19,    20,
692
 
      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
693
 
      31,    32,    -1,    -1,    -1,    36,     5,     6,     7,     8,
694
 
       9,    -1,    -1,    12,    13,    14,    15,    16,    17,    18,
695
 
      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
696
 
      29,    30,    31,    32,    -1,    -1,    -1,    36,     5,     6,
697
 
       7,     8,     9,    -1,    -1,    12,    13,    14,    15,    16,
698
 
      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
699
 
      27,    28,    29,    30,    31,    32,    -1,    -1,    -1,    36,
700
 
       5,     6,     7,     8,     9,    -1,    -1,    12,    13,    14,
701
 
      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
702
 
      25,    26,    27,    28,    29,    30,    31,    32,    -1,    -1,
703
 
      -1,    36,     5,     6,     7,     8,     9,    -1,    -1,    12,
704
 
      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
705
 
      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
706
 
      -1,    -1,    -1,    36,     5,     6,     7,     8,     9,    -1,
707
 
      -1,    12,    13,    14,    15,    16,    17,    18,    19,    20,
708
 
      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
709
 
      31,    32,    -1,    -1,    -1,    36,     5,     6,     7,     8,
710
 
       9,    -1,    -1,    12,    13,    14,    15,    16,    17,    18,
711
 
      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
712
 
      29,    30,    31,    32,    -1,    -1,    -1,    36,     5,     6,
713
 
       7,     8,     9,    -1,    -1,    12,    13,    14,    15,    16,
714
 
      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
715
 
      27,    28,    29,    30,    31,    32,    -1,    -1,    -1,    36,
716
 
       5,     6,     7,     8,     9,    -1,    -1,    12,    13,    14,
717
 
      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
718
 
      25,    26,    27,    28,    29,    30,    31,    32,    -1,    -1,
719
 
      -1,    36,     5,     6,     7,     8,     9,    -1,    -1,    12,
720
 
      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
721
 
      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
722
 
      -1,    -1,    -1,    36,     5,     6,     7,     8,     9,    -1,
723
 
      -1,    12,    13,    14,    15,    16,    17,    18,    19,    20,
724
 
      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
725
 
      31,    32
 
701
      29,    30,    31,    32,    35,   133,    -1,    36,     5,     6,
 
702
       7,     8,     9,    -1,    -1,    12,    13,    14,    15,    16,
 
703
      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
 
704
      27,    28,    29,    30,    31,    32,    -1,    -1,    -1,    36,
 
705
       5,     6,     7,     8,     9,    -1,    -1,    12,    13,    14,
 
706
      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
 
707
      25,    26,    27,    28,    29,    30,    31,    32,    -1,    -1,
 
708
      -1,    36,     5,     6,     7,     8,     9,    -1,    -1,    12,
 
709
      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
 
710
      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
 
711
      -1,    -1,    -1,    36,     5,     6,     7,     8,     9,    -1,
 
712
      -1,    12,    13,    14,    15,    16,    17,    18,    19,    20,
 
713
      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
 
714
      31,    32,    -1,    -1,    -1,    36,     5,     6,     7,     8,
 
715
       9,    -1,    -1,    12,    13,    14,    15,    16,    17,    18,
 
716
      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
 
717
      29,    30,    31,    32,    -1,    -1,    -1,    36,     5,     6,
 
718
       7,     8,     9,    -1,    -1,    12,    13,    14,    15,    16,
 
719
      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
 
720
      27,    28,    29,    30,    31,    32,    -1,    -1,    -1,    36,
 
721
       5,     6,     7,     8,     9,    -1,    -1,    12,    13,    14,
 
722
      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
 
723
      25,    26,    27,    28,    29,    30,    31,    32,    -1,    -1,
 
724
      -1,    36,     5,     6,     7,     8,     9,    -1,    -1,    12,
 
725
      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
 
726
      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
 
727
      -1,    -1,    -1,    36,     5,     6,     7,     8,     9,    -1,
 
728
      -1,    12,    13,    14,    15,    16,    17,    18,    19,    20,
 
729
      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
 
730
      31,    32,    -1,    -1,    -1,    36,     5,     6,     7,     8,
 
731
       9,    -1,    -1,    12,    13,    14,    15,    16,    17,    18,
 
732
      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
 
733
      29,    30,    31,    32,    -1,    -1,    -1,    36,     5,     6,
 
734
       7,     8,     9,    -1,    -1,    12,    13,    14,    15,    16,
 
735
      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
 
736
      27,    28,    29,    30,    31,    32,    -1,    -1,    -1,    36,
 
737
       5,     6,     7,     8,     9,    -1,    -1,    12,    13,    14,
 
738
      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
 
739
      25,    26,    27,    28,    29,    30,    31,    32
726
740
};
727
741
 
728
742
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
750
764
      37,    35,    37,    34,    34,    37,    34,    37,    34,    34,
751
765
      34,    34,    37,    37,    37,     5,     5,    45,     5,    45,
752
766
       5,    35,    35,     5,    35,     5,    35,    35,    35,    35,
753
 
       5,     5,     5,    34,    37,    36,    37,    36,    37,    45,
754
 
      45,    34,    45,    34,    45,    45,    45,    45,    37,    37,
755
 
      34,    35,     5,    11,    47,    48,    49,     5,     5,    36,
756
 
      36,    35,    36,    35,    36,    36,    36,    36,     5,     5,
757
 
      35,    45,    34,    33,    10,    50,    48,    34,    34,    45,
758
 
      45,    34,    34,    45,    36,    35,    51,    35,    35,    35,
759
 
      36,    36,    35,    35,    36,    45,    54,    45,    45,    45,
760
 
      45,    45,    36,    34,    36,    36,    36,    36,    36,    35,
761
 
      45,    36
 
767
       5,     5,     5,    34,    34,    37,    36,    37,    36,    37,
 
768
      45,    45,    34,    45,    34,    45,    45,    45,    45,    37,
 
769
      37,    34,    35,    35,     5,    11,    47,    48,    49,     5,
 
770
       5,    36,    36,    35,    36,    35,    36,    36,    36,    36,
 
771
       5,     5,    35,    45,    45,    34,    33,    10,    50,    48,
 
772
      34,    34,    45,    45,    34,    34,    45,    36,    36,    35,
 
773
      51,    35,    35,    35,    36,    36,    35,    35,    36,    45,
 
774
      54,    45,    45,    45,    45,    45,    36,    34,    36,    36,
 
775
      36,    36,    36,    35,    45,    36
762
776
};
763
777
 
764
778
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
784
798
 
785
799
#define YYACCEPT        goto yyacceptlab
786
800
#define YYABORT         goto yyabortlab
787
 
#define YYERROR         goto yyerrlab1
 
801
#define YYERROR         goto yyerrorlab
788
802
 
789
803
 
790
804
/* Like YYERROR except do call yyerror.  This remains here temporarily
819
833
   are run).  */
820
834
 
821
835
#ifndef YYLLOC_DEFAULT
822
 
# define YYLLOC_DEFAULT(Current, Rhs, N)         \
823
 
  Current.first_line   = Rhs[1].first_line;      \
824
 
  Current.first_column = Rhs[1].first_column;    \
825
 
  Current.last_line    = Rhs[N].last_line;       \
826
 
  Current.last_column  = Rhs[N].last_column;
 
836
# define YYLLOC_DEFAULT(Current, Rhs, N)                \
 
837
   ((Current).first_line   = (Rhs)[1].first_line,       \
 
838
    (Current).first_column = (Rhs)[1].first_column,     \
 
839
    (Current).last_line    = (Rhs)[N].last_line,        \
 
840
    (Current).last_column  = (Rhs)[N].last_column)
827
841
#endif
828
842
 
829
843
/* YYLEX -- calling `yylex' with the right arguments.  */
867
881
 
868
882
/*------------------------------------------------------------------.
869
883
| yy_stack_print -- Print the state stack from its BOTTOM up to its |
870
 
| TOP (cinluded).                                                   |
 
884
| TOP (included).                                                   |
871
885
`------------------------------------------------------------------*/
872
886
 
873
887
#if defined (__STDC__) || defined (__cplusplus)
874
888
static void
875
 
yy_stack_print (short *bottom, short *top)
 
889
yy_stack_print (short int *bottom, short int *top)
876
890
#else
877
891
static void
878
892
yy_stack_print (bottom, top)
879
 
    short *bottom;
880
 
    short *top;
 
893
    short int *bottom;
 
894
    short int *top;
881
895
#endif
882
896
{
883
897
  YYFPRINTF (stderr, "Stack now");
946
960
   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
947
961
   evaluated with infinite-precision integer arithmetic.  */
948
962
 
949
 
#if YYMAXDEPTH == 0
 
963
#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0
950
964
# undef YYMAXDEPTH
951
965
#endif
952
966
 
1144
1158
     to reallocate them elsewhere.  */
1145
1159
 
1146
1160
  /* The state stack.  */
1147
 
  short yyssa[YYINITDEPTH];
1148
 
  short *yyss = yyssa;
1149
 
  register short *yyssp;
 
1161
  short int yyssa[YYINITDEPTH];
 
1162
  short int *yyss = yyssa;
 
1163
  register short int *yyssp;
1150
1164
 
1151
1165
  /* The semantic value stack.  */
1152
1166
  YYSTYPE yyvsa[YYINITDEPTH];
1183
1197
  yyssp = yyss;
1184
1198
  yyvsp = yyvs;
1185
1199
 
 
1200
 
1186
1201
  goto yysetstate;
1187
1202
 
1188
1203
/*------------------------------------------------------------.
1208
1223
           these so that the &'s don't force the real ones into
1209
1224
           memory.  */
1210
1225
        YYSTYPE *yyvs1 = yyvs;
1211
 
        short *yyss1 = yyss;
 
1226
        short int *yyss1 = yyss;
1212
1227
 
1213
1228
 
1214
1229
        /* Each stack pointer address is followed by the size of the
1236
1251
        yystacksize = YYMAXDEPTH;
1237
1252
 
1238
1253
      {
1239
 
        short *yyss1 = yyss;
 
1254
        short int *yyss1 = yyss;
1240
1255
        union yyalloc *yyptr =
1241
1256
          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1242
1257
        if (! yyptr)
1373
1388
    {
1374
1389
                        if (eqstr("global", (STRING) yyvsp[-3]))
1375
1390
                                pa_handle_global((STRING) yyvsp[-1]);
 
1391
                                free_iden(yyvsp[-3]);
 
1392
                                free_iden(yyvsp[-1]);
1376
1393
                }
1377
1394
    break;
1378
1395
 
1379
1396
  case 7:
1380
 
#line 77 "../../../src/interp/yacc.y"
 
1397
#line 79 "../../../src/interp/yacc.y"
1381
1398
    {
1382
1399
                        if (eqstr("include", (STRING) yyvsp[-3]))
1383
1400
                                pa_handle_include(pactx, (PNODE) yyvsp[-1]);
1387
1404
                                pa_handle_char_encoding(pactx, (PNODE) yyvsp[-1]);
1388
1405
                        if (eqstr("require", (STRING) yyvsp[-3]))
1389
1406
                                pa_handle_require(pactx, (PNODE) yyvsp[-1]);
1390
 
 
 
1407
                        free_iden(yyvsp[-3]);
1391
1408
                }
1392
1409
    break;
1393
1410
 
1394
1411
  case 8:
1395
 
#line 90 "../../../src/interp/yacc.y"
 
1412
#line 92 "../../../src/interp/yacc.y"
1396
1413
    {
 
1414
                        /* consumes $2 */
1397
1415
                        pa_handle_proc(pactx, (STRING) yyvsp[-6], (PNODE) yyvsp[-4], (PNODE) yyvsp[-1]);
1398
1416
                }
1399
1417
    break;
1400
1418
 
1401
1419
  case 9:
1402
 
#line 95 "../../../src/interp/yacc.y"
 
1420
#line 98 "../../../src/interp/yacc.y"
1403
1421
    {
 
1422
                        /* consumes $2 */
1404
1423
                        pa_handle_func(pactx, (STRING) yyvsp[-6], (PNODE) yyvsp[-4], (PNODE) yyvsp[-1]);
1405
1424
                }
1406
1425
    break;
1407
1426
 
1408
1427
  case 10:
1409
 
#line 99 "../../../src/interp/yacc.y"
 
1428
#line 103 "../../../src/interp/yacc.y"
1410
1429
    {
1411
1430
                        yyval = 0;
1412
1431
                }
1413
1432
    break;
1414
1433
 
1415
1434
  case 11:
1416
 
#line 102 "../../../src/interp/yacc.y"
 
1435
#line 106 "../../../src/interp/yacc.y"
1417
1436
    {
1418
1437
                        yyval = yyvsp[0];
1419
1438
                }
1420
1439
    break;
1421
1440
 
1422
1441
  case 12:
1423
 
#line 106 "../../../src/interp/yacc.y"
 
1442
#line 110 "../../../src/interp/yacc.y"
1424
1443
    {
 
1444
                        /* consumes $1 */
1425
1445
                        yyval = iden_node(pactx, (STRING)yyvsp[0]);
1426
1446
                }
1427
1447
    break;
1428
1448
 
1429
1449
  case 13:
1430
 
#line 109 "../../../src/interp/yacc.y"
 
1450
#line 114 "../../../src/interp/yacc.y"
1431
1451
    {
 
1452
                        /* consumes $1 */
1432
1453
                        yyval = iden_node(pactx, (STRING)yyvsp[-2]);
1433
1454
                        inext(((PNODE)yyval)) = (PNODE) yyvsp[0];
1434
1455
                }
1435
1456
    break;
1436
1457
 
1437
1458
  case 14:
1438
 
#line 114 "../../../src/interp/yacc.y"
 
1459
#line 120 "../../../src/interp/yacc.y"
1439
1460
    {
1440
1461
                        yyval = yyvsp[0];
1441
1462
                }
1442
1463
    break;
1443
1464
 
1444
1465
  case 15:
1445
 
#line 117 "../../../src/interp/yacc.y"
 
1466
#line 123 "../../../src/interp/yacc.y"
1446
1467
    {
1447
1468
                        join((PNODE) yyvsp[-1], (PNODE) yyvsp[0]);
1448
1469
                        yyval = yyvsp[-1];
1450
1471
    break;
1451
1472
 
1452
1473
  case 16:
1453
 
#line 123 "../../../src/interp/yacc.y"
 
1474
#line 129 "../../../src/interp/yacc.y"
1454
1475
    {
 
1476
                        /* consumes $6 and $8 */
1455
1477
                        yyval = children_node(pactx, (PNODE)yyvsp[-8], (STRING)yyvsp[-6], (STRING)yyvsp[-4], (PNODE)yyvsp[-1]);
1456
1478
                        ((PNODE)yyval)->i_line = (INT)yyvsp[-10];
1457
1479
                }
1458
1480
    break;
1459
1481
 
1460
1482
  case 17:
1461
 
#line 128 "../../../src/interp/yacc.y"
1462
 
    {
 
1483
#line 135 "../../../src/interp/yacc.y"
 
1484
    {
 
1485
                        /* consumes $6 and $8 */
 
1486
                        yyval = familyspouses_node(pactx, (PNODE)yyvsp[-8], (STRING)yyvsp[-6], (STRING)yyvsp[-4], (PNODE)yyvsp[-1]);
 
1487
                        ((PNODE)yyval)->i_line = (INT)yyvsp[-10];
 
1488
                }
 
1489
    break;
 
1490
 
 
1491
  case 18:
 
1492
#line 141 "../../../src/interp/yacc.y"
 
1493
    {
 
1494
                        /* consumes $6 and $8 and $10 */
1463
1495
                        yyval = spouses_node(pactx, (PNODE)yyvsp[-10], (STRING)yyvsp[-8], (STRING)yyvsp[-6], (STRING)yyvsp[-4], (PNODE)yyvsp[-1]);
1464
1496
                        ((PNODE)yyval)->i_line = (INT)yyvsp[-12];
1465
1497
                }
1466
1498
    break;
1467
1499
 
1468
 
  case 18:
1469
 
#line 133 "../../../src/interp/yacc.y"
 
1500
  case 19:
 
1501
#line 147 "../../../src/interp/yacc.y"
1470
1502
    {
 
1503
                        /* consumes $6 and $8 and $10 */
1471
1504
                        yyval = families_node(pactx, (PNODE)yyvsp[-10], (STRING)yyvsp[-8], (STRING)yyvsp[-6], (STRING)yyvsp[-4], (PNODE)yyvsp[-1]);
1472
1505
                        ((PNODE)yyval)->i_line = (INT)yyvsp[-12];
1473
1506
                }
1474
1507
    break;
1475
1508
 
1476
 
  case 19:
1477
 
#line 138 "../../../src/interp/yacc.y"
 
1509
  case 20:
 
1510
#line 153 "../../../src/interp/yacc.y"
1478
1511
    {
 
1512
                        /* consumes $6 and $8 and $10 */
1479
1513
                        yyval = fathers_node(pactx, (PNODE)yyvsp[-10], (STRING)yyvsp[-8], (STRING)yyvsp[-6], (STRING)yyvsp[-4], (PNODE)yyvsp[-1]);
1480
1514
                        ((PNODE)yyval)->i_line = (INT)yyvsp[-12];
1481
1515
                }
1482
1516
    break;
1483
1517
 
1484
 
  case 20:
1485
 
#line 143 "../../../src/interp/yacc.y"
 
1518
  case 21:
 
1519
#line 159 "../../../src/interp/yacc.y"
1486
1520
    {
 
1521
                        /* consumes $6 and $8 and $10 */
1487
1522
                        yyval = mothers_node(pactx, (PNODE)yyvsp[-10], (STRING)yyvsp[-8], (STRING)yyvsp[-6], (STRING)yyvsp[-4], (PNODE)yyvsp[-1]);
1488
1523
                        ((PNODE)yyval)->i_line = (INT)yyvsp[-12];
1489
1524
                }
1490
1525
    break;
1491
1526
 
1492
 
  case 21:
1493
 
#line 148 "../../../src/interp/yacc.y"
 
1527
  case 22:
 
1528
#line 165 "../../../src/interp/yacc.y"
1494
1529
    {
 
1530
                        /* consumes $6 and $8 */
1495
1531
                        yyval = parents_node(pactx, (PNODE)yyvsp[-8], (STRING)yyvsp[-6], (STRING)yyvsp[-4], (PNODE)yyvsp[-1]);
1496
1532
                        ((PNODE)yyval)->i_line = (INT)yyvsp[-10];
1497
1533
                }
1498
1534
    break;
1499
1535
 
1500
 
  case 22:
1501
 
#line 153 "../../../src/interp/yacc.y"
 
1536
  case 23:
 
1537
#line 171 "../../../src/interp/yacc.y"
1502
1538
    {
 
1539
                        /* consumes $6 and $8 and $10 */
1503
1540
                        yyval = forindiset_node(pactx, (PNODE)yyvsp[-10], (STRING)yyvsp[-8], (STRING)yyvsp[-6], (STRING)yyvsp[-4], (PNODE)yyvsp[-1]);
1504
1541
                        ((PNODE)yyval)->i_line = (INT) yyvsp[-12];
1505
1542
                }
1506
1543
    break;
1507
1544
 
1508
 
  case 23:
1509
 
#line 158 "../../../src/interp/yacc.y"
 
1545
  case 24:
 
1546
#line 177 "../../../src/interp/yacc.y"
1510
1547
    {
 
1548
                        /* consumes $6 and $8 */
1511
1549
                        yyval = forlist_node(pactx, (PNODE)yyvsp[-8], (STRING)yyvsp[-6], (STRING)yyvsp[-4], (PNODE)yyvsp[-1]);
1512
1550
                        ((PNODE)yyval)->i_line = (INT) yyvsp[-10];
1513
1551
                }
1514
1552
    break;
1515
1553
 
1516
 
  case 24:
1517
 
#line 163 "../../../src/interp/yacc.y"
 
1554
  case 25:
 
1555
#line 183 "../../../src/interp/yacc.y"
1518
1556
    {
 
1557
                        /* consumes $4 and $6 */
1519
1558
                        yyval = forindi_node(pactx, (STRING)yyvsp[-6], (STRING)yyvsp[-4], (PNODE)yyvsp[-1]);
1520
1559
                        ((PNODE)yyval)->i_line = (INT) yyvsp[-8];
1521
1560
                }
1522
1561
    break;
1523
1562
 
1524
 
  case 25:
1525
 
#line 167 "../../../src/interp/yacc.y"
1526
 
    {
1527
 
                        yyval = fornotes_node(pactx, (PNODE)yyvsp[-6], (STRING)yyvsp[-4], (PNODE)yyvsp[-1]);
1528
 
                        ((PNODE)yyval)->i_line = (INT) yyvsp[-8];
1529
 
                }
1530
 
    break;
1531
 
 
1532
1563
  case 26:
1533
 
#line 171 "../../../src/interp/yacc.y"
1534
 
    {
 
1564
#line 189 "../../../src/interp/yacc.y"
 
1565
    {
 
1566
                        /* consumes $6 */
 
1567
                        yyval = fornotes_node(pactx, (PNODE)yyvsp[-6], (STRING)yyvsp[-4], (PNODE)yyvsp[-1]);
 
1568
                        ((PNODE)yyval)->i_line = (INT) yyvsp[-8];
 
1569
                }
 
1570
    break;
 
1571
 
 
1572
  case 27:
 
1573
#line 195 "../../../src/interp/yacc.y"
 
1574
    {
 
1575
                        /* consumes $4 and $6 */
1535
1576
                        yyval = forfam_node(pactx, (STRING)yyvsp[-6], (STRING)yyvsp[-4], (PNODE)yyvsp[-1]);
1536
1577
                        ((PNODE)yyval)->i_line = (INT) yyvsp[-8];
1537
1578
                }
1538
1579
    break;
1539
1580
 
1540
 
  case 27:
1541
 
#line 176 "../../../src/interp/yacc.y"
 
1581
  case 28:
 
1582
#line 201 "../../../src/interp/yacc.y"
1542
1583
    {
 
1584
                        /* consumes $4 and $6 */
1543
1585
                        yyval = forsour_node(pactx, (STRING)yyvsp[-6], (STRING)yyvsp[-4], (PNODE)yyvsp[-1]);
1544
1586
                        ((PNODE)yyval)->i_line = (INT) yyvsp[-8];
1545
1587
                }
1546
1588
    break;
1547
1589
 
1548
 
  case 28:
1549
 
#line 181 "../../../src/interp/yacc.y"
 
1590
  case 29:
 
1591
#line 207 "../../../src/interp/yacc.y"
1550
1592
    {
 
1593
                        /* consumes $4 and $6 */
1551
1594
                        yyval = foreven_node(pactx, (STRING)yyvsp[-6], (STRING)yyvsp[-4], (PNODE)yyvsp[-1]);
1552
1595
                        ((PNODE)yyval)->i_line = (INT) yyvsp[-8];
1553
1596
                }
1554
1597
    break;
1555
1598
 
1556
 
  case 29:
1557
 
#line 186 "../../../src/interp/yacc.y"
 
1599
  case 30:
 
1600
#line 213 "../../../src/interp/yacc.y"
1558
1601
    {
 
1602
                        /* consumes $4 and $6 */
1559
1603
                        yyval = forothr_node(pactx, (STRING)yyvsp[-6], (STRING)yyvsp[-4], (PNODE)yyvsp[-1]);
1560
1604
                        ((PNODE)yyval)->i_line = (INT) yyvsp[-8];
1561
1605
                }
1562
1606
    break;
1563
1607
 
1564
 
  case 30:
1565
 
#line 190 "../../../src/interp/yacc.y"
 
1608
  case 31:
 
1609
#line 218 "../../../src/interp/yacc.y"
1566
1610
    {
 
1611
                        /* consumes $6 */
1567
1612
                        yyval = traverse_node(pactx, (PNODE)yyvsp[-8], (STRING)yyvsp[-6], (STRING)yyvsp[-4], (PNODE)yyvsp[-1]);
1568
1613
                        ((PNODE)yyval)->i_line = (INT) yyvsp[-10];
1569
1614
                }
1570
1615
    break;
1571
1616
 
1572
 
  case 31:
1573
 
#line 194 "../../../src/interp/yacc.y"
 
1617
  case 32:
 
1618
#line 223 "../../../src/interp/yacc.y"
1574
1619
    {
 
1620
                        /* consumes $6 */
1575
1621
                        yyval = fornodes_node(pactx, (PNODE)yyvsp[-6], (STRING)yyvsp[-4], (PNODE)yyvsp[-1]);
1576
1622
                        ((PNODE)yyval)->i_line = (INT) yyvsp[-8];
1577
1623
                }
1578
1624
    break;
1579
1625
 
1580
 
  case 32:
1581
 
#line 198 "../../../src/interp/yacc.y"
 
1626
  case 33:
 
1627
#line 228 "../../../src/interp/yacc.y"
1582
1628
    {
1583
1629
                        inext(((PNODE)yyvsp[-7])) = (PNODE)yyvsp[-6];
1584
1630
                        prev = NULL;  this = (PNODE)yyvsp[-1];
1597
1643
                }
1598
1644
    break;
1599
1645
 
1600
 
  case 33:
1601
 
#line 214 "../../../src/interp/yacc.y"
 
1646
  case 34:
 
1647
#line 244 "../../../src/interp/yacc.y"
1602
1648
    {
1603
1649
                        inext(((PNODE)yyvsp[-5])) = (PNODE)yyvsp[-4];
1604
1650
                        yyval = while_node(pactx, (PNODE)yyvsp[-5], (PNODE)yyvsp[-1]);
1606
1652
                }
1607
1653
    break;
1608
1654
 
1609
 
  case 34:
1610
 
#line 219 "../../../src/interp/yacc.y"
 
1655
  case 35:
 
1656
#line 249 "../../../src/interp/yacc.y"
1611
1657
    {
 
1658
                        /* consumes $2 */
1612
1659
                        yyval = call_node(pactx, (STRING)yyvsp[-4], (PNODE)yyvsp[-1]);
1613
1660
                        ((PNODE)yyval)->i_line = (INT) yyvsp[-3];
1614
1661
                }
1615
1662
    break;
1616
1663
 
1617
 
  case 35:
1618
 
#line 223 "../../../src/interp/yacc.y"
 
1664
  case 36:
 
1665
#line 254 "../../../src/interp/yacc.y"
1619
1666
    {
1620
1667
                        yyval = break_node(pactx);
1621
1668
                        ((PNODE)yyval)->i_line = (INT) yyvsp[-2];
1622
1669
                }
1623
1670
    break;
1624
1671
 
1625
 
  case 36:
1626
 
#line 227 "../../../src/interp/yacc.y"
 
1672
  case 37:
 
1673
#line 258 "../../../src/interp/yacc.y"
1627
1674
    {
1628
1675
                        yyval = continue_node(pactx);
1629
1676
                        ((PNODE)yyval)->i_line = (INT) yyvsp[-2];
1630
1677
                }
1631
1678
    break;
1632
1679
 
1633
 
  case 37:
1634
 
#line 231 "../../../src/interp/yacc.y"
 
1680
  case 38:
 
1681
#line 262 "../../../src/interp/yacc.y"
1635
1682
    {
1636
1683
                        yyval = return_node(pactx, (PNODE)yyvsp[-1]);
1637
1684
                        ((PNODE)yyval)->i_line = (INT) yyvsp[-3];
1638
1685
                }
1639
1686
    break;
1640
1687
 
1641
 
  case 38:
1642
 
#line 235 "../../../src/interp/yacc.y"
1643
 
    {
1644
 
                        yyval = yyvsp[0];
1645
 
                }
1646
 
    break;
1647
 
 
1648
1688
  case 39:
1649
 
#line 239 "../../../src/interp/yacc.y"
 
1689
#line 266 "../../../src/interp/yacc.y"
1650
1690
    {
1651
 
                        yyval = 0;
 
1691
                        yyval = yyvsp[0];
1652
1692
                }
1653
1693
    break;
1654
1694
 
1655
1695
  case 40:
1656
 
#line 242 "../../../src/interp/yacc.y"
 
1696
#line 270 "../../../src/interp/yacc.y"
1657
1697
    {
1658
 
                        yyval = yyvsp[0];
 
1698
                        yyval = 0;
1659
1699
                }
1660
1700
    break;
1661
1701
 
1662
1702
  case 41:
1663
 
#line 246 "../../../src/interp/yacc.y"
 
1703
#line 273 "../../../src/interp/yacc.y"
1664
1704
    {
1665
1705
                        yyval = yyvsp[0];
1666
1706
                }
1667
1707
    break;
1668
1708
 
1669
1709
  case 42:
1670
 
#line 249 "../../../src/interp/yacc.y"
 
1710
#line 277 "../../../src/interp/yacc.y"
 
1711
    {
 
1712
                        yyval = yyvsp[0];
 
1713
                }
 
1714
    break;
 
1715
 
 
1716
  case 43:
 
1717
#line 280 "../../../src/interp/yacc.y"
1671
1718
    {
1672
1719
                        ielse((PNODE)yyvsp[-1]) = (VPTR)yyvsp[0];
1673
1720
                        yyval = yyvsp[-1];
1674
1721
                }
1675
1722
    break;
1676
1723
 
1677
 
  case 43:
1678
 
#line 254 "../../../src/interp/yacc.y"
 
1724
  case 44:
 
1725
#line 285 "../../../src/interp/yacc.y"
1679
1726
    {
1680
1727
                        inext(((PNODE)yyvsp[-5])) = (PNODE)yyvsp[-4];
1681
1728
                        yyval = if_node(pactx, (PNODE)yyvsp[-5], (PNODE)yyvsp[-1], (PNODE)NULL);
1682
1729
                }
1683
1730
    break;
1684
1731
 
1685
 
  case 44:
1686
 
#line 259 "../../../src/interp/yacc.y"
1687
 
    {
1688
 
                        yyval = 0;
1689
 
                }
1690
 
    break;
1691
 
 
1692
1732
  case 45:
1693
 
#line 262 "../../../src/interp/yacc.y"
 
1733
#line 290 "../../../src/interp/yacc.y"
1694
1734
    {
1695
 
                        yyval = yyvsp[-1];
 
1735
                        yyval = 0;
1696
1736
                }
1697
1737
    break;
1698
1738
 
1699
1739
  case 46:
1700
 
#line 266 "../../../src/interp/yacc.y"
1701
 
    {
 
1740
#line 293 "../../../src/interp/yacc.y"
 
1741
    {
 
1742
                        yyval = yyvsp[-1];
 
1743
                }
 
1744
    break;
 
1745
 
 
1746
  case 47:
 
1747
#line 297 "../../../src/interp/yacc.y"
 
1748
    {
 
1749
                        /* consumes $1 */
1702
1750
                        yyval = iden_node(pactx, (STRING)yyvsp[0]);
1703
1751
                        iargs(((PNODE)yyval)) = NULL;
1704
1752
                }
1705
1753
    break;
1706
1754
 
1707
 
  case 47:
1708
 
#line 270 "../../../src/interp/yacc.y"
 
1755
  case 48:
 
1756
#line 302 "../../../src/interp/yacc.y"
1709
1757
    {
 
1758
                        /* consumes $1 */
1710
1759
                        yyval = func_node(pactx, (STRING)yyvsp[-4], (PNODE)yyvsp[-1]);
1711
1760
                        ((PNODE)yyval)->i_line = (INT)yyvsp[-3];
1712
1761
                }
1713
1762
    break;
1714
1763
 
1715
 
  case 48:
1716
 
#line 274 "../../../src/interp/yacc.y"
1717
 
    {
1718
 
                        yyval = yyvsp[0];
1719
 
                }
1720
 
    break;
1721
 
 
1722
1764
  case 49:
1723
 
#line 277 "../../../src/interp/yacc.y"
 
1765
#line 307 "../../../src/interp/yacc.y"
 
1766
    {
 
1767
                        yyval = yyvsp[0];
 
1768
                }
 
1769
    break;
 
1770
 
 
1771
  case 50:
 
1772
#line 310 "../../../src/interp/yacc.y"
1724
1773
    {
1725
1774
                        yyval = icons_node(pactx, Yival);
1726
1775
                }
1727
1776
    break;
1728
1777
 
1729
 
  case 50:
1730
 
#line 280 "../../../src/interp/yacc.y"
 
1778
  case 51:
 
1779
#line 313 "../../../src/interp/yacc.y"
1731
1780
    {
1732
1781
                        yyval = fcons_node(pactx, Yfval);
1733
1782
                }
1734
1783
    break;
1735
1784
 
1736
 
  case 51:
1737
 
#line 284 "../../../src/interp/yacc.y"
1738
 
    {
1739
 
                        yyval = 0;
1740
 
                }
1741
 
    break;
1742
 
 
1743
1785
  case 52:
1744
 
#line 287 "../../../src/interp/yacc.y"
 
1786
#line 317 "../../../src/interp/yacc.y"
1745
1787
    {
1746
 
                        yyval = yyvsp[0];
 
1788
                        yyval = 0;
1747
1789
                }
1748
1790
    break;
1749
1791
 
1750
1792
  case 53:
1751
 
#line 291 "../../../src/interp/yacc.y"
 
1793
#line 320 "../../../src/interp/yacc.y"
1752
1794
    {
1753
1795
                        yyval = yyvsp[0];
1754
1796
                }
1755
1797
    break;
1756
1798
 
1757
1799
  case 54:
1758
 
#line 294 "../../../src/interp/yacc.y"
 
1800
#line 324 "../../../src/interp/yacc.y"
 
1801
    {
 
1802
                        yyval = yyvsp[0];
 
1803
                }
 
1804
    break;
 
1805
 
 
1806
  case 55:
 
1807
#line 327 "../../../src/interp/yacc.y"
1759
1808
    {
1760
1809
                        inext(((PNODE)yyvsp[-2])) = (PNODE) yyvsp[0];
1761
1810
                        yyval = yyvsp[-2];
1762
1811
                }
1763
1812
    break;
1764
1813
 
1765
 
  case 55:
1766
 
#line 299 "../../../src/interp/yacc.y"
1767
 
    {
1768
 
                        yyval = 0;
1769
 
                }
1770
 
    break;
1771
 
 
1772
1814
  case 56:
1773
 
#line 302 "../../../src/interp/yacc.y"
 
1815
#line 332 "../../../src/interp/yacc.y"
1774
1816
    {
1775
 
                        yyval = yyvsp[0];
 
1817
                        yyval = 0;
1776
1818
                }
1777
1819
    break;
1778
1820
 
1779
1821
  case 57:
1780
 
#line 306 "../../../src/interp/yacc.y"
 
1822
#line 335 "../../../src/interp/yacc.y"
 
1823
    {
 
1824
                        yyval = yyvsp[0];
 
1825
                }
 
1826
    break;
 
1827
 
 
1828
  case 58:
 
1829
#line 339 "../../../src/interp/yacc.y"
1781
1830
    {
1782
1831
                        yyval = (YYSTYPE)((PACTX)pactx)->lineno;
1783
1832
                }
1786
1835
 
1787
1836
    }
1788
1837
 
1789
 
/* Line 999 of yacc.c.  */
1790
 
#line 1791 "yacc.c"
 
1838
/* Line 1010 of yacc.c.  */
 
1839
#line 1840 "yacc.c"
1791
1840
 
1792
1841
  yyvsp -= yylen;
1793
1842
  yyssp -= yylen;
1890
1939
      /* If just tried and failed to reuse lookahead token after an
1891
1940
         error, discard it.  */
1892
1941
 
1893
 
      /* Return failure if at end of input.  */
1894
 
      if (yychar == YYEOF)
 
1942
      if (yychar <= YYEOF)
1895
1943
        {
1896
 
          /* Pop the error token.  */
1897
 
          YYPOPSTACK;
1898
 
          /* Pop the rest of the stack.  */
1899
 
          while (yyss < yyssp)
1900
 
            {
1901
 
              YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
1902
 
              yydestruct (yystos[*yyssp], yyvsp);
1903
 
              YYPOPSTACK;
1904
 
            }
1905
 
          YYABORT;
 
1944
          /* If at end of input, pop the error token,
 
1945
             then the rest of the stack, then return failure.  */
 
1946
          if (yychar == YYEOF)
 
1947
             for (;;)
 
1948
               {
 
1949
                 YYPOPSTACK;
 
1950
                 if (yyssp == yyss)
 
1951
                   YYABORT;
 
1952
                 YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
 
1953
                 yydestruct (yystos[*yyssp], yyvsp);
 
1954
               }
1906
1955
        }
1907
 
 
1908
 
      YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
1909
 
      yydestruct (yytoken, &yylval);
1910
 
      yychar = YYEMPTY;
1911
 
 
 
1956
      else
 
1957
        {
 
1958
          YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
 
1959
          yydestruct (yytoken, &yylval);
 
1960
          yychar = YYEMPTY;
 
1961
 
 
1962
        }
1912
1963
    }
1913
1964
 
1914
1965
  /* Else will try to reuse lookahead token after shifting the error
1916
1967
  goto yyerrlab1;
1917
1968
 
1918
1969
 
1919
 
/*----------------------------------------------------.
1920
 
| yyerrlab1 -- error raised explicitly by an action.  |
1921
 
`----------------------------------------------------*/
 
1970
/*---------------------------------------------------.
 
1971
| yyerrorlab -- error raised explicitly by YYERROR.  |
 
1972
`---------------------------------------------------*/
 
1973
yyerrorlab:
 
1974
 
 
1975
#ifdef __GNUC__
 
1976
  /* Pacify GCC when the user code never invokes YYERROR and the label
 
1977
     yyerrorlab therefore never appears in user code.  */
 
1978
  if (0)
 
1979
     goto yyerrorlab;
 
1980
#endif
 
1981
 
 
1982
  yyvsp -= yylen;
 
1983
  yyssp -= yylen;
 
1984
  yystate = *yyssp;
 
1985
  goto yyerrlab1;
 
1986
 
 
1987
 
 
1988
/*-------------------------------------------------------------.
 
1989
| yyerrlab1 -- common code for both syntax error and YYERROR.  |
 
1990
`-------------------------------------------------------------*/
1922
1991
yyerrlab1:
1923
1992
  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
1924
1993
 
1942
2011
 
1943
2012
      YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
1944
2013
      yydestruct (yystos[yystate], yyvsp);
1945
 
      yyvsp--;
1946
 
      yystate = *--yyssp;
1947
 
 
 
2014
      YYPOPSTACK;
 
2015
      yystate = *yyssp;
1948
2016
      YY_STACK_PRINT (yyss, yyssp);
1949
2017
    }
1950
2018
 
1993
2061
}
1994
2062
 
1995
2063
 
1996
 
#line 310 "../../../src/interp/yacc.y"
 
2064
#line 343 "../../../src/interp/yacc.y"
1997
2065
 
1998
2066
 
1999
2067
void