~vcs-imports/gawk/master

« back to all changes in this revision

Viewing changes to awktab.c

  • Committer: Arnold D. Robbins
  • Date: 2010-07-16 09:27:41 UTC
  • Revision ID: git-v1:61bb57af53ebe916d2db6e3585d4fc7ac1d99b92
Tags: gawk-2.15.3
Move to gawk-2.15.3.

Show diffs side-by-side

added added

removed removed

Lines of Context:
132
132
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
133
133
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
134
134
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
135
 
     2,     2,    49,     2,     2,    52,    48,     2,     2,    53,
136
 
    54,    46,    44,    60,    45,     2,    47,     2,     2,     2,
137
 
     2,     2,     2,     2,     2,     2,     2,    40,    59,    41,
138
 
     2,    42,    39,     2,     2,     2,     2,     2,     2,     2,
139
 
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
140
 
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
141
 
    55,     2,    56,    51,     2,     2,     2,     2,     2,     2,
142
 
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
143
 
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
144
 
     2,     2,    57,    43,    58,     2,     2,     2,     2,     2,
 
135
     2,     2,    50,     2,     2,    53,    49,     2,     2,    54,
 
136
    55,    47,    45,    41,    46,     2,    48,     2,     2,     2,
 
137
     2,     2,     2,     2,     2,     2,     2,    40,    60,    42,
 
138
     2,    43,    39,     2,     2,     2,     2,     2,     2,     2,
 
139
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
140
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
141
    56,     2,    57,    52,     2,     2,     2,     2,     2,     2,
 
142
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
143
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
144
     2,     2,    58,    44,    59,     2,     2,     2,     2,     2,
145
145
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
146
146
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
147
147
     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
158
158
     6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
159
159
    16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
160
160
    26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
161
 
    36,    37,    38,    50
 
161
    36,    37,    38,    51
162
162
};
163
163
 
164
164
#if YYDEBUG != 0
189
189
    65,    74,     0,    15,    76,     0,    16,    76,     0,    71,
190
190
    74,     0,    74,     0,    71,    76,     0,    68,    70,     0,
191
191
     4,     0,     3,     0,    67,     0,    37,     0,    38,     0,
192
 
     0,    30,    69,    66,    53,    85,   102,    82,     0,   100,
193
 
    75,   101,   103,     0,    92,     0,    92,   105,    92,     0,
194
 
     0,    47,    73,     5,    47,     0,   100,    75,   101,   103,
 
192
     0,    30,    69,    66,    54,    85,   102,    82,     0,   100,
 
193
    75,   101,   103,     0,    92,     0,    92,    41,    92,     0,
 
194
     0,    48,    73,     5,    48,     0,   100,    75,   101,   103,
195
195
    82,     0,   100,   101,   103,    82,     0,    77,     0,    75,
196
196
    77,     0,     1,     0,    75,     1,     0,    81,     0,   104,
197
197
    82,     0,   104,    82,     0,   100,   101,     0,   100,    75,
198
 
   101,     0,    80,     0,    21,    53,    92,   102,    82,    77,
199
 
     0,    22,    82,    77,    21,    53,    92,   102,    82,     0,
200
 
    23,    53,     4,    32,     4,   102,    82,    77,     0,    23,
201
 
    53,    87,   104,    92,   104,    87,   102,    82,    77,     0,
202
 
    23,    53,    87,   104,   104,    87,   102,    82,    77,     0,
203
 
    24,    76,     0,    25,    76,     0,    79,    53,    91,   102,
 
198
   101,     0,    80,     0,    21,    54,    92,   102,    82,    77,
 
199
     0,    22,    82,    77,    21,    54,    92,   102,    82,     0,
 
200
    23,    54,     4,    32,     4,   102,    82,    77,     0,    23,
 
201
    54,    87,   104,    92,   104,    87,   102,    82,    77,     0,
 
202
    23,    54,    87,   104,   104,    87,   102,    82,    77,     0,
 
203
    24,    76,     0,    25,    76,     0,    79,    54,    91,   102,
204
204
    84,    76,     0,    79,    88,    84,    76,     0,    28,    87,
205
205
    76,     0,    29,    87,    76,     0,     0,    19,    78,    87,
206
 
    76,     0,    20,     4,    55,    91,    56,    76,     0,    92,
207
 
    76,     0,    26,     0,    27,     0,    17,    53,    92,   102,
208
 
    82,    77,     0,    17,    53,    92,   102,    82,    77,    18,
 
206
    76,     0,    20,     4,    56,    91,    57,    76,     0,    92,
 
207
    76,     0,    26,     0,    27,     0,    17,    54,    92,   102,
 
208
    82,    77,     0,    17,    54,    92,   102,    82,    77,    18,
209
209
    82,    77,     0,    13,     0,    81,    13,     0,     0,    81,
210
 
     0,     0,    41,    96,     0,     0,    42,    92,     0,    10,
211
 
    92,     0,    43,    92,     0,     0,    86,     0,     4,     0,
 
210
     0,     0,    42,    96,     0,     0,    43,    92,     0,    10,
 
211
    92,     0,    44,    92,     0,     0,    86,     0,     4,     0,
212
212
    86,   105,     4,     0,     1,     0,    86,     1,     0,    86,
213
213
   105,     1,     0,     0,    92,     0,     0,    89,     0,    94,
214
214
     0,    89,   105,    94,     0,     1,     0,    89,     1,     0,
215
215
    89,     1,    94,     0,    89,   105,     1,     0,     0,    91,
216
216
     0,    92,     0,    91,   105,    92,     0,     1,     0,    91,
217
217
     1,     0,    91,     1,    92,     0,    91,   105,     1,     0,
218
 
     0,    99,    11,    93,    92,     0,    53,    91,   102,    32,
219
 
     4,     0,    92,    43,    31,    98,     0,    31,    98,    83,
 
218
     0,    99,    11,    93,    92,     0,    54,    91,   102,    32,
 
219
     4,     0,    92,    44,    31,    98,     0,    31,    98,    83,
220
220
     0,    92,    33,    92,     0,    92,    34,    92,     0,    92,
221
 
    12,    92,     0,    72,     0,    49,    72,     0,    92,    32,
222
 
     4,     0,    92,     9,    92,     0,    92,    41,    92,     0,
223
 
    92,    42,    92,     0,    92,    39,    92,    40,    92,     0,
 
221
    12,    92,     0,    72,     0,    50,    72,     0,    92,    32,
 
222
     4,     0,    92,     9,    92,     0,    92,    42,    92,     0,
 
223
    92,    43,    92,     0,    92,    39,    92,    40,    92,     0,
224
224
    96,     0,    92,    96,     0,     0,    99,    11,    95,    94,
225
225
     0,    94,    33,    94,     0,    94,    34,    94,     0,    31,
226
 
    98,    83,     0,    72,     0,    49,    72,     0,    94,    12,
 
226
    98,    83,     0,    72,     0,    50,    72,     0,    94,    12,
227
227
    94,     0,    94,    32,     4,     0,    94,     9,    94,     0,
228
228
    94,    39,    94,    40,    94,     0,    96,     0,    94,    96,
229
 
     0,    97,     0,    96,    51,    96,     0,    96,    46,    96,
230
 
     0,    96,    47,    96,     0,    96,    48,    96,     0,    96,
231
 
    44,    96,     0,    96,    45,    96,     0,    99,    35,     0,
232
 
    99,    36,     0,    49,    96,     0,    53,    92,   102,     0,
233
 
    37,    53,    90,   102,     0,    38,    53,    90,   102,     0,
234
 
    38,     0,     3,    53,    90,   102,     0,    99,     0,    35,
235
 
    99,     0,    36,    99,     0,     7,     0,     8,     0,    45,
236
 
    96,     0,    44,    96,     0,     0,    99,     0,     4,     0,
237
 
     4,    55,    91,    56,     0,    52,    97,     0,    57,    82,
238
 
     0,    58,    82,     0,    54,     0,     0,   104,     0,    59,
239
 
     0,    60,    82,     0
 
229
     0,    97,     0,    96,    52,    96,     0,    96,    47,    96,
 
230
     0,    96,    48,    96,     0,    96,    49,    96,     0,    96,
 
231
    45,    96,     0,    96,    46,    96,     0,    99,    35,     0,
 
232
    99,    36,     0,    50,    96,     0,    54,    92,   102,     0,
 
233
    37,    54,    90,   102,     0,    38,    54,    90,   102,     0,
 
234
    38,     0,     3,    54,    90,   102,     0,    99,     0,    35,
 
235
    99,     0,    36,    99,     0,     7,     0,     8,     0,    46,
 
236
    96,     0,    45,    96,     0,     0,    99,     0,     4,     0,
 
237
     4,    56,    91,    57,     0,    53,    97,     0,    58,    82,
 
238
     0,    59,    82,     0,    55,     0,     0,   104,     0,    60,
 
239
     0,    41,    82,     0
240
240
};
241
241
 
242
242
#if YYDEBUG != 0
243
243
static const short yyrline[] = { 0,
244
 
   133,   138,   146,   162,   163,   167,   169,   183,   185,   199,
245
 
   205,   211,   213,   215,   228,   237,   239,   241,   251,   252,
246
 
   256,   260,   268,   277,   279,   288,   290,   308,   310,   315,
247
 
   317,   325,   327,   332,   333,   337,   339,   341,   343,   345,
248
 
   347,   349,   354,   358,   363,   366,   369,   371,   382,   400,
249
 
   402,   404,   406,   408,   413,   415,   420,   425,   432,   434,
250
 
   438,   439,   443,   445,   450,   452,   454,   456,   461,   463,
251
 
   468,   470,   472,   474,   476,   482,   484,   489,   491,   496,
252
 
   498,   504,   506,   508,   510,   515,   517,   522,   524,   530,
253
 
   532,   534,   536,   541,   544,   549,   551,   556,   562,   564,
254
 
   566,   572,   574,   582,   584,   590,   592,   594,   596,   598,
255
 
   603,   606,   607,   609,   611,   617,   619,   621,   623,   625,
256
 
   627,   629,   631,   636,   638,   640,   642,   644,   646,   648,
257
 
   650,   652,   657,   659,   661,   664,   666,   674,   678,   679,
258
 
   681,   683,   685,   688,   695,   700,   702,   707,   709,   717,
259
 
   722,   726,   730,   734,   735,   739,   742
 
244
   134,   139,   147,   163,   164,   168,   170,   184,   186,   200,
 
245
   206,   212,   214,   216,   229,   238,   240,   242,   252,   253,
 
246
   257,   261,   269,   278,   280,   289,   291,   309,   311,   316,
 
247
   318,   326,   328,   333,   334,   338,   340,   342,   344,   346,
 
248
   348,   350,   355,   359,   364,   367,   370,   372,   383,   401,
 
249
   403,   405,   407,   409,   414,   416,   421,   426,   433,   435,
 
250
   439,   440,   444,   446,   451,   453,   455,   457,   462,   464,
 
251
   469,   471,   473,   475,   477,   483,   485,   490,   492,   497,
 
252
   499,   505,   507,   509,   511,   516,   518,   523,   525,   531,
 
253
   533,   535,   537,   542,   545,   550,   552,   557,   563,   565,
 
254
   567,   573,   575,   583,   585,   591,   593,   595,   597,   599,
 
255
   604,   607,   608,   610,   612,   618,   620,   622,   624,   626,
 
256
   628,   630,   632,   637,   639,   641,   643,   645,   647,   649,
 
257
   651,   653,   658,   660,   662,   665,   667,   675,   679,   680,
 
258
   682,   684,   686,   689,   696,   701,   703,   708,   710,   718,
 
259
   723,   727,   731,   735,   736,   740,   743
260
260
};
261
261
 
262
262
static const char * const yytname[] = {   "$","error","$illegal.","FUNC_CALL",
264
264
"NEWLINE","CONCAT_OP","LEX_BEGIN","LEX_END","LEX_IF","LEX_ELSE","LEX_RETURN",
265
265
"LEX_DELETE","LEX_WHILE","LEX_DO","LEX_FOR","LEX_BREAK","LEX_CONTINUE","LEX_PRINT",
266
266
"LEX_PRINTF","LEX_NEXT","LEX_EXIT","LEX_FUNCTION","LEX_GETLINE","LEX_IN","LEX_AND",
267
 
"LEX_OR","INCREMENT","DECREMENT","LEX_BUILTIN","LEX_LENGTH","'?'","':'","'<'",
268
 
"'>'","'|'","'+'","'-'","'*'","'/'","'%'","'!'","UNARY","'^'","'$'","'('","')'",
269
 
"'['","']'","'{'","'}'","';'","','","start","program","rule","@1","@2","func_name",
 
267
"LEX_OR","INCREMENT","DECREMENT","LEX_BUILTIN","LEX_LENGTH","'?'","':'","','",
 
268
"'<'","'>'","'|'","'+'","'-'","'*'","'/'","'%'","'!'","UNARY","'^'","'$'","'('",
 
269
"')'","'['","']'","'{'","'}'","';'","start","program","rule","@1","@2","func_name",
270
270
"lex_builtin","function_prologue","@3","function_body","pattern","regexp","@4",
271
271
"action","statements","statement_term","statement","@5","print","if_statement",
272
272
"nls","opt_nls","input_redir","output_redir","opt_param_list","param_list","opt_exp",
323
323
     0,     0,     0,   145,   139,   144,     0,   103,   133,   150,
324
324
   139,    90,     0,    88,   151,     5,     3,     1,    15,     0,
325
325
    12,    14,     0,     0,     0,     0,     0,     0,     0,     0,
326
 
     0,    61,   110,     0,     0,     0,     0,     0,     0,     0,
327
 
    94,   131,   132,    32,     0,    51,     0,     0,    61,     0,
328
 
     0,     0,    55,    56,    76,    76,    61,     0,    30,     0,
329
 
    39,     0,     0,   154,    61,     0,     0,    88,     0,     7,
330
 
    35,     9,    17,    16,    19,    20,     0,    18,     0,    98,
331
 
     0,     0,     0,     0,    91,   153,     0,     0,   134,     0,
332
 
   105,   101,   104,    99,   100,     0,   106,   107,   146,   157,
333
 
    25,   129,   130,   126,   127,   128,   125,     0,     0,    76,
334
 
     0,     0,     0,    76,    45,    46,     0,    77,     0,   152,
335
 
    33,    31,   154,    82,   146,     0,     0,   116,    65,     0,
336
 
    80,   122,   139,    54,     0,    37,    61,   155,    36,   138,
337
 
   149,     0,    64,   135,   136,    27,    92,     0,    93,    89,
 
326
     0,     0,   110,     0,     0,     0,     0,     0,     0,    94,
 
327
   131,   132,    32,     0,    51,     0,     0,    61,     0,     0,
 
328
     0,    55,    56,    76,    76,    61,     0,    30,     0,    39,
 
329
     0,     0,   154,    61,     0,     0,    88,     0,     7,    35,
 
330
     9,    17,    16,    19,    20,     0,    18,     0,    98,     0,
 
331
     0,     0,     0,    91,    61,   153,     0,     0,   134,     0,
 
332
   105,   101,   104,    99,   100,     0,    25,   106,   107,   146,
 
333
   129,   130,   126,   127,   128,   125,     0,     0,    76,     0,
 
334
     0,     0,    76,    45,    46,     0,    77,     0,   152,    33,
 
335
    31,   154,    82,   146,     0,     0,   116,    65,     0,    80,
 
336
   122,   139,    54,     0,    37,    61,   155,    36,   138,   149,
 
337
     0,    64,   135,   136,    27,    92,   157,     0,    93,    89,
338
338
   154,     0,    97,    95,     0,     0,     0,     0,     0,   148,
339
339
     0,    49,    50,    61,    63,   117,     0,     0,     0,     0,
340
340
     0,    83,     0,     0,     0,     0,     0,     0,     0,   123,
349
349
};
350
350
 
351
351
static const short yydefgoto[] = {   304,
352
 
    25,    26,    39,    43,   127,   128,    27,    45,    69,    28,
353
 
    29,    57,    30,   108,    40,   109,   160,   110,   111,     2,
354
 
     3,   130,   221,   236,   237,   167,   179,   180,   116,   117,
355
 
   112,   158,   181,   264,    32,    33,    46,    34,   113,   114,
356
 
   139,   187,   115,   138
 
352
    25,    26,    39,    43,   126,   127,    27,    45,    69,    28,
 
353
    29,    57,    30,   107,    40,   108,   159,   109,   110,     2,
 
354
     3,   129,   221,   236,   237,   166,   178,   179,   115,   116,
 
355
   111,   157,   180,   264,    32,    33,    46,    34,   112,   113,
 
356
   139,   186,   114,   138
357
357
};
358
358
 
359
 
static const short yypact[] = {    -6,
360
 
-32768,     8,  1094,-32768,-32768,   -26,   -11,-32768,-32768,    -1,
361
 
    -1,-32768,     1,     1,     1,    16,    31,  1738,  1738,-32768,
362
 
  1691,  1738,  1186,    -6,   890,-32768,    -5,    -2,-32768,-32768,
363
 
   836,    69,-32768,    83,   612,  1166,  1186,-32768,    -5,-32768,
364
 
     8,    -6,    -5,-32768,   101,    20,-32768,-32768,-32768,  1166,
365
 
  1166,  1738,  1606,    36,     2,    36,    62,-32768,    36,-32768,
366
 
-32768,-32768,     5,  1299,-32768,-32768,-32768,-32768,-32768,   726,
367
 
-32768,-32768,  1606,  1606,    93,  1606,  1606,  1606,  1606,  1606,
368
 
    70,    -6,    69,  1606,  1738,  1738,  1738,  1738,  1738,  1738,
369
 
-32768,-32768,-32768,-32768,    54,-32768,   105,    58,    -6,    68,
370
 
    -1,    -1,-32768,-32768,  1606,  1606,    -6,   679,-32768,   783,
371
 
-32768,   994,   612,    78,    -6,    86,    18,  1398,    23,-32768,
372
 
-32768,-32768,-32768,-32768,-32768,-32768,    90,-32768,  1738,-32768,
373
 
    86,    86,  1299,    97,  1606,-32768,   104,  1233,-32768,   679,
374
 
  1373,  1753,-32768,  1506,  1445,  1351,  1373,  1373,     1,-32768,
375
 
  1398,   130,   130,    36,    36,    36,    36,  1606,  1606,  1606,
376
 
    92,  1606,   937,  1625,-32768,-32768,    -1,  1398,    -1,-32768,
377
 
-32768,-32768,    78,-32768,     1,  1691,  1186,-32768,     0,     3,
378
 
  1528,    69,    89,-32768,   679,-32768,    -6,-32768,-32768,-32768,
379
 
-32768,    14,    69,-32768,-32768,-32768,  1398,   144,-32768,  1398,
380
 
    78,  1606,-32768,  1398,  1299,    -1,  1186,  1299,   131,   -15,
381
 
    78,-32768,-32768,    -6,    20,-32768,     5,  1606,  1606,  1606,
382
 
    -1,  1672,  1252,  1672,  1672,   147,  1672,  1672,  1672,    69,
383
 
-32768,-32768,-32768,-32768,-32768,    86,    28,-32768,-32768,  1398,
384
 
    -6,-32768,    29,    -6,   100,   150,  1119,-32768,-32768,     0,
385
 
  1398,  1398,  1398,-32768,  1528,-32768,  1528,   802,  1013,-32768,
386
 
  1586,  1567,  1467,  1672,    -6,-32768,    35,   937,    -1,   937,
387
 
  1606,    86,  1047,  1606,    -1,  1672,  1528,-32768,-32768,-32768,
388
 
   140,-32768,-32768,  1299,    -6,  1606,    86,-32768,  1528,    -6,
389
 
    -6,   937,    86,    -6,   937,-32768,-32768,    -6,   937,-32768,
390
 
   937,-32768,-32768,   160,   172,-32768
 
359
static const short yypact[] = {     6,
 
360
-32768,    10,   944,-32768,-32768,   -26,   -25,-32768,-32768,    29,
 
361
    29,-32768,     4,     4,     4,   -16,   -14,  1615,  1615,-32768,
 
362
  1609,  1615,  1024,     6,   790,-32768,    50,    -2,-32768,-32768,
 
363
  1193,    75,-32768,     1,   633,   969,  1024,-32768,    50,-32768,
 
364
    10,     6,    50,-32768,   100,    22,-32768,-32768,-32768,   969,
 
365
   969,  1615,  1405,     3,    55,     3,    87,-32768,     3,-32768,
 
366
-32768,-32768,    13,  1140,-32768,-32768,-32768,-32768,-32768,   729,
 
367
-32768,-32768,  1405,  1405,   105,  1405,  1405,  1405,  1405,  1405,
 
368
  1405,    83,    75,  1615,  1615,  1615,  1615,  1615,  1615,-32768,
 
369
-32768,-32768,-32768,    65,-32768,   125,    78,     6,    85,    29,
 
370
    29,-32768,-32768,  1405,  1405,     6,   681,-32768,   432,-32768,
 
371
   896,   633,    76,     6,    95,    25,  1289,     5,-32768,-32768,
 
372
-32768,-32768,-32768,-32768,-32768,    97,-32768,  1615,-32768,    95,
 
373
    95,  1140,   111,  1405,     6,-32768,   121,  1044,-32768,   681,
 
374
  1676,  1663,-32768,  1425,  1337,  1241,  1289,  1676,  1676,     4,
 
375
    96,    96,     3,     3,     3,     3,  1405,  1405,  1405,   116,
 
376
  1405,   838,  1533,-32768,-32768,    29,  1289,    29,-32768,-32768,
 
377
-32768,    76,-32768,     4,  1609,  1024,-32768,   103,     0,  1473,
 
378
    75,    71,-32768,   681,-32768,     6,-32768,-32768,-32768,-32768,
 
379
    26,    75,-32768,-32768,-32768,  1289,-32768,   171,-32768,  1289,
 
380
    76,  1405,-32768,  1289,  1140,    29,  1024,  1140,   156,   -17,
 
381
    76,-32768,-32768,     6,    22,-32768,    13,  1405,  1405,  1405,
 
382
    29,  1589,  1092,  1589,  1589,   174,  1589,  1589,  1589,    75,
 
383
-32768,-32768,-32768,-32768,-32768,    95,    31,-32768,-32768,  1289,
 
384
     6,-32768,     8,     6,   126,   177,    80,-32768,-32768,   103,
 
385
  1289,  1289,  1289,-32768,  1473,-32768,  1473,   908,   764,-32768,
 
386
  1553,  1513,  1385,  1589,     6,-32768,    20,   838,    29,   838,
 
387
  1405,    95,   511,  1405,    29,  1589,  1473,-32768,-32768,-32768,
 
388
   167,-32768,-32768,  1140,     6,  1405,    95,-32768,  1473,     6,
 
389
     6,   838,    95,     6,   838,-32768,-32768,     6,   838,-32768,
 
390
   838,-32768,-32768,   187,   197,-32768
391
391
};
392
392
 
393
393
static const short yypgoto[] = {-32768,
394
 
-32768,   148,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
395
 
    91,-32768,   106,   -47,    82,   -99,-32768,-32768,-32768,    21,
396
 
   155,   -40,   -65,-32768,-32768,  -104,-32768,-32768,    76,    -9,
397
 
    -3,-32768,    11,-32768,   325,   164,  -124,    77,   103,  -105,
398
 
   247,  -147,   406,   -30
 
394
-32768,   173,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
 
395
    -4,-32768,    57,   -45,    82,   229,-32768,-32768,-32768,    41,
 
396
    70,   -13,   -49,-32768,-32768,  -100,-32768,-32768,    48,   -19,
 
397
    -3,-32768,   -33,-32768,   362,   181,  -121,   148,   274,  -105,
 
398
    34,  -156,   330,  -176
399
399
};
400
400
 
401
401
 
402
 
#define YYLAST          1806
 
402
#define YYLAST          1730
403
403
 
404
404
 
405
405
static const short yytable[] = {    31,
406
 
    84,   169,   173,   222,     7,   135,     1,   186,   172,   218,
407
 
     1,     1,   -79,    63,   234,   -79,   246,   235,   135,    64,
408
 
     4,    31,   140,   135,   203,   214,    36,   119,   266,   135,
409
 
    41,    41,   118,   118,   201,   279,    92,    93,   280,    37,
410
 
   172,   219,   220,    37,   -79,   -79,   118,   118,    41,   133,
411
 
   215,    24,    22,   239,    24,   206,    38,    38,   136,   211,
412
 
   129,   -79,    82,   209,    82,   185,   134,   -69,    50,   141,
413
 
   142,   -87,   144,   145,   146,   147,   148,    82,   191,   232,
414
 
   151,   -70,    82,    51,   269,   172,    90,    82,    82,    47,
415
 
    48,    49,    44,    91,    55,    55,   143,    55,    61,   231,
416
 
   149,   168,   168,   123,   124,    35,   159,    55,   161,    72,
417
 
   162,    58,    85,    86,    87,    88,    89,    92,    93,    90,
418
 
   164,    41,    41,    92,    93,   131,   132,    35,    55,    70,
419
 
    35,   197,    41,    71,   200,   198,    38,   125,   126,   136,
420
 
    55,    35,   192,   196,   120,    35,   207,   238,   122,   223,
421
 
   260,   245,   271,   272,   204,   205,   168,   290,   208,   305,
422
 
   168,    55,    55,    55,    55,    55,    55,   217,   281,   287,
423
 
   283,   306,    67,    64,   249,    87,    88,    89,    65,    68,
424
 
    90,   293,   165,   166,   275,    60,   183,    41,    55,    41,
425
 
     0,     0,   297,   184,    55,   300,   121,   243,   240,   302,
426
 
   178,   303,     0,   118,     0,    55,   267,     0,     0,    55,
427
 
     0,     0,     0,     0,   251,   252,   253,    55,    55,     0,
428
 
    55,    55,    55,    55,    55,    47,    41,    55,     0,     0,
429
 
     0,     0,   255,   257,   258,   259,   150,   261,   262,   263,
430
 
     0,    41,     0,   273,    55,     0,     0,     0,   212,     0,
431
 
   213,    47,    55,   163,     0,     0,     0,    55,     0,     0,
432
 
     0,   170,     0,     0,     0,     0,   216,   284,     0,   189,
433
 
   168,     0,     0,    55,   277,     0,    55,     0,     0,     0,
434
 
    55,    55,   168,     0,    55,     0,   289,   242,     0,    41,
435
 
     0,     0,     0,     0,     0,    41,     0,     0,   183,   183,
436
 
   183,   183,   254,   183,   183,   183,     0,     0,     0,   137,
437
 
     0,     0,   178,   178,   178,   178,    55,   178,   178,   178,
438
 
     0,     0,     0,     0,     0,     0,     0,    55,    55,    55,
439
 
     0,    55,     0,    55,    55,    55,     0,    55,    55,    55,
440
 
   183,   233,    54,    56,     0,    59,     0,     0,     0,    55,
441
 
   282,     0,   183,    55,   178,    83,   288,     0,     0,     0,
442
 
    55,     0,   190,     0,     0,    55,   178,     0,   248,     0,
443
 
     0,     0,     0,     0,     0,     0,    59,   194,   195,     0,
444
 
     0,     0,     0,     0,     0,     0,     0,     0,    83,     0,
445
 
     0,     0,     0,     0,     0,   268,     0,     0,   270,     0,
446
 
     0,     0,     0,     0,     0,     0,     0,     0,     0,   152,
447
 
   153,   154,   155,   156,   157,    42,    42,     0,     0,   278,
448
 
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
449
 
     0,     0,     0,    42,   182,     0,    83,     0,     0,   292,
450
 
     0,     0,    83,     0,   295,   296,     0,     0,   299,     0,
451
 
     0,   241,   301,   193,   244,     0,     0,    83,     0,     0,
452
 
     0,     0,     0,   250,     0,    83,    83,     0,    83,    83,
453
 
    83,    83,    83,     0,     0,    83,     0,     0,     0,     0,
454
 
     0,     0,   265,     0,     0,     0,     0,     0,     0,     0,
455
 
     0,     0,    83,     0,     0,     0,     0,     0,     0,     0,
456
 
    59,     0,     0,     0,     0,   230,    42,    42,     0,     0,
457
 
     0,     0,     0,     0,     0,     0,     0,    42,   285,   188,
458
 
     0,    83,     0,     0,    83,     0,     0,     0,    83,    83,
459
 
   291,     0,    83,   294,     0,     0,     0,     0,     0,   298,
460
 
     0,     0,     0,     0,     0,     0,   182,   182,   182,   182,
461
 
     0,   182,   182,   182,     0,     0,     0,     0,     0,     0,
462
 
     0,     0,     0,     0,    83,     0,     0,     0,     0,     0,
463
 
     0,     0,    42,     0,    42,    83,    83,    83,   188,   230,
464
 
     0,   230,   230,   230,     0,   230,   230,   230,   182,     0,
465
 
     0,     0,     0,     0,     0,     0,     0,    83,     0,     0,
466
 
   182,   230,     0,     0,     0,     0,   188,     0,    83,     0,
467
 
     0,    42,    94,   230,     6,     7,   247,     0,     8,     9,
468
 
     0,     0,     0,     0,     0,     0,    42,     0,    95,     0,
 
406
   222,   172,   223,    63,   168,   134,   185,     7,   134,   -79,
 
407
     1,    90,   -79,   134,   246,   214,    58,   118,     1,    64,
 
408
   279,    31,     4,   280,   140,   134,   234,    36,   203,   235,
 
409
    37,   266,   117,   117,   201,    91,    92,    50,    37,    51,
 
410
   135,     1,   -79,   -79,   239,   135,   117,   117,   135,   132,
 
411
    41,    41,   215,   135,    89,    24,    22,    38,   206,   -79,
 
412
   267,   190,   211,   128,   269,   135,   184,   136,    41,   141,
 
413
   142,   135,   144,   145,   146,   147,   148,   149,   232,   -87,
 
414
   -69,   231,     6,     7,    71,   -70,     8,     9,    38,    91,
 
415
    92,   133,    44,    65,    68,   119,   137,   130,   131,   121,
 
416
   167,   167,   122,   123,   177,    91,    92,    24,   143,    72,
 
417
    13,   120,   218,   150,    14,    15,    16,    17,   158,    84,
 
418
    85,    86,    87,    88,    18,    19,    89,    20,   160,    21,
 
419
   196,   161,    22,    23,   200,    38,   124,   125,   163,    38,
 
420
    41,    41,    86,    87,    88,   219,   220,    89,   189,   136,
 
421
   191,    41,   198,   204,   205,   167,   217,   208,   195,   167,
 
422
    47,    48,    49,   193,   194,    55,    55,   162,    55,    61,
 
423
   216,   207,    64,   287,   238,   169,   245,   260,    55,   271,
 
424
   272,   164,   165,   188,   290,   293,   305,   243,   255,   257,
 
425
   258,   259,   183,   261,   262,   263,   306,    67,   240,    55,
 
426
   275,   249,    60,   117,   197,     0,    41,     0,    41,     0,
 
427
     0,    55,     0,     0,   251,   252,   253,   177,   177,   177,
 
428
   177,     0,   177,   177,   177,     0,     0,     0,     0,     0,
 
429
   277,    55,    55,    55,    55,    55,    55,     0,   241,     0,
 
430
     0,   244,   289,   273,     0,     0,    41,   212,     0,   213,
 
431
   250,     0,     0,     0,     0,   233,   182,     0,    55,   177,
 
432
     0,    41,     0,     0,    55,     0,     0,   284,     0,   265,
 
433
   167,   177,     0,     0,     0,    55,    35,     0,     0,    55,
 
434
     0,     0,   167,   248,     0,     0,     0,   242,    55,    55,
 
435
     0,    55,    55,    55,    55,    55,    55,    47,    35,     0,
 
436
    70,    35,   254,     0,     0,   285,     0,     0,     0,    41,
 
437
   268,     0,    35,   270,    55,    41,    35,   291,     0,     0,
 
438
   294,    47,    55,     0,     0,     0,   298,    55,     0,     0,
 
439
     0,     0,     0,     0,   278,   171,     0,     0,     0,    42,
 
440
    42,     0,     0,    55,     0,     0,     0,    55,     0,     0,
 
441
   282,    55,    55,     0,   292,    55,   288,    42,     0,   295,
 
442
   296,     0,     0,   299,     0,     0,     0,   301,   171,   182,
 
443
   182,   182,   182,     0,   182,   182,   182,     0,     0,    54,
 
444
    56,     0,    59,     0,     0,     0,     0,    55,     0,     0,
 
445
   209,     0,    83,     0,     0,     0,     0,     0,    55,    55,
 
446
    55,     0,    55,     0,    55,    55,    55,     0,    55,    55,
 
447
    55,   182,   171,    59,     0,     0,     0,     0,     0,     0,
 
448
    55,     0,     0,   182,    55,    83,     0,     0,     0,    42,
 
449
    42,    55,   173,     0,     6,     7,    55,     0,     8,     9,
 
450
    42,   -78,   187,     0,   -78,   151,   152,   153,   154,   155,
 
451
   156,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
452
     0,     0,   174,     0,     0,     0,    14,    15,    16,    17,
 
453
   181,     0,    83,     0,   -78,   -78,    18,    19,    83,    20,
 
454
     0,   175,     0,     0,    22,   176,     0,     0,     0,   192,
 
455
     0,   -78,     0,    83,     0,    42,   281,    42,   283,     0,
 
456
     0,   187,    83,    83,     0,    83,    83,    83,    83,    83,
 
457
    83,     0,     0,     6,     7,     0,     0,     8,     9,    73,
 
458
   297,     0,    74,   300,     0,     0,     0,   302,    83,   303,
 
459
   187,     0,     0,     0,     0,    42,    59,     0,     0,     0,
 
460
   247,   230,    75,    76,    77,    14,    15,    16,    17,    78,
 
461
    42,     0,    80,    81,    82,    18,    19,    83,     0,     0,
 
462
    52,    83,     0,    22,    53,    83,    83,     0,     0,    83,
 
463
    38,     0,     0,     0,     0,     0,   274,     0,     0,     0,
 
464
     0,     0,     0,   181,   181,   181,   181,     0,   181,   181,
 
465
   181,     0,     0,     0,     0,     0,     0,     0,    42,     0,
 
466
     0,    83,   286,     0,    42,     0,     0,     0,     0,     0,
 
467
     0,     0,    83,    83,    83,     0,   230,     0,   230,   230,
 
468
   230,     0,   230,   230,   230,   181,     0,     0,     0,     0,
 
469
     0,     0,     0,    93,    83,     6,     7,   181,   230,     8,
 
470
     9,     0,     0,     0,     0,    83,     0,     0,     0,    94,
 
471
   230,    95,    96,    97,    98,    99,   100,   101,   102,   103,
 
472
   104,   105,     0,    13,     0,     0,     0,    14,    15,    16,
 
473
    17,     0,     0,     0,     0,     0,     0,    18,    19,     0,
 
474
    20,   170,    21,     6,     7,    22,    23,     8,     9,     0,
 
475
    24,   106,    38,     0,     0,     0,     0,    94,     0,    95,
469
476
    96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
470
 
   106,     0,    13,     0,     0,     0,    14,    15,    16,    17,
471
 
     0,     0,   274,     0,     0,    18,    19,     0,    20,     0,
472
 
    21,     0,     0,    22,    23,     0,     0,     0,    24,   107,
473
 
    38,     0,     0,     0,    42,     0,     0,     0,   286,   171,
474
 
    42,     6,     7,     0,     0,     8,     9,     0,     0,     0,
475
 
     0,     0,     0,     0,     0,    95,     0,    96,    97,    98,
476
 
    99,   100,   101,   102,   103,   104,   105,   106,     0,    13,
477
 
     0,     0,     0,    14,    15,    16,    17,     0,     0,     0,
478
 
     0,     0,    18,    19,     0,    20,    94,    21,     6,     7,
479
 
    22,    23,     8,     9,     0,    24,   107,    38,     0,     0,
480
 
     0,     0,    95,     0,    96,    97,    98,    99,   100,   101,
481
 
   102,   103,   104,   105,   106,     0,    13,     0,     0,     0,
482
 
    14,    15,    16,    17,     0,     0,     0,     0,     0,    18,
483
 
    19,     0,    20,     0,    21,     0,     0,    22,    23,     0,
484
 
     0,     0,    24,   174,    38,     6,     7,     0,     0,     8,
485
 
     9,     0,   -78,     0,     0,   -78,     0,     0,     0,     0,
486
 
     0,     0,     0,     0,     0,     7,     0,     0,     8,     9,
487
 
-32768,     0,     0,   175,     0,     0,     0,    14,    15,    16,
488
 
    17,     0,     0,     0,   -78,   -78,    18,    19,     0,    20,
489
 
     0,   176,     0,     0,    22,   177,    14,    15,     6,     7,
490
 
     0,   -78,     8,     9,    73,    18,    19,    74,     0,     0,
491
 
    52,     0,     0,    22,    53,     0,     0,     0,     0,     0,
 
477
     0,    13,     0,     0,     0,    14,    15,    16,    17,     0,
 
478
     0,     0,     0,     0,     0,    18,    19,     0,    20,    93,
 
479
    21,     6,     7,    22,    23,     8,     9,     0,    24,   106,
 
480
    38,     0,     0,     0,     0,    94,     0,    95,    96,    97,
 
481
    98,    99,   100,   101,   102,   103,   104,   105,     0,    13,
 
482
     0,     0,     0,    14,    15,    16,    17,     7,     0,     0,
 
483
     8,     9,   224,    18,    19,-32768,    20,     0,    21,     0,
 
484
     0,    22,    23,     0,     0,     0,    24,     0,    38,   -61,
 
485
    66,     0,     6,     7,     0,     0,     8,     9,    14,    15,
 
486
     0,     0,     1,     0,    10,    11,     0,     0,    18,    19,
 
487
     0,     0,     0,    52,     0,     0,    22,    53,     0,    12,
 
488
    13,     0,     0,     0,    14,    15,    16,    17,     0,     0,
 
489
     0,     0,     0,     0,    18,    19,     0,    20,     0,    21,
 
490
     6,     7,    22,    23,     8,     9,     0,    24,     0,     0,
 
491
     0,     0,     0,     0,    94,     0,    95,    96,    97,    98,
 
492
    99,   100,   101,   102,   103,   104,   105,     0,    13,     0,
 
493
     0,     0,    14,    15,    16,    17,     0,     0,     0,     0,
 
494
     0,     0,    18,    19,     0,    20,     0,    21,     0,     0,
 
495
    22,    23,     0,     0,     0,    24,     0,    38,     6,     7,
 
496
     0,     0,     8,     9,    73,     0,     0,    74,     1,     0,
 
497
     0,     7,     0,     0,     8,     9,-32768,     0,     0,     0,
492
498
     0,     0,     0,     0,     0,     0,     0,    75,    76,    77,
493
 
    14,    15,    16,    17,    78,     0,    79,    80,    81,    18,
494
 
    19,     0,     0,     0,    52,     0,     0,    22,    53,   -61,
495
 
    66,     0,     6,     7,     0,    82,     8,     9,     0,     0,
496
 
     0,     0,     1,     0,    10,    11,     0,     0,     0,     0,
497
 
     0,     0,     0,     0,     0,     0,     0,     0,     0,    12,
498
 
    13,     0,     0,     0,    14,    15,    16,    17,     0,     0,
499
 
     0,     0,     0,    18,    19,     0,    20,     0,    21,     6,
500
 
     7,    22,    23,     8,     9,     0,    24,     0,     0,     0,
501
 
     0,     0,     0,    95,     0,    96,    97,    98,    99,   100,
502
 
   101,   102,   103,   104,   105,   106,     0,    13,     0,     0,
503
 
     0,    14,    15,    16,    17,     0,     0,     0,     0,     0,
504
 
    18,    19,     0,    20,     0,    21,     0,     0,    22,    23,
505
 
     0,     0,     0,    24,     0,    38,     6,     7,     0,     0,
506
 
     8,     9,    73,     0,     0,    74,     1,     0,     0,     0,
507
 
     0,     0,     0,     0,     0,     0,     7,     0,     0,     8,
508
 
     9,   224,     0,     0,-32768,    75,    76,    77,    14,    15,
509
 
    16,    17,    78,     0,    79,    80,    81,    18,    19,     0,
510
 
     0,     0,    52,     0,     0,    22,    53,    14,    15,     6,
511
 
     7,     0,    38,     8,     9,    73,    18,    19,    74,     0,
512
 
     0,    52,     0,     0,    22,    53,     0,     0,     0,     0,
513
 
     0,     0,     0,     0,     0,     0,     0,     0,    75,    76,
514
 
    77,    14,    15,    16,    17,    78,     0,    79,    80,    81,
515
 
    18,    19,     0,     0,     5,    52,     6,     7,    22,    53,
516
 
     8,     9,     0,     0,     0,    38,     0,     0,    10,    11,
517
 
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
499
    14,    15,    16,    17,    78,     0,     0,    80,    81,    82,
 
500
    18,    19,    14,    15,     5,    52,     6,     7,    22,    53,
 
501
     8,     9,    18,    19,     0,    38,     0,    52,    10,    11,
 
502
    22,    53,     0,     0,     0,     0,     0,     0,     0,    62,
518
503
     0,     6,     7,    12,    13,     8,     9,     0,    14,    15,
519
 
    16,    17,     0,     0,     0,     0,     0,    18,    19,     0,
520
 
    20,     0,    21,     0,     0,    22,    23,     0,     0,    13,
521
 
    24,     0,     0,    14,    15,    16,    17,     0,     0,     0,
522
 
     0,     0,    18,    19,     0,    20,    62,    21,     6,     7,
523
 
    22,    23,     8,     9,     0,     0,     0,    38,     0,     0,
524
 
     0,     0,     0,     0,     0,     0,    62,     0,     6,     7,
525
 
     0,     0,     8,     9,     0,     0,    13,     0,     0,     0,
526
 
    14,    15,    16,    17,     0,     0,     0,     0,     0,    18,
527
 
    19,     0,    20,     0,    21,     0,    13,    22,    23,   -86,
528
 
    14,    15,    16,    17,     0,     0,     0,     0,     0,    18,
529
 
    19,     0,    20,   199,    21,     6,     7,    22,    23,     8,
530
 
     9,     0,     0,     0,     0,     0,     0,     0,     0,     0,
531
 
     0,     0,   256,     0,     6,     7,     0,     0,     8,     9,
532
 
     0,     0,     0,    13,     0,     0,     0,    14,    15,    16,
533
 
    17,     0,     0,     0,     0,     0,    18,    19,     0,    20,
534
 
     0,    21,   175,     0,    22,    23,    14,    15,    16,    17,
535
 
     0,     0,     0,     0,     0,    18,    19,     0,    20,     0,
536
 
   176,     6,     7,    22,    53,     8,     9,    73,     0,     0,
 
504
    16,    17,     0,     0,     0,     0,     0,     0,    18,    19,
 
505
     0,    20,     0,    21,     0,     0,    22,    23,     0,    13,
 
506
     0,    24,     0,    14,    15,    16,    17,     0,     0,     0,
 
507
     0,     0,     0,    18,    19,     0,    20,     0,    21,     0,
 
508
     0,    22,    23,   -86,    62,     0,     6,     7,     0,     0,
 
509
     8,     9,     0,     0,     0,     0,     0,     0,     0,     0,
 
510
     0,     0,     0,     0,   199,     0,     6,     7,     0,     0,
 
511
     8,     9,     0,     0,    13,     0,     0,     0,    14,    15,
 
512
    16,    17,     0,     0,     0,     0,     0,     0,    18,    19,
 
513
     0,    20,     0,    21,    13,     0,    22,    23,    14,    15,
 
514
    16,    17,     0,     0,     0,     0,     0,     0,    18,    19,
 
515
     0,    20,   256,    21,     6,     7,    22,    23,     8,     9,
 
516
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
517
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
518
     0,     0,   174,     0,     0,     0,    14,    15,    16,    17,
 
519
     0,     0,     0,     0,     0,     0,    18,    19,     0,    20,
 
520
     0,   175,     6,     7,    22,    53,     8,     9,    73,     0,
 
521
     0,    74,     0,     0,     0,     0,     0,     0,     0,     0,
 
522
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
523
     0,    75,    76,    77,    14,    15,    16,    17,    78,     0,
 
524
     0,    80,    81,    82,    18,    19,     0,     0,     0,    52,
 
525
     0,     0,    22,    53,   136,     6,     7,     0,     0,     8,
 
526
     9,    73,     0,     0,    74,     0,     0,     0,     0,     0,
 
527
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
528
     0,     0,     0,     0,    75,    76,    77,    14,    15,    16,
 
529
    17,    78,     0,    79,    80,    81,    82,    18,    19,     0,
 
530
     0,     0,    52,     6,     7,    22,    53,     8,     9,    73,
 
531
     0,     0,    74,     0,     0,     0,     0,     0,     0,     0,
 
532
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
533
     0,     0,    75,    76,    77,    14,    15,    16,    17,    78,
 
534
   202,     0,    80,    81,    82,    18,    19,     0,     0,     0,
 
535
    52,     6,     7,    22,    53,     8,     9,    73,     0,     0,
537
536
    74,     0,     0,     0,     0,     0,     0,     0,     0,     0,
538
537
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
539
 
    75,    76,    77,    14,    15,    16,    17,    78,     0,    79,
540
 
    80,    81,    18,    19,     0,     0,     0,    52,     0,     0,
541
 
    22,    53,   136,     6,     7,     0,     0,     8,     9,    73,
542
 
     0,     0,    74,     0,     0,     0,     0,     0,     0,     0,
543
 
     0,     0,     0,     0,     0,     0,     7,     0,     0,     8,
544
 
     9,-32768,    75,    76,    77,    14,    15,    16,    17,    78,
545
 
   202,    79,    80,    81,    18,    19,     0,     0,     0,    52,
546
 
     6,     7,    22,    53,     8,     9,    73,    14,    15,    74,
547
 
     0,     0,     0,-32768,-32768,-32768,    18,    19,     0,     0,
548
 
     0,    52,     0,     0,    22,    53,     0,     0,     0,    75,
549
 
    76,    77,    14,    15,    16,    17,    78,     0,    79,    80,
550
 
    81,    18,    19,     0,     0,     0,    52,     6,     7,    22,
551
 
    53,     8,     9,    73,     0,     0,    74,     0,     0,     0,
552
 
     0,     0,     0,     0,     0,     0,     0,     0,     0,     6,
553
 
     7,     0,     0,     8,     9,   224,    75,    76,   225,    14,
554
 
    15,    16,    17,     0,     0,    79,    80,    81,    18,    19,
555
 
     0,     0,     0,    52,     0,     0,    22,    53,   226,   227,
556
 
   228,    14,    15,    16,    17,   229,   276,     0,     6,     7,
557
 
    18,    19,     8,     9,    73,    52,     0,    74,    22,    53,
558
 
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
559
 
     6,     7,     0,     0,     8,     9,   224,    75,     0,   225,
560
 
    14,    15,    16,    17,     0,     0,    79,    80,    81,    18,
561
 
    19,     0,     0,     0,    52,     0,     0,    22,    53,   226,
562
 
   227,   228,    14,    15,    16,    17,   229,     0,     0,     6,
563
 
     7,    18,    19,     8,     9,   224,    52,     0,   225,    22,
564
 
    53,     0,     0,     0,     0,     0,     0,     0,     6,     7,
565
 
     0,     0,     8,     9,   224,     0,     0,   225,   226,   227,
566
 
     0,    14,    15,    16,    17,     0,     0,     0,     6,     7,
567
 
    18,    19,     8,     9,     0,    52,     0,   226,    22,    53,
568
 
    14,    15,    16,    17,     0,     0,     0,     6,   210,    18,
569
 
    19,     8,     9,     0,    52,     0,    13,    22,    53,     0,
570
 
    14,    15,    16,    17,     0,     0,     0,     0,     0,    18,
571
 
    19,     0,    20,     0,    21,    13,     0,    22,    23,    14,
572
 
    15,    16,    17,     0,     0,     0,     0,     0,    18,    19,
573
 
     0,    20,     0,    21,     6,     7,    22,    23,     8,     9,
574
 
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
575
 
     0,     0,     0,     6,     7,     0,     0,     8,     9,     0,
576
 
     0,     0,   175,     0,     0,     0,    14,    15,    16,    17,
577
 
     0,     0,     0,     0,     0,    18,    19,     0,    20,     0,
578
 
   176,     0,     0,    22,    53,    14,    15,    16,    17,     0,
579
 
     0,     0,     0,     0,    18,    19,     0,    20,     0,    52,
580
 
     6,     7,    22,    53,     8,     9,     0,     0,     0,     0,
581
 
     0,     0,     0,     0,     0,     0,     7,     0,     0,     8,
582
 
     9,    73,     0,     0,-32768,     0,     0,     0,     0,     0,
583
 
     0,     0,    14,    15,    16,    17,     0,     0,     0,     0,
584
 
     0,    18,    19,     0,     0,     0,    52,    14,    15,    22,
585
 
    53,     0,     0,    79,    80,    81,    18,    19,     0,     0,
586
 
     0,    52,     0,     0,    22,    53
 
538
    75,    76,    77,    14,    15,    16,    17,    78,     0,     0,
 
539
    80,    81,    82,    18,    19,     0,     0,     0,    52,     6,
 
540
     7,    22,    53,     8,     9,    73,     0,     0,    74,     0,
 
541
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
542
     0,     0,     0,     0,     0,     0,     0,     0,    75,    76,
 
543
     0,    14,    15,    16,    17,     0,     0,     0,    80,    81,
 
544
    82,    18,    19,     0,     0,     0,    52,     6,     7,    22,
 
545
    53,     8,     9,   224,     0,     0,   225,     0,     0,     0,
 
546
     0,     0,     0,     0,     0,     0,     0,     6,     7,     0,
 
547
     0,     8,     9,     0,     0,     0,   226,   227,   228,    14,
 
548
    15,    16,    17,   229,   276,     0,     0,     6,     7,    18,
 
549
    19,     8,     9,    73,    52,    13,    74,    22,    53,    14,
 
550
    15,    16,    17,     0,     0,     0,     0,     0,     0,    18,
 
551
    19,     0,    20,     0,    21,     0,    75,    22,    23,    14,
 
552
    15,    16,    17,     0,     0,     0,    80,    81,    82,    18,
 
553
    19,     0,     0,     0,    52,     6,     7,    22,    53,     8,
 
554
     9,   224,     0,     0,   225,     0,     0,     0,     0,     0,
 
555
     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
556
     0,     0,     0,     0,   226,   227,   228,    14,    15,    16,
 
557
    17,   229,     0,     0,     0,     6,     7,    18,    19,     8,
 
558
     9,   224,    52,     0,   225,    22,    53,     0,     0,     0,
 
559
     0,     0,     0,     0,     0,     6,   210,     0,     0,     8,
 
560
     9,     0,     0,     0,   226,   227,     0,    14,    15,    16,
 
561
    17,     0,     0,     0,     0,     6,     7,    18,    19,     8,
 
562
     9,   224,    52,    13,   225,    22,    53,    14,    15,    16,
 
563
    17,     0,     0,     0,     0,     0,     0,    18,    19,     0,
 
564
    20,     0,    21,     0,   226,    22,    23,    14,    15,    16,
 
565
    17,     6,     7,     0,     0,     8,     9,    18,    19,     0,
 
566
     0,     0,    52,     0,     0,    22,    53,     0,     0,     0,
 
567
     0,     6,     7,     0,     0,     8,     9,     6,     7,   174,
 
568
     0,     8,     9,    14,    15,    16,    17,     0,     0,     0,
 
569
     0,     0,     0,    18,    19,     0,    20,     0,   175,     0,
 
570
     0,    22,    53,    14,    15,    16,    17,     0,     0,    14,
 
571
    15,    16,    17,    18,    19,     0,    20,     0,    52,    18,
 
572
    19,    22,    53,     0,    52,     0,     7,    22,    53,     8,
 
573
     9,    73,     0,     0,-32768,     0,     0,     0,     0,     7,
 
574
     0,     0,     8,     9,-32768,     0,     0,     0,     0,     0,
 
575
     0,     0,     0,     0,     0,     0,     0,    14,    15,     0,
 
576
     0,     0,     0,     0,    80,    81,    82,    18,    19,     0,
 
577
    14,    15,    52,     0,     0,    22,    53,-32768,-32768,-32768,
 
578
    18,    19,     0,     0,     0,    52,     0,     0,    22,    53
587
579
};
588
580
 
589
581
static const short yycheck[] = {     3,
590
 
    31,   106,   108,     1,     4,     1,    13,   113,   108,    10,
591
 
    13,    13,    10,    23,     1,    13,    32,     4,     1,    23,
592
 
    13,    25,    70,     1,   149,   173,    53,    37,     1,     1,
593
 
    10,    11,    36,    37,   140,     1,    35,    36,     4,    55,
594
 
   140,    42,    43,    55,    42,    43,    50,    51,    28,    53,
595
 
   175,    57,    52,   201,    57,   160,    59,    59,    54,   164,
596
 
    41,    59,    60,   163,    60,   113,     5,    54,    53,    73,
597
 
    74,    54,    76,    77,    78,    79,    80,    60,    56,   185,
598
 
    84,    54,    60,    53,    56,   185,    51,    60,    60,    13,
599
 
    14,    15,    11,    11,    18,    19,     4,    21,    22,    11,
600
 
    31,   105,   106,     3,     4,     3,    53,    31,     4,    28,
601
 
    53,    21,    44,    45,    46,    47,    48,    35,    36,    51,
602
 
    53,   101,   102,    35,    36,    50,    51,    25,    52,    27,
603
 
    28,   135,   112,    28,   138,    32,    59,    37,    38,    54,
604
 
    64,    39,    53,    47,    39,    43,    55,     4,    43,   180,
605
 
     4,    21,    53,     4,   158,   159,   160,    18,   162,     0,
606
 
   164,    85,    86,    87,    88,    89,    90,   177,   268,   274,
607
 
   270,     0,    25,   177,   215,    46,    47,    48,    24,    25,
608
 
    51,   286,   101,   102,   250,    22,   110,   167,   112,   169,
609
 
    -1,    -1,   292,   112,   118,   295,    42,   207,   202,   299,
610
 
   110,   301,    -1,   207,    -1,   129,   237,    -1,    -1,   133,
611
 
    -1,    -1,    -1,    -1,   218,   219,   220,   141,   142,    -1,
612
 
   144,   145,   146,   147,   148,   149,   206,   151,    -1,    -1,
613
 
    -1,    -1,   222,   223,   224,   225,    82,   227,   228,   229,
614
 
    -1,   221,    -1,   247,   168,    -1,    -1,    -1,   167,    -1,
615
 
   169,   175,   176,    99,    -1,    -1,    -1,   181,    -1,    -1,
616
 
    -1,   107,    -1,    -1,    -1,    -1,   176,   271,    -1,   115,
617
 
   274,    -1,    -1,   197,   264,    -1,   200,    -1,    -1,    -1,
618
 
   204,   205,   286,    -1,   208,    -1,   276,   206,    -1,   269,
619
 
    -1,    -1,    -1,    -1,    -1,   275,    -1,    -1,   222,   223,
620
 
   224,   225,   221,   227,   228,   229,    -1,    -1,    -1,    63,
621
 
    -1,    -1,   222,   223,   224,   225,   240,   227,   228,   229,
622
 
    -1,    -1,    -1,    -1,    -1,    -1,    -1,   251,   252,   253,
623
 
    -1,   255,    -1,   257,   258,   259,    -1,   261,   262,   263,
624
 
   264,   187,    18,    19,    -1,    21,    -1,    -1,    -1,   273,
625
 
   269,    -1,   276,   277,   264,    31,   275,    -1,    -1,    -1,
626
 
   284,    -1,   116,    -1,    -1,   289,   276,    -1,   214,    -1,
627
 
    -1,    -1,    -1,    -1,    -1,    -1,    52,   131,   132,    -1,
628
 
    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    64,    -1,
629
 
    -1,    -1,    -1,    -1,    -1,   241,    -1,    -1,   244,    -1,
630
 
    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    85,
631
 
    86,    87,    88,    89,    90,    10,    11,    -1,    -1,   265,
632
 
    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
633
 
    -1,    -1,    -1,    28,   110,    -1,   112,    -1,    -1,   285,
634
 
    -1,    -1,   118,    -1,   290,   291,    -1,    -1,   294,    -1,
635
 
    -1,   205,   298,   129,   208,    -1,    -1,   133,    -1,    -1,
636
 
    -1,    -1,    -1,   217,    -1,   141,   142,    -1,   144,   145,
637
 
   146,   147,   148,    -1,    -1,   151,    -1,    -1,    -1,    -1,
638
 
    -1,    -1,   236,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
639
 
    -1,    -1,   168,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
640
 
   176,    -1,    -1,    -1,    -1,   181,   101,   102,    -1,    -1,
641
 
    -1,    -1,    -1,    -1,    -1,    -1,    -1,   112,   272,   114,
642
 
    -1,   197,    -1,    -1,   200,    -1,    -1,    -1,   204,   205,
643
 
   284,    -1,   208,   287,    -1,    -1,    -1,    -1,    -1,   293,
644
 
    -1,    -1,    -1,    -1,    -1,    -1,   222,   223,   224,   225,
645
 
    -1,   227,   228,   229,    -1,    -1,    -1,    -1,    -1,    -1,
646
 
    -1,    -1,    -1,    -1,   240,    -1,    -1,    -1,    -1,    -1,
647
 
    -1,    -1,   167,    -1,   169,   251,   252,   253,   173,   255,
648
 
    -1,   257,   258,   259,    -1,   261,   262,   263,   264,    -1,
649
 
    -1,    -1,    -1,    -1,    -1,    -1,    -1,   273,    -1,    -1,
650
 
   276,   277,    -1,    -1,    -1,    -1,   201,    -1,   284,    -1,
651
 
    -1,   206,     1,   289,     3,     4,   211,    -1,     7,     8,
652
 
    -1,    -1,    -1,    -1,    -1,    -1,   221,    -1,    17,    -1,
653
 
    19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
654
 
    29,    -1,    31,    -1,    -1,    -1,    35,    36,    37,    38,
655
 
    -1,    -1,   247,    -1,    -1,    44,    45,    -1,    47,    -1,
656
 
    49,    -1,    -1,    52,    53,    -1,    -1,    -1,    57,    58,
657
 
    59,    -1,    -1,    -1,   269,    -1,    -1,    -1,   273,     1,
658
 
   275,     3,     4,    -1,    -1,     7,     8,    -1,    -1,    -1,
659
 
    -1,    -1,    -1,    -1,    -1,    17,    -1,    19,    20,    21,
 
582
     1,   107,   179,    23,   105,     1,   112,     4,     1,    10,
 
583
    13,    11,    13,     1,    32,   172,    21,    37,    13,    23,
 
584
     1,    25,    13,     4,    70,     1,     1,    54,   150,     4,
 
585
    56,     1,    36,    37,   140,    35,    36,    54,    56,    54,
 
586
    41,    13,    43,    44,   201,    41,    50,    51,    41,    53,
 
587
    10,    11,   174,    41,    52,    58,    53,    60,   159,    60,
 
588
   237,    57,   163,    42,    57,    41,   112,    55,    28,    73,
 
589
    74,    41,    76,    77,    78,    79,    80,    81,   184,    55,
 
590
    55,    11,     3,     4,    28,    55,     7,     8,    60,    35,
 
591
    36,     5,    11,    24,    25,    39,    63,    50,    51,    43,
 
592
   104,   105,     3,     4,   109,    35,    36,    58,     4,    28,
 
593
    31,    42,    10,    31,    35,    36,    37,    38,    54,    45,
 
594
    46,    47,    48,    49,    45,    46,    52,    48,     4,    50,
 
595
   134,    54,    53,    54,   138,    60,    37,    38,    54,    60,
 
596
   100,   101,    47,    48,    49,    43,    44,    52,   115,    55,
 
597
    54,   111,    32,   157,   158,   159,   176,   161,    48,   163,
 
598
    13,    14,    15,   130,   131,    18,    19,    98,    21,    22,
 
599
   175,    56,   176,   274,     4,   106,    21,     4,    31,    54,
 
600
     4,   100,   101,   114,    18,   286,     0,   207,   222,   223,
 
601
   224,   225,   111,   227,   228,   229,     0,    25,   202,    52,
 
602
   250,   215,    22,   207,   135,    -1,   166,    -1,   168,    -1,
 
603
    -1,    64,    -1,    -1,   218,   219,   220,   222,   223,   224,
 
604
   225,    -1,   227,   228,   229,    -1,    -1,    -1,    -1,    -1,
 
605
   264,    84,    85,    86,    87,    88,    89,    -1,   205,    -1,
 
606
    -1,   208,   276,   247,    -1,    -1,   206,   166,    -1,   168,
 
607
   217,    -1,    -1,    -1,    -1,   186,   109,    -1,   111,   264,
 
608
    -1,   221,    -1,    -1,   117,    -1,    -1,   271,    -1,   236,
 
609
   274,   276,    -1,    -1,    -1,   128,     3,    -1,    -1,   132,
 
610
    -1,    -1,   286,   214,    -1,    -1,    -1,   206,   141,   142,
 
611
    -1,   144,   145,   146,   147,   148,   149,   150,    25,    -1,
 
612
    27,    28,   221,    -1,    -1,   272,    -1,    -1,    -1,   269,
 
613
   241,    -1,    39,   244,   167,   275,    43,   284,    -1,    -1,
 
614
   287,   174,   175,    -1,    -1,    -1,   293,   180,    -1,    -1,
 
615
    -1,    -1,    -1,    -1,   265,   107,    -1,    -1,    -1,    10,
 
616
    11,    -1,    -1,   196,    -1,    -1,    -1,   200,    -1,    -1,
 
617
   269,   204,   205,    -1,   285,   208,   275,    28,    -1,   290,
 
618
   291,    -1,    -1,   294,    -1,    -1,    -1,   298,   140,   222,
 
619
   223,   224,   225,    -1,   227,   228,   229,    -1,    -1,    18,
 
620
    19,    -1,    21,    -1,    -1,    -1,    -1,   240,    -1,    -1,
 
621
   162,    -1,    31,    -1,    -1,    -1,    -1,    -1,   251,   252,
 
622
   253,    -1,   255,    -1,   257,   258,   259,    -1,   261,   262,
 
623
   263,   264,   184,    52,    -1,    -1,    -1,    -1,    -1,    -1,
 
624
   273,    -1,    -1,   276,   277,    64,    -1,    -1,    -1,   100,
 
625
   101,   284,     1,    -1,     3,     4,   289,    -1,     7,     8,
 
626
   111,    10,   113,    -1,    13,    84,    85,    86,    87,    88,
 
627
    89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
628
    -1,    -1,    31,    -1,    -1,    -1,    35,    36,    37,    38,
 
629
   109,    -1,   111,    -1,    43,    44,    45,    46,   117,    48,
 
630
    -1,    50,    -1,    -1,    53,    54,    -1,    -1,    -1,   128,
 
631
    -1,    60,    -1,   132,    -1,   166,   268,   168,   270,    -1,
 
632
    -1,   172,   141,   142,    -1,   144,   145,   146,   147,   148,
 
633
   149,    -1,    -1,     3,     4,    -1,    -1,     7,     8,     9,
 
634
   292,    -1,    12,   295,    -1,    -1,    -1,   299,   167,   301,
 
635
   201,    -1,    -1,    -1,    -1,   206,   175,    -1,    -1,    -1,
 
636
   211,   180,    32,    33,    34,    35,    36,    37,    38,    39,
 
637
   221,    -1,    42,    43,    44,    45,    46,   196,    -1,    -1,
 
638
    50,   200,    -1,    53,    54,   204,   205,    -1,    -1,   208,
 
639
    60,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,
 
640
    -1,    -1,    -1,   222,   223,   224,   225,    -1,   227,   228,
 
641
   229,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   269,    -1,
 
642
    -1,   240,   273,    -1,   275,    -1,    -1,    -1,    -1,    -1,
 
643
    -1,    -1,   251,   252,   253,    -1,   255,    -1,   257,   258,
 
644
   259,    -1,   261,   262,   263,   264,    -1,    -1,    -1,    -1,
 
645
    -1,    -1,    -1,     1,   273,     3,     4,   276,   277,     7,
 
646
     8,    -1,    -1,    -1,    -1,   284,    -1,    -1,    -1,    17,
 
647
   289,    19,    20,    21,    22,    23,    24,    25,    26,    27,
 
648
    28,    29,    -1,    31,    -1,    -1,    -1,    35,    36,    37,
 
649
    38,    -1,    -1,    -1,    -1,    -1,    -1,    45,    46,    -1,
 
650
    48,     1,    50,     3,     4,    53,    54,     7,     8,    -1,
 
651
    58,    59,    60,    -1,    -1,    -1,    -1,    17,    -1,    19,
 
652
    20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
 
653
    -1,    31,    -1,    -1,    -1,    35,    36,    37,    38,    -1,
 
654
    -1,    -1,    -1,    -1,    -1,    45,    46,    -1,    48,     1,
 
655
    50,     3,     4,    53,    54,     7,     8,    -1,    58,    59,
 
656
    60,    -1,    -1,    -1,    -1,    17,    -1,    19,    20,    21,
660
657
    22,    23,    24,    25,    26,    27,    28,    29,    -1,    31,
661
 
    -1,    -1,    -1,    35,    36,    37,    38,    -1,    -1,    -1,
662
 
    -1,    -1,    44,    45,    -1,    47,     1,    49,     3,     4,
663
 
    52,    53,     7,     8,    -1,    57,    58,    59,    -1,    -1,
664
 
    -1,    -1,    17,    -1,    19,    20,    21,    22,    23,    24,
665
 
    25,    26,    27,    28,    29,    -1,    31,    -1,    -1,    -1,
666
 
    35,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,    44,
667
 
    45,    -1,    47,    -1,    49,    -1,    -1,    52,    53,    -1,
668
 
    -1,    -1,    57,     1,    59,     3,     4,    -1,    -1,     7,
669
 
     8,    -1,    10,    -1,    -1,    13,    -1,    -1,    -1,    -1,
670
 
    -1,    -1,    -1,    -1,    -1,     4,    -1,    -1,     7,     8,
671
 
     9,    -1,    -1,    31,    -1,    -1,    -1,    35,    36,    37,
672
 
    38,    -1,    -1,    -1,    42,    43,    44,    45,    -1,    47,
673
 
    -1,    49,    -1,    -1,    52,    53,    35,    36,     3,     4,
674
 
    -1,    59,     7,     8,     9,    44,    45,    12,    -1,    -1,
675
 
    49,    -1,    -1,    52,    53,    -1,    -1,    -1,    -1,    -1,
 
658
    -1,    -1,    -1,    35,    36,    37,    38,     4,    -1,    -1,
 
659
     7,     8,     9,    45,    46,    12,    48,    -1,    50,    -1,
 
660
    -1,    53,    54,    -1,    -1,    -1,    58,    -1,    60,     0,
 
661
     1,    -1,     3,     4,    -1,    -1,     7,     8,    35,    36,
 
662
    -1,    -1,    13,    -1,    15,    16,    -1,    -1,    45,    46,
 
663
    -1,    -1,    -1,    50,    -1,    -1,    53,    54,    -1,    30,
 
664
    31,    -1,    -1,    -1,    35,    36,    37,    38,    -1,    -1,
 
665
    -1,    -1,    -1,    -1,    45,    46,    -1,    48,    -1,    50,
 
666
     3,     4,    53,    54,     7,     8,    -1,    58,    -1,    -1,
 
667
    -1,    -1,    -1,    -1,    17,    -1,    19,    20,    21,    22,
 
668
    23,    24,    25,    26,    27,    28,    29,    -1,    31,    -1,
 
669
    -1,    -1,    35,    36,    37,    38,    -1,    -1,    -1,    -1,
 
670
    -1,    -1,    45,    46,    -1,    48,    -1,    50,    -1,    -1,
 
671
    53,    54,    -1,    -1,    -1,    58,    -1,    60,     3,     4,
 
672
    -1,    -1,     7,     8,     9,    -1,    -1,    12,    13,    -1,
 
673
    -1,     4,    -1,    -1,     7,     8,     9,    -1,    -1,    -1,
676
674
    -1,    -1,    -1,    -1,    -1,    -1,    -1,    32,    33,    34,
677
 
    35,    36,    37,    38,    39,    -1,    41,    42,    43,    44,
678
 
    45,    -1,    -1,    -1,    49,    -1,    -1,    52,    53,     0,
679
 
     1,    -1,     3,     4,    -1,    60,     7,     8,    -1,    -1,
680
 
    -1,    -1,    13,    -1,    15,    16,    -1,    -1,    -1,    -1,
681
 
    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    30,
682
 
    31,    -1,    -1,    -1,    35,    36,    37,    38,    -1,    -1,
683
 
    -1,    -1,    -1,    44,    45,    -1,    47,    -1,    49,     3,
684
 
     4,    52,    53,     7,     8,    -1,    57,    -1,    -1,    -1,
685
 
    -1,    -1,    -1,    17,    -1,    19,    20,    21,    22,    23,
686
 
    24,    25,    26,    27,    28,    29,    -1,    31,    -1,    -1,
687
 
    -1,    35,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,
688
 
    44,    45,    -1,    47,    -1,    49,    -1,    -1,    52,    53,
689
 
    -1,    -1,    -1,    57,    -1,    59,     3,     4,    -1,    -1,
690
 
     7,     8,     9,    -1,    -1,    12,    13,    -1,    -1,    -1,
691
 
    -1,    -1,    -1,    -1,    -1,    -1,     4,    -1,    -1,     7,
692
 
     8,     9,    -1,    -1,    12,    32,    33,    34,    35,    36,
693
 
    37,    38,    39,    -1,    41,    42,    43,    44,    45,    -1,
694
 
    -1,    -1,    49,    -1,    -1,    52,    53,    35,    36,     3,
695
 
     4,    -1,    59,     7,     8,     9,    44,    45,    12,    -1,
696
 
    -1,    49,    -1,    -1,    52,    53,    -1,    -1,    -1,    -1,
697
 
    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    32,    33,
698
 
    34,    35,    36,    37,    38,    39,    -1,    41,    42,    43,
699
 
    44,    45,    -1,    -1,     1,    49,     3,     4,    52,    53,
700
 
     7,     8,    -1,    -1,    -1,    59,    -1,    -1,    15,    16,
701
 
    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
675
    35,    36,    37,    38,    39,    -1,    -1,    42,    43,    44,
 
676
    45,    46,    35,    36,     1,    50,     3,     4,    53,    54,
 
677
     7,     8,    45,    46,    -1,    60,    -1,    50,    15,    16,
 
678
    53,    54,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
702
679
    -1,     3,     4,    30,    31,     7,     8,    -1,    35,    36,
703
 
    37,    38,    -1,    -1,    -1,    -1,    -1,    44,    45,    -1,
704
 
    47,    -1,    49,    -1,    -1,    52,    53,    -1,    -1,    31,
705
 
    57,    -1,    -1,    35,    36,    37,    38,    -1,    -1,    -1,
706
 
    -1,    -1,    44,    45,    -1,    47,     1,    49,     3,     4,
707
 
    52,    53,     7,     8,    -1,    -1,    -1,    59,    -1,    -1,
708
 
    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,     3,     4,
709
 
    -1,    -1,     7,     8,    -1,    -1,    31,    -1,    -1,    -1,
710
 
    35,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,    44,
711
 
    45,    -1,    47,    -1,    49,    -1,    31,    52,    53,    54,
712
 
    35,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,    44,
713
 
    45,    -1,    47,     1,    49,     3,     4,    52,    53,     7,
714
 
     8,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
715
 
    -1,    -1,     1,    -1,     3,     4,    -1,    -1,     7,     8,
716
 
    -1,    -1,    -1,    31,    -1,    -1,    -1,    35,    36,    37,
717
 
    38,    -1,    -1,    -1,    -1,    -1,    44,    45,    -1,    47,
718
 
    -1,    49,    31,    -1,    52,    53,    35,    36,    37,    38,
719
 
    -1,    -1,    -1,    -1,    -1,    44,    45,    -1,    47,    -1,
720
 
    49,     3,     4,    52,    53,     7,     8,     9,    -1,    -1,
 
680
    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    45,    46,
 
681
    -1,    48,    -1,    50,    -1,    -1,    53,    54,    -1,    31,
 
682
    -1,    58,    -1,    35,    36,    37,    38,    -1,    -1,    -1,
 
683
    -1,    -1,    -1,    45,    46,    -1,    48,    -1,    50,    -1,
 
684
    -1,    53,    54,    55,     1,    -1,     3,     4,    -1,    -1,
 
685
     7,     8,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
686
    -1,    -1,    -1,    -1,     1,    -1,     3,     4,    -1,    -1,
 
687
     7,     8,    -1,    -1,    31,    -1,    -1,    -1,    35,    36,
 
688
    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    45,    46,
 
689
    -1,    48,    -1,    50,    31,    -1,    53,    54,    35,    36,
 
690
    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    45,    46,
 
691
    -1,    48,     1,    50,     3,     4,    53,    54,     7,     8,
 
692
    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
693
    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
694
    -1,    -1,    31,    -1,    -1,    -1,    35,    36,    37,    38,
 
695
    -1,    -1,    -1,    -1,    -1,    -1,    45,    46,    -1,    48,
 
696
    -1,    50,     3,     4,    53,    54,     7,     8,     9,    -1,
 
697
    -1,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
698
    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
699
    -1,    32,    33,    34,    35,    36,    37,    38,    39,    -1,
 
700
    -1,    42,    43,    44,    45,    46,    -1,    -1,    -1,    50,
 
701
    -1,    -1,    53,    54,    55,     3,     4,    -1,    -1,     7,
 
702
     8,     9,    -1,    -1,    12,    -1,    -1,    -1,    -1,    -1,
 
703
    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
704
    -1,    -1,    -1,    -1,    32,    33,    34,    35,    36,    37,
 
705
    38,    39,    -1,    41,    42,    43,    44,    45,    46,    -1,
 
706
    -1,    -1,    50,     3,     4,    53,    54,     7,     8,     9,
 
707
    -1,    -1,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
708
    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
709
    -1,    -1,    32,    33,    34,    35,    36,    37,    38,    39,
 
710
    40,    -1,    42,    43,    44,    45,    46,    -1,    -1,    -1,
 
711
    50,     3,     4,    53,    54,     7,     8,     9,    -1,    -1,
721
712
    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
722
713
    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
723
 
    32,    33,    34,    35,    36,    37,    38,    39,    -1,    41,
724
 
    42,    43,    44,    45,    -1,    -1,    -1,    49,    -1,    -1,
725
 
    52,    53,    54,     3,     4,    -1,    -1,     7,     8,     9,
726
 
    -1,    -1,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
727
 
    -1,    -1,    -1,    -1,    -1,    -1,     4,    -1,    -1,     7,
728
 
     8,     9,    32,    33,    34,    35,    36,    37,    38,    39,
729
 
    40,    41,    42,    43,    44,    45,    -1,    -1,    -1,    49,
730
 
     3,     4,    52,    53,     7,     8,     9,    35,    36,    12,
731
 
    -1,    -1,    -1,    41,    42,    43,    44,    45,    -1,    -1,
732
 
    -1,    49,    -1,    -1,    52,    53,    -1,    -1,    -1,    32,
733
 
    33,    34,    35,    36,    37,    38,    39,    -1,    41,    42,
734
 
    43,    44,    45,    -1,    -1,    -1,    49,     3,     4,    52,
735
 
    53,     7,     8,     9,    -1,    -1,    12,    -1,    -1,    -1,
736
 
    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
737
 
     4,    -1,    -1,     7,     8,     9,    32,    33,    12,    35,
738
 
    36,    37,    38,    -1,    -1,    41,    42,    43,    44,    45,
739
 
    -1,    -1,    -1,    49,    -1,    -1,    52,    53,    32,    33,
740
 
    34,    35,    36,    37,    38,    39,    40,    -1,     3,     4,
741
 
    44,    45,     7,     8,     9,    49,    -1,    12,    52,    53,
742
 
    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
743
 
     3,     4,    -1,    -1,     7,     8,     9,    32,    -1,    12,
744
 
    35,    36,    37,    38,    -1,    -1,    41,    42,    43,    44,
745
 
    45,    -1,    -1,    -1,    49,    -1,    -1,    52,    53,    32,
746
 
    33,    34,    35,    36,    37,    38,    39,    -1,    -1,     3,
747
 
     4,    44,    45,     7,     8,     9,    49,    -1,    12,    52,
748
 
    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,
749
 
    -1,    -1,     7,     8,     9,    -1,    -1,    12,    32,    33,
750
 
    -1,    35,    36,    37,    38,    -1,    -1,    -1,     3,     4,
751
 
    44,    45,     7,     8,    -1,    49,    -1,    32,    52,    53,
752
 
    35,    36,    37,    38,    -1,    -1,    -1,     3,     4,    44,
753
 
    45,     7,     8,    -1,    49,    -1,    31,    52,    53,    -1,
754
 
    35,    36,    37,    38,    -1,    -1,    -1,    -1,    -1,    44,
755
 
    45,    -1,    47,    -1,    49,    31,    -1,    52,    53,    35,
756
 
    36,    37,    38,    -1,    -1,    -1,    -1,    -1,    44,    45,
757
 
    -1,    47,    -1,    49,     3,     4,    52,    53,     7,     8,
758
 
    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
759
 
    -1,    -1,    -1,     3,     4,    -1,    -1,     7,     8,    -1,
760
 
    -1,    -1,    31,    -1,    -1,    -1,    35,    36,    37,    38,
761
 
    -1,    -1,    -1,    -1,    -1,    44,    45,    -1,    47,    -1,
762
 
    49,    -1,    -1,    52,    53,    35,    36,    37,    38,    -1,
763
 
    -1,    -1,    -1,    -1,    44,    45,    -1,    47,    -1,    49,
764
 
     3,     4,    52,    53,     7,     8,    -1,    -1,    -1,    -1,
765
 
    -1,    -1,    -1,    -1,    -1,    -1,     4,    -1,    -1,     7,
 
714
    32,    33,    34,    35,    36,    37,    38,    39,    -1,    -1,
 
715
    42,    43,    44,    45,    46,    -1,    -1,    -1,    50,     3,
 
716
     4,    53,    54,     7,     8,     9,    -1,    -1,    12,    -1,
 
717
    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
718
    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    32,    33,
 
719
    -1,    35,    36,    37,    38,    -1,    -1,    -1,    42,    43,
 
720
    44,    45,    46,    -1,    -1,    -1,    50,     3,     4,    53,
 
721
    54,     7,     8,     9,    -1,    -1,    12,    -1,    -1,    -1,
 
722
    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,    -1,
 
723
    -1,     7,     8,    -1,    -1,    -1,    32,    33,    34,    35,
 
724
    36,    37,    38,    39,    40,    -1,    -1,     3,     4,    45,
 
725
    46,     7,     8,     9,    50,    31,    12,    53,    54,    35,
 
726
    36,    37,    38,    -1,    -1,    -1,    -1,    -1,    -1,    45,
 
727
    46,    -1,    48,    -1,    50,    -1,    32,    53,    54,    35,
 
728
    36,    37,    38,    -1,    -1,    -1,    42,    43,    44,    45,
 
729
    46,    -1,    -1,    -1,    50,     3,     4,    53,    54,     7,
766
730
     8,     9,    -1,    -1,    12,    -1,    -1,    -1,    -1,    -1,
767
 
    -1,    -1,    35,    36,    37,    38,    -1,    -1,    -1,    -1,
768
 
    -1,    44,    45,    -1,    -1,    -1,    49,    35,    36,    52,
769
 
    53,    -1,    -1,    41,    42,    43,    44,    45,    -1,    -1,
770
 
    -1,    49,    -1,    -1,    52,    53
 
731
    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
 
732
    -1,    -1,    -1,    -1,    32,    33,    34,    35,    36,    37,
 
733
    38,    39,    -1,    -1,    -1,     3,     4,    45,    46,     7,
 
734
     8,     9,    50,    -1,    12,    53,    54,    -1,    -1,    -1,
 
735
    -1,    -1,    -1,    -1,    -1,     3,     4,    -1,    -1,     7,
 
736
     8,    -1,    -1,    -1,    32,    33,    -1,    35,    36,    37,
 
737
    38,    -1,    -1,    -1,    -1,     3,     4,    45,    46,     7,
 
738
     8,     9,    50,    31,    12,    53,    54,    35,    36,    37,
 
739
    38,    -1,    -1,    -1,    -1,    -1,    -1,    45,    46,    -1,
 
740
    48,    -1,    50,    -1,    32,    53,    54,    35,    36,    37,
 
741
    38,     3,     4,    -1,    -1,     7,     8,    45,    46,    -1,
 
742
    -1,    -1,    50,    -1,    -1,    53,    54,    -1,    -1,    -1,
 
743
    -1,     3,     4,    -1,    -1,     7,     8,     3,     4,    31,
 
744
    -1,     7,     8,    35,    36,    37,    38,    -1,    -1,    -1,
 
745
    -1,    -1,    -1,    45,    46,    -1,    48,    -1,    50,    -1,
 
746
    -1,    53,    54,    35,    36,    37,    38,    -1,    -1,    35,
 
747
    36,    37,    38,    45,    46,    -1,    48,    -1,    50,    45,
 
748
    46,    53,    54,    -1,    50,    -1,     4,    53,    54,     7,
 
749
     8,     9,    -1,    -1,    12,    -1,    -1,    -1,    -1,     4,
 
750
    -1,    -1,     7,     8,     9,    -1,    -1,    -1,    -1,    -1,
 
751
    -1,    -1,    -1,    -1,    -1,    -1,    -1,    35,    36,    -1,
 
752
    -1,    -1,    -1,    -1,    42,    43,    44,    45,    46,    -1,
 
753
    35,    36,    50,    -1,    -1,    53,    54,    42,    43,    44,
 
754
    45,    46,    -1,    -1,    -1,    50,    -1,    -1,    53,    54
771
755
};
772
756
/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
773
 
#line 3 "/local/lib/bison.simple"
 
757
#line 3 "/usr/local/lib/bison.simple"
774
758
 
775
759
/* Skeleton output parser for bison,
776
760
   Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
794
778
#ifdef __GNUC__
795
779
#define alloca __builtin_alloca
796
780
#else /* not GNU C.  */
797
 
#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc)
 
781
#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__)
798
782
#include <alloca.h>
799
783
#else /* not sparc */
800
784
#if defined (MSDOS) && !defined (__TURBOC__)
936
920
#endif
937
921
#endif
938
922
 
939
 
#line 169 "/local/lib/bison.simple"
 
923
#line 169 "/usr/local/lib/bison.simple"
940
924
int
941
925
yyparse()
942
926
{
992
976
 
993
977
  /* Initialize stack pointers.
994
978
     Waste one element of value and location stack
995
 
     so that they stay on the same level as the state stack.
996
 
     The wasted elements are never initialized.  */
 
979
     so that they stay on the same level as the state stack.  */
997
980
 
998
981
  yyssp = yyss - 1;
999
982
  yyvsp = yyvs;
1076
1059
    fprintf(stderr, "Entering state %d\n", yystate);
1077
1060
#endif
1078
1061
 
1079
 
  goto yybackup;
1080
1062
 yybackup:
1081
1063
 
1082
1064
/* Do appropriate processing given the current state.  */
1201
1183
      fprintf (stderr, "Reducing via rule %d (line %d), ",
1202
1184
               yyn, yyrline[yyn]);
1203
1185
 
1204
 
      /* Print the symbols being reduced, and their result.  */
 
1186
      /* Print the symboles being reduced, and their result.  */
1205
1187
      for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
1206
1188
        fprintf (stderr, "%s ", yytname[yyrhs[i]]);
1207
1189
      fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
1212
1194
  switch (yyn) {
1213
1195
 
1214
1196
case 1:
1215
 
#line 134 "awk.y"
 
1197
#line 135 "awk.y"
1216
1198
{ expression_value = yyvsp[-1].nodeval; ;
1217
1199
    break;}
1218
1200
case 2:
1219
 
#line 139 "awk.y"
 
1201
#line 140 "awk.y"
1220
1202
1221
1203
                        if (yyvsp[0].nodeval != NULL)
1222
1204
                                yyval.nodeval = yyvsp[0].nodeval;
1226
1208
                ;
1227
1209
    break;}
1228
1210
case 3:
1229
 
#line 148 "awk.y"
 
1211
#line 149 "awk.y"
1230
1212
{
1231
1213
                        if (yyvsp[0].nodeval == NULL)
1232
1214
                                yyval.nodeval = yyvsp[-1].nodeval;
1243
1225
                ;
1244
1226
    break;}
1245
1227
case 4:
1246
 
#line 162 "awk.y"
 
1228
#line 163 "awk.y"
1247
1229
{ yyval.nodeval = NULL; ;
1248
1230
    break;}
1249
1231
case 5:
1250
 
#line 163 "awk.y"
 
1232
#line 164 "awk.y"
1251
1233
{ yyval.nodeval = NULL; ;
1252
1234
    break;}
1253
1235
case 6:
1254
 
#line 167 "awk.y"
 
1236
#line 168 "awk.y"
1255
1237
{ io_allowed = 0; ;
1256
1238
    break;}
1257
1239
case 7:
1258
 
#line 169 "awk.y"
 
1240
#line 170 "awk.y"
1259
1241
{
1260
1242
                if (begin_block) {
1261
1243
                        if (begin_block->type != Node_rule_list)
1272
1254
          ;
1273
1255
    break;}
1274
1256
case 8:
1275
 
#line 183 "awk.y"
 
1257
#line 184 "awk.y"
1276
1258
{ io_allowed = 0; ;
1277
1259
    break;}
1278
1260
case 9:
1279
 
#line 185 "awk.y"
 
1261
#line 186 "awk.y"
1280
1262
{
1281
1263
                if (end_block) {
1282
1264
                        if (end_block->type != Node_rule_list)
1293
1275
          ;
1294
1276
    break;}
1295
1277
case 10:
1296
 
#line 200 "awk.y"
 
1278
#line 201 "awk.y"
1297
1279
{
1298
1280
                warning("BEGIN blocks must have an action part");
1299
1281
                errcount++;
1301
1283
          ;
1302
1284
    break;}
1303
1285
case 11:
1304
 
#line 206 "awk.y"
 
1286
#line 207 "awk.y"
1305
1287
{
1306
1288
                warning("END blocks must have an action part");
1307
1289
                errcount++;
1309
1291
          ;
1310
1292
    break;}
1311
1293
case 12:
1312
 
#line 212 "awk.y"
 
1294
#line 213 "awk.y"
1313
1295
{ yyval.nodeval = node (yyvsp[-1].nodeval, Node_rule_node, yyvsp[0].nodeval); yyerrok; ;
1314
1296
    break;}
1315
1297
case 13:
1316
 
#line 214 "awk.y"
 
1298
#line 215 "awk.y"
1317
1299
{ yyval.nodeval = node ((NODE *)NULL, Node_rule_node, yyvsp[0].nodeval); yyerrok; ;
1318
1300
    break;}
1319
1301
case 14:
1320
 
#line 216 "awk.y"
 
1302
#line 217 "awk.y"
1321
1303
{
1322
1304
                  yyval.nodeval = node (yyvsp[-1].nodeval,
1323
1305
                             Node_rule_node,
1332
1314
                ;
1333
1315
    break;}
1334
1316
case 15:
1335
 
#line 229 "awk.y"
 
1317
#line 230 "awk.y"
1336
1318
{
1337
1319
                        func_install(yyvsp[-1].nodeval, yyvsp[0].nodeval);
1338
1320
                        yyval.nodeval = NULL;
1340
1322
                ;
1341
1323
    break;}
1342
1324
case 16:
1343
 
#line 238 "awk.y"
 
1325
#line 239 "awk.y"
1344
1326
{ yyval.sval = yyvsp[0].sval; ;
1345
1327
    break;}
1346
1328
case 17:
1347
 
#line 240 "awk.y"
 
1329
#line 241 "awk.y"
1348
1330
{ yyval.sval = yyvsp[0].sval; ;
1349
1331
    break;}
1350
1332
case 18:
1351
 
#line 242 "awk.y"
 
1333
#line 243 "awk.y"
1352
1334
{
1353
1335
                yyerror("%s() is a built-in function, it cannot be redefined",
1354
1336
                        tokstart);
1357
1339
          ;
1358
1340
    break;}
1359
1341
case 21:
1360
 
#line 257 "awk.y"
 
1342
#line 258 "awk.y"
1361
1343
{
1362
1344
                        param_counter = 0;
1363
1345
                ;
1364
1346
    break;}
1365
1347
case 22:
1366
 
#line 261 "awk.y"
 
1348
#line 262 "awk.y"
1367
1349
{
1368
1350
                        yyval.nodeval = append_right(make_param(yyvsp[-4].sval), yyvsp[-2].nodeval);
1369
1351
                        can_return = 1;
1370
1352
                ;
1371
1353
    break;}
1372
1354
case 23:
1373
 
#line 269 "awk.y"
 
1355
#line 270 "awk.y"
1374
1356
{
1375
1357
                yyval.nodeval = yyvsp[-2].nodeval;
1376
1358
                can_return = 0;
1377
1359
          ;
1378
1360
    break;}
1379
1361
case 24:
1380
 
#line 278 "awk.y"
 
1362
#line 279 "awk.y"
1381
1363
{ yyval.nodeval = yyvsp[0].nodeval; ;
1382
1364
    break;}
1383
1365
case 25:
1384
 
#line 280 "awk.y"
 
1366
#line 281 "awk.y"
1385
1367
{ yyval.nodeval = mkrangenode ( node(yyvsp[-2].nodeval, Node_cond_pair, yyvsp[0].nodeval) ); ;
1386
1368
    break;}
1387
1369
case 26:
1388
 
#line 289 "awk.y"
 
1370
#line 290 "awk.y"
1389
1371
{ ++want_regexp; ;
1390
1372
    break;}
1391
1373
case 27:
1392
 
#line 291 "awk.y"
 
1374
#line 292 "awk.y"
1393
1375
{
1394
1376
                  NODE *n;
1395
1377
                  int len;
1406
1388
                ;
1407
1389
    break;}
1408
1390
case 28:
1409
 
#line 309 "awk.y"
 
1391
#line 310 "awk.y"
1410
1392
{ yyval.nodeval = yyvsp[-3].nodeval ; ;
1411
1393
    break;}
1412
1394
case 29:
1413
 
#line 311 "awk.y"
 
1395
#line 312 "awk.y"
1414
1396
{ yyval.nodeval = NULL; ;
1415
1397
    break;}
1416
1398
case 30:
1417
 
#line 316 "awk.y"
 
1399
#line 317 "awk.y"
1418
1400
{ yyval.nodeval = yyvsp[0].nodeval; ;
1419
1401
    break;}
1420
1402
case 31:
1421
 
#line 318 "awk.y"
 
1403
#line 319 "awk.y"
1422
1404
{
1423
1405
                        if (yyvsp[-1].nodeval == NULL || yyvsp[-1].nodeval->type != Node_statement_list)
1424
1406
                                yyvsp[-1].nodeval = node(yyvsp[-1].nodeval, Node_statement_list,(NODE *)NULL);
1428
1410
                ;
1429
1411
    break;}
1430
1412
case 32:
1431
 
#line 326 "awk.y"
 
1413
#line 327 "awk.y"
1432
1414
{ yyval.nodeval = NULL; ;
1433
1415
    break;}
1434
1416
case 33:
1435
 
#line 328 "awk.y"
 
1417
#line 329 "awk.y"
1436
1418
{ yyval.nodeval = NULL; ;
1437
1419
    break;}
1438
1420
case 36:
1439
 
#line 338 "awk.y"
 
1421
#line 339 "awk.y"
1440
1422
{ yyval.nodeval = NULL; ;
1441
1423
    break;}
1442
1424
case 37:
1443
 
#line 340 "awk.y"
 
1425
#line 341 "awk.y"
1444
1426
{ yyval.nodeval = NULL; ;
1445
1427
    break;}
1446
1428
case 38:
1447
 
#line 342 "awk.y"
 
1429
#line 343 "awk.y"
1448
1430
{ yyval.nodeval = yyvsp[-1].nodeval; ;
1449
1431
    break;}
1450
1432
case 39:
1451
 
#line 344 "awk.y"
 
1433
#line 345 "awk.y"
1452
1434
{ yyval.nodeval = yyvsp[0].nodeval; ;
1453
1435
    break;}
1454
1436
case 40:
1455
 
#line 346 "awk.y"
 
1437
#line 347 "awk.y"
1456
1438
{ yyval.nodeval = node (yyvsp[-3].nodeval, Node_K_while, yyvsp[0].nodeval); ;
1457
1439
    break;}
1458
1440
case 41:
1459
 
#line 348 "awk.y"
 
1441
#line 349 "awk.y"
1460
1442
{ yyval.nodeval = node (yyvsp[-2].nodeval, Node_K_do, yyvsp[-5].nodeval); ;
1461
1443
    break;}
1462
1444
case 42:
1463
 
#line 350 "awk.y"
 
1445
#line 351 "awk.y"
1464
1446
{
1465
1447
                yyval.nodeval = node (yyvsp[0].nodeval, Node_K_arrayfor, make_for_loop(variable(yyvsp[-5].sval,1),
1466
1448
                        (NODE *)NULL, variable(yyvsp[-3].sval,1)));
1467
1449
          ;
1468
1450
    break;}
1469
1451
case 43:
1470
 
#line 355 "awk.y"
 
1452
#line 356 "awk.y"
1471
1453
{
1472
1454
                yyval.nodeval = node(yyvsp[0].nodeval, Node_K_for, (NODE *)make_for_loop(yyvsp[-7].nodeval, yyvsp[-5].nodeval, yyvsp[-3].nodeval));
1473
1455
          ;
1474
1456
    break;}
1475
1457
case 44:
1476
 
#line 359 "awk.y"
 
1458
#line 360 "awk.y"
1477
1459
{
1478
1460
                yyval.nodeval = node (yyvsp[0].nodeval, Node_K_for,
1479
1461
                        (NODE *)make_for_loop(yyvsp[-6].nodeval, (NODE *)NULL, yyvsp[-3].nodeval));
1480
1462
          ;
1481
1463
    break;}
1482
1464
case 45:
1483
 
#line 365 "awk.y"
 
1465
#line 366 "awk.y"
1484
1466
{ yyval.nodeval = node ((NODE *)NULL, Node_K_break, (NODE *)NULL); ;
1485
1467
    break;}
1486
1468
case 46:
1487
 
#line 368 "awk.y"
 
1469
#line 369 "awk.y"
1488
1470
{ yyval.nodeval = node ((NODE *)NULL, Node_K_continue, (NODE *)NULL); ;
1489
1471
    break;}
1490
1472
case 47:
1491
 
#line 370 "awk.y"
 
1473
#line 371 "awk.y"
1492
1474
{ yyval.nodeval = node (yyvsp[-3].nodeval, yyvsp[-5].nodetypeval, yyvsp[-1].nodeval); ;
1493
1475
    break;}
1494
1476
case 48:
1495
 
#line 372 "awk.y"
 
1477
#line 373 "awk.y"
1496
1478
{
1497
1479
                        if (yyvsp[-3].nodetypeval == Node_K_print && yyvsp[-2].nodeval == NULL)
1498
1480
                                yyvsp[-2].nodeval = node(node(make_number(0.0),
1505
1487
                ;
1506
1488
    break;}
1507
1489
case 49:
1508
 
#line 383 "awk.y"
 
1490
#line 384 "awk.y"
1509
1491
{ NODETYPE type;
1510
1492
 
1511
1493
                  if (yyvsp[-1].nodeval && yyvsp[-1].nodeval == lookup("file")) {
1525
1507
                ;
1526
1508
    break;}
1527
1509
case 50:
1528
 
#line 401 "awk.y"
 
1510
#line 402 "awk.y"
1529
1511
{ yyval.nodeval = node (yyvsp[-1].nodeval, Node_K_exit, (NODE *)NULL); ;
1530
1512
    break;}
1531
1513
case 51:
1532
 
#line 403 "awk.y"
 
1514
#line 404 "awk.y"
1533
1515
{ if (! can_return) yyerror("return used outside function context"); ;
1534
1516
    break;}
1535
1517
case 52:
1536
 
#line 405 "awk.y"
 
1518
#line 406 "awk.y"
1537
1519
{ yyval.nodeval = node (yyvsp[-1].nodeval, Node_K_return, (NODE *)NULL); ;
1538
1520
    break;}
1539
1521
case 53:
1540
 
#line 407 "awk.y"
 
1522
#line 408 "awk.y"
1541
1523
{ yyval.nodeval = node (variable(yyvsp[-4].sval,1), Node_K_delete, yyvsp[-2].nodeval); ;
1542
1524
    break;}
1543
1525
case 54:
1544
 
#line 409 "awk.y"
 
1526
#line 410 "awk.y"
1545
1527
{ yyval.nodeval = yyvsp[-1].nodeval; ;
1546
1528
    break;}
1547
1529
case 55:
1548
 
#line 414 "awk.y"
 
1530
#line 415 "awk.y"
1549
1531
{ yyval.nodetypeval = yyvsp[0].nodetypeval; ;
1550
1532
    break;}
1551
1533
case 56:
1552
 
#line 416 "awk.y"
 
1534
#line 417 "awk.y"
1553
1535
{ yyval.nodetypeval = yyvsp[0].nodetypeval; ;
1554
1536
    break;}
1555
1537
case 57:
1556
 
#line 421 "awk.y"
 
1538
#line 422 "awk.y"
1557
1539
{
1558
1540
                yyval.nodeval = node(yyvsp[-3].nodeval, Node_K_if, 
1559
1541
                        node(yyvsp[0].nodeval, Node_if_branches, (NODE *)NULL));
1560
1542
          ;
1561
1543
    break;}
1562
1544
case 58:
1563
 
#line 427 "awk.y"
 
1545
#line 428 "awk.y"
1564
1546
{ yyval.nodeval = node (yyvsp[-6].nodeval, Node_K_if,
1565
1547
                                node (yyvsp[-3].nodeval, Node_if_branches, yyvsp[0].nodeval)); ;
1566
1548
    break;}
1567
1549
case 59:
1568
 
#line 433 "awk.y"
 
1550
#line 434 "awk.y"
1569
1551
{ want_assign = 0; ;
1570
1552
    break;}
1571
1553
case 63:
1572
 
#line 444 "awk.y"
 
1554
#line 445 "awk.y"
1573
1555
{ yyval.nodeval = NULL; ;
1574
1556
    break;}
1575
1557
case 64:
1576
 
#line 446 "awk.y"
 
1558
#line 447 "awk.y"
1577
1559
{ yyval.nodeval = node (yyvsp[0].nodeval, Node_redirect_input, (NODE *)NULL); ;
1578
1560
    break;}
1579
1561
case 65:
1580
 
#line 451 "awk.y"
 
1562
#line 452 "awk.y"
1581
1563
{ yyval.nodeval = NULL; ;
1582
1564
    break;}
1583
1565
case 66:
1584
 
#line 453 "awk.y"
 
1566
#line 454 "awk.y"
1585
1567
{ yyval.nodeval = node (yyvsp[0].nodeval, Node_redirect_output, (NODE *)NULL); ;
1586
1568
    break;}
1587
1569
case 67:
1588
 
#line 455 "awk.y"
 
1570
#line 456 "awk.y"
1589
1571
{ yyval.nodeval = node (yyvsp[0].nodeval, Node_redirect_append, (NODE *)NULL); ;
1590
1572
    break;}
1591
1573
case 68:
1592
 
#line 457 "awk.y"
 
1574
#line 458 "awk.y"
1593
1575
{ yyval.nodeval = node (yyvsp[0].nodeval, Node_redirect_pipe, (NODE *)NULL); ;
1594
1576
    break;}
1595
1577
case 69:
1596
 
#line 462 "awk.y"
 
1578
#line 463 "awk.y"
1597
1579
{ yyval.nodeval = NULL; ;
1598
1580
    break;}
1599
1581
case 70:
1600
 
#line 464 "awk.y"
 
1582
#line 465 "awk.y"
1601
1583
{ yyval.nodeval = yyvsp[0].nodeval; ;
1602
1584
    break;}
1603
1585
case 71:
1604
 
#line 469 "awk.y"
 
1586
#line 470 "awk.y"
1605
1587
{ yyval.nodeval = make_param(yyvsp[0].sval); ;
1606
1588
    break;}
1607
1589
case 72:
1608
 
#line 471 "awk.y"
 
1590
#line 472 "awk.y"
1609
1591
{ yyval.nodeval = append_right(yyvsp[-2].nodeval, make_param(yyvsp[0].sval)); yyerrok; ;
1610
1592
    break;}
1611
1593
case 73:
1612
 
#line 473 "awk.y"
 
1594
#line 474 "awk.y"
1613
1595
{ yyval.nodeval = NULL; ;
1614
1596
    break;}
1615
1597
case 74:
1616
 
#line 475 "awk.y"
 
1598
#line 476 "awk.y"
1617
1599
{ yyval.nodeval = NULL; ;
1618
1600
    break;}
1619
1601
case 75:
1620
 
#line 477 "awk.y"
 
1602
#line 478 "awk.y"
1621
1603
{ yyval.nodeval = NULL; ;
1622
1604
    break;}
1623
1605
case 76:
1624
 
#line 483 "awk.y"
 
1606
#line 484 "awk.y"
1625
1607
{ yyval.nodeval = NULL; ;
1626
1608
    break;}
1627
1609
case 77:
1628
 
#line 485 "awk.y"
 
1610
#line 486 "awk.y"
1629
1611
{ yyval.nodeval = yyvsp[0].nodeval; ;
1630
1612
    break;}
1631
1613
case 78:
1632
 
#line 490 "awk.y"
 
1614
#line 491 "awk.y"
1633
1615
{ yyval.nodeval = NULL; ;
1634
1616
    break;}
1635
1617
case 79:
1636
 
#line 492 "awk.y"
 
1618
#line 493 "awk.y"
1637
1619
{ yyval.nodeval = yyvsp[0].nodeval; ;
1638
1620
    break;}
1639
1621
case 80:
1640
 
#line 497 "awk.y"
 
1622
#line 498 "awk.y"
1641
1623
{ yyval.nodeval = node (yyvsp[0].nodeval, Node_expression_list, (NODE *)NULL); ;
1642
1624
    break;}
1643
1625
case 81:
1644
 
#line 499 "awk.y"
 
1626
#line 500 "awk.y"
1645
1627
{
1646
1628
                yyval.nodeval = append_right(yyvsp[-2].nodeval,
1647
1629
                        node( yyvsp[0].nodeval, Node_expression_list, (NODE *)NULL));
1649
1631
          ;
1650
1632
    break;}
1651
1633
case 82:
1652
 
#line 505 "awk.y"
 
1634
#line 506 "awk.y"
1653
1635
{ yyval.nodeval = NULL; ;
1654
1636
    break;}
1655
1637
case 83:
1656
 
#line 507 "awk.y"
 
1638
#line 508 "awk.y"
1657
1639
{ yyval.nodeval = NULL; ;
1658
1640
    break;}
1659
1641
case 84:
1660
 
#line 509 "awk.y"
 
1642
#line 510 "awk.y"
1661
1643
{ yyval.nodeval = NULL; ;
1662
1644
    break;}
1663
1645
case 85:
1664
 
#line 511 "awk.y"
 
1646
#line 512 "awk.y"
1665
1647
{ yyval.nodeval = NULL; ;
1666
1648
    break;}
1667
1649
case 86:
1668
 
#line 516 "awk.y"
 
1650
#line 517 "awk.y"
1669
1651
{ yyval.nodeval = NULL; ;
1670
1652
    break;}
1671
1653
case 87:
1672
 
#line 518 "awk.y"
 
1654
#line 519 "awk.y"
1673
1655
{ yyval.nodeval = yyvsp[0].nodeval; ;
1674
1656
    break;}
1675
1657
case 88:
1676
 
#line 523 "awk.y"
 
1658
#line 524 "awk.y"
1677
1659
{ yyval.nodeval = node (yyvsp[0].nodeval, Node_expression_list, (NODE *)NULL); ;
1678
1660
    break;}
1679
1661
case 89:
1680
 
#line 525 "awk.y"
 
1662
#line 526 "awk.y"
1681
1663
{
1682
1664
                        yyval.nodeval = append_right(yyvsp[-2].nodeval,
1683
1665
                                node( yyvsp[0].nodeval, Node_expression_list, (NODE *)NULL));
1685
1667
                ;
1686
1668
    break;}
1687
1669
case 90:
1688
 
#line 531 "awk.y"
 
1670
#line 532 "awk.y"
1689
1671
{ yyval.nodeval = NULL; ;
1690
1672
    break;}
1691
1673
case 91:
1692
 
#line 533 "awk.y"
 
1674
#line 534 "awk.y"
1693
1675
{ yyval.nodeval = NULL; ;
1694
1676
    break;}
1695
1677
case 92:
1696
 
#line 535 "awk.y"
 
1678
#line 536 "awk.y"
1697
1679
{ yyval.nodeval = NULL; ;
1698
1680
    break;}
1699
1681
case 93:
1700
 
#line 537 "awk.y"
 
1682
#line 538 "awk.y"
1701
1683
{ yyval.nodeval = NULL; ;
1702
1684
    break;}
1703
1685
case 94:
1704
 
#line 542 "awk.y"
 
1686
#line 543 "awk.y"
1705
1687
{ want_assign = 0; ;
1706
1688
    break;}
1707
1689
case 95:
1708
 
#line 544 "awk.y"
 
1690
#line 545 "awk.y"
1709
1691
{
1710
1692
                  if (do_lint && yyvsp[0].nodeval->type == Node_regex)
1711
1693
                        warning("Regular expression on left of assignment.");
1713
1695
                ;
1714
1696
    break;}
1715
1697
case 96:
1716
 
#line 550 "awk.y"
 
1698
#line 551 "awk.y"
1717
1699
{ yyval.nodeval = node (variable(yyvsp[0].sval,1), Node_in_array, yyvsp[-3].nodeval); ;
1718
1700
    break;}
1719
1701
case 97:
1720
 
#line 552 "awk.y"
 
1702
#line 553 "awk.y"
1721
1703
{
1722
1704
                  yyval.nodeval = node (yyvsp[0].nodeval, Node_K_getline,
1723
1705
                         node (yyvsp[-3].nodeval, Node_redirect_pipein, (NODE *)NULL));
1724
1706
                ;
1725
1707
    break;}
1726
1708
case 98:
1727
 
#line 557 "awk.y"
 
1709
#line 558 "awk.y"
1728
1710
{
1729
1711
                  if (do_lint && ! io_allowed && yyvsp[0].nodeval == NULL)
1730
1712
                        warning("non-redirected getline undefined inside BEGIN or END action");
1732
1714
                ;
1733
1715
    break;}
1734
1716
case 99:
1735
 
#line 563 "awk.y"
 
1717
#line 564 "awk.y"
1736
1718
{ yyval.nodeval = node (yyvsp[-2].nodeval, Node_and, yyvsp[0].nodeval); ;
1737
1719
    break;}
1738
1720
case 100:
1739
 
#line 565 "awk.y"
 
1721
#line 566 "awk.y"
1740
1722
{ yyval.nodeval = node (yyvsp[-2].nodeval, Node_or, yyvsp[0].nodeval); ;
1741
1723
    break;}
1742
1724
case 101:
1743
 
#line 567 "awk.y"
 
1725
#line 568 "awk.y"
1744
1726
{
1745
1727
                  if (yyvsp[-2].nodeval->type == Node_regex)
1746
1728
                        warning("Regular expression on left of MATCH operator.");
1748
1730
                ;
1749
1731
    break;}
1750
1732
case 102:
1751
 
#line 573 "awk.y"
 
1733
#line 574 "awk.y"
1752
1734
{ yyval.nodeval = yyvsp[0].nodeval; ;
1753
1735
    break;}
1754
1736
case 103:
1755
 
#line 575 "awk.y"
 
1737
#line 576 "awk.y"
1756
1738
{
1757
1739
                  yyval.nodeval = node(node(make_number(0.0),
1758
1740
                                 Node_field_spec,
1762
1744
                ;
1763
1745
    break;}
1764
1746
case 104:
1765
 
#line 583 "awk.y"
 
1747
#line 584 "awk.y"
1766
1748
{ yyval.nodeval = node (variable(yyvsp[0].sval,1), Node_in_array, yyvsp[-2].nodeval); ;
1767
1749
    break;}
1768
1750
case 105:
1769
 
#line 585 "awk.y"
 
1751
#line 586 "awk.y"
1770
1752
{
1771
1753
                  if (do_lint && yyvsp[0].nodeval->type == Node_regex)
1772
1754
                        warning("Regular expression on left of comparison.");
1774
1756
                ;
1775
1757
    break;}
1776
1758
case 106:
1777
 
#line 591 "awk.y"
 
1759
#line 592 "awk.y"
1778
1760
{ yyval.nodeval = node (yyvsp[-2].nodeval, Node_less, yyvsp[0].nodeval); ;
1779
1761
    break;}
1780
1762
case 107:
1781
 
#line 593 "awk.y"
 
1763
#line 594 "awk.y"
1782
1764
{ yyval.nodeval = node (yyvsp[-2].nodeval, Node_greater, yyvsp[0].nodeval); ;
1783
1765
    break;}
1784
1766
case 108:
1785
 
#line 595 "awk.y"
 
1767
#line 596 "awk.y"
1786
1768
{ yyval.nodeval = node(yyvsp[-4].nodeval, Node_cond_exp, node(yyvsp[-2].nodeval, Node_if_branches, yyvsp[0].nodeval));;
1787
1769
    break;}
1788
1770
case 109:
1789
 
#line 597 "awk.y"
 
1771
#line 598 "awk.y"
1790
1772
{ yyval.nodeval = yyvsp[0].nodeval; ;
1791
1773
    break;}
1792
1774
case 110:
1793
 
#line 599 "awk.y"
 
1775
#line 600 "awk.y"
1794
1776
{ yyval.nodeval = node (yyvsp[-1].nodeval, Node_concat, yyvsp[0].nodeval); ;
1795
1777
    break;}
1796
1778
case 111:
1797
 
#line 604 "awk.y"
 
1779
#line 605 "awk.y"
1798
1780
{ want_assign = 0; ;
1799
1781
    break;}
1800
1782
case 112:
1801
 
#line 606 "awk.y"
 
1783
#line 607 "awk.y"
1802
1784
{ yyval.nodeval = node (yyvsp[-3].nodeval, yyvsp[-2].nodetypeval, yyvsp[0].nodeval); ;
1803
1785
    break;}
1804
1786
case 113:
1805
 
#line 608 "awk.y"
 
1787
#line 609 "awk.y"
1806
1788
{ yyval.nodeval = node (yyvsp[-2].nodeval, Node_and, yyvsp[0].nodeval); ;
1807
1789
    break;}
1808
1790
case 114:
1809
 
#line 610 "awk.y"
 
1791
#line 611 "awk.y"
1810
1792
{ yyval.nodeval = node (yyvsp[-2].nodeval, Node_or, yyvsp[0].nodeval); ;
1811
1793
    break;}
1812
1794
case 115:
1813
 
#line 612 "awk.y"
 
1795
#line 613 "awk.y"
1814
1796
{
1815
1797
                  if (do_lint && ! io_allowed && yyvsp[0].nodeval == NULL)
1816
1798
                        warning("non-redirected getline undefined inside BEGIN or END action");
1818
1800
                ;
1819
1801
    break;}
1820
1802
case 116:
1821
 
#line 618 "awk.y"
 
1803
#line 619 "awk.y"
1822
1804
{ yyval.nodeval = yyvsp[0].nodeval; ;
1823
1805
    break;}
1824
1806
case 117:
1825
 
#line 620 "awk.y"
 
1807
#line 621 "awk.y"
1826
1808
{ yyval.nodeval = node((NODE *) NULL, Node_nomatch, yyvsp[0].nodeval); ;
1827
1809
    break;}
1828
1810
case 118:
1829
 
#line 622 "awk.y"
 
1811
#line 623 "awk.y"
1830
1812
{ yyval.nodeval = node (yyvsp[-2].nodeval, yyvsp[-1].nodetypeval, mk_rexp(yyvsp[0].nodeval)); ;
1831
1813
    break;}
1832
1814
case 119:
1833
 
#line 624 "awk.y"
 
1815
#line 625 "awk.y"
1834
1816
{ yyval.nodeval = node (variable(yyvsp[0].sval,1), Node_in_array, yyvsp[-2].nodeval); ;
1835
1817
    break;}
1836
1818
case 120:
1837
 
#line 626 "awk.y"
 
1819
#line 627 "awk.y"
1838
1820
{ yyval.nodeval = node (yyvsp[-2].nodeval, yyvsp[-1].nodetypeval, yyvsp[0].nodeval); ;
1839
1821
    break;}
1840
1822
case 121:
1841
 
#line 628 "awk.y"
 
1823
#line 629 "awk.y"
1842
1824
{ yyval.nodeval = node(yyvsp[-4].nodeval, Node_cond_exp, node(yyvsp[-2].nodeval, Node_if_branches, yyvsp[0].nodeval));;
1843
1825
    break;}
1844
1826
case 122:
1845
 
#line 630 "awk.y"
 
1827
#line 631 "awk.y"
1846
1828
{ yyval.nodeval = yyvsp[0].nodeval; ;
1847
1829
    break;}
1848
1830
case 123:
1849
 
#line 632 "awk.y"
 
1831
#line 633 "awk.y"
1850
1832
{ yyval.nodeval = node (yyvsp[-1].nodeval, Node_concat, yyvsp[0].nodeval); ;
1851
1833
    break;}
1852
1834
case 125:
1853
 
#line 639 "awk.y"
 
1835
#line 640 "awk.y"
1854
1836
{ yyval.nodeval = node (yyvsp[-2].nodeval, Node_exp, yyvsp[0].nodeval); ;
1855
1837
    break;}
1856
1838
case 126:
1857
 
#line 641 "awk.y"
 
1839
#line 642 "awk.y"
1858
1840
{ yyval.nodeval = node (yyvsp[-2].nodeval, Node_times, yyvsp[0].nodeval); ;
1859
1841
    break;}
1860
1842
case 127:
1861
 
#line 643 "awk.y"
 
1843
#line 644 "awk.y"
1862
1844
{ yyval.nodeval = node (yyvsp[-2].nodeval, Node_quotient, yyvsp[0].nodeval); ;
1863
1845
    break;}
1864
1846
case 128:
1865
 
#line 645 "awk.y"
 
1847
#line 646 "awk.y"
1866
1848
{ yyval.nodeval = node (yyvsp[-2].nodeval, Node_mod, yyvsp[0].nodeval); ;
1867
1849
    break;}
1868
1850
case 129:
1869
 
#line 647 "awk.y"
 
1851
#line 648 "awk.y"
1870
1852
{ yyval.nodeval = node (yyvsp[-2].nodeval, Node_plus, yyvsp[0].nodeval); ;
1871
1853
    break;}
1872
1854
case 130:
1873
 
#line 649 "awk.y"
 
1855
#line 650 "awk.y"
1874
1856
{ yyval.nodeval = node (yyvsp[-2].nodeval, Node_minus, yyvsp[0].nodeval); ;
1875
1857
    break;}
1876
1858
case 131:
1877
 
#line 651 "awk.y"
 
1859
#line 652 "awk.y"
1878
1860
{ yyval.nodeval = node (yyvsp[-1].nodeval, Node_postincrement, (NODE *)NULL); ;
1879
1861
    break;}
1880
1862
case 132:
1881
 
#line 653 "awk.y"
 
1863
#line 654 "awk.y"
1882
1864
{ yyval.nodeval = node (yyvsp[-1].nodeval, Node_postdecrement, (NODE *)NULL); ;
1883
1865
    break;}
1884
1866
case 133:
1885
 
#line 658 "awk.y"
 
1867
#line 659 "awk.y"
1886
1868
{ yyval.nodeval = node (yyvsp[0].nodeval, Node_not,(NODE *) NULL); ;
1887
1869
    break;}
1888
1870
case 134:
1889
 
#line 660 "awk.y"
 
1871
#line 661 "awk.y"
1890
1872
{ yyval.nodeval = yyvsp[-1].nodeval; ;
1891
1873
    break;}
1892
1874
case 135:
1893
 
#line 663 "awk.y"
 
1875
#line 664 "awk.y"
1894
1876
{ yyval.nodeval = snode (yyvsp[-1].nodeval, Node_builtin, (int) yyvsp[-3].lval); ;
1895
1877
    break;}
1896
1878
case 136:
1897
 
#line 665 "awk.y"
 
1879
#line 666 "awk.y"
1898
1880
{ yyval.nodeval = snode (yyvsp[-1].nodeval, Node_builtin, (int) yyvsp[-3].lval); ;
1899
1881
    break;}
1900
1882
case 137:
1901
 
#line 667 "awk.y"
 
1883
#line 668 "awk.y"
1902
1884
{
1903
1885
                if (do_lint)
1904
1886
                        warning("call of `length' without parentheses is not portable");
1908
1890
          ;
1909
1891
    break;}
1910
1892
case 138:
1911
 
#line 675 "awk.y"
 
1893
#line 676 "awk.y"
1912
1894
{
1913
1895
                yyval.nodeval = node (yyvsp[-1].nodeval, Node_func_call, make_string(yyvsp[-3].sval, strlen(yyvsp[-3].sval)));
1914
1896
          ;
1915
1897
    break;}
1916
1898
case 140:
1917
 
#line 680 "awk.y"
 
1899
#line 681 "awk.y"
1918
1900
{ yyval.nodeval = node (yyvsp[0].nodeval, Node_preincrement, (NODE *)NULL); ;
1919
1901
    break;}
1920
1902
case 141:
1921
 
#line 682 "awk.y"
 
1903
#line 683 "awk.y"
1922
1904
{ yyval.nodeval = node (yyvsp[0].nodeval, Node_predecrement, (NODE *)NULL); ;
1923
1905
    break;}
1924
1906
case 142:
1925
 
#line 684 "awk.y"
 
1907
#line 685 "awk.y"
1926
1908
{ yyval.nodeval = yyvsp[0].nodeval; ;
1927
1909
    break;}
1928
1910
case 143:
1929
 
#line 686 "awk.y"
 
1911
#line 687 "awk.y"
1930
1912
{ yyval.nodeval = yyvsp[0].nodeval; ;
1931
1913
    break;}
1932
1914
case 144:
1933
 
#line 689 "awk.y"
 
1915
#line 690 "awk.y"
1934
1916
{ if (yyvsp[0].nodeval->type == Node_val) {
1935
1917
                        yyvsp[0].nodeval->numbr = -(force_number(yyvsp[0].nodeval));
1936
1918
                        yyval.nodeval = yyvsp[0].nodeval;
1939
1921
                ;
1940
1922
    break;}
1941
1923
case 145:
1942
 
#line 696 "awk.y"
 
1924
#line 697 "awk.y"
1943
1925
{ yyval.nodeval = yyvsp[0].nodeval; ;
1944
1926
    break;}
1945
1927
case 146:
1946
 
#line 701 "awk.y"
 
1928
#line 702 "awk.y"
1947
1929
{ yyval.nodeval = NULL; ;
1948
1930
    break;}
1949
1931
case 147:
1950
 
#line 703 "awk.y"
 
1932
#line 704 "awk.y"
1951
1933
{ yyval.nodeval = yyvsp[0].nodeval; ;
1952
1934
    break;}
1953
1935
case 148:
1954
 
#line 708 "awk.y"
 
1936
#line 709 "awk.y"
1955
1937
{ yyval.nodeval = variable(yyvsp[0].sval,1); ;
1956
1938
    break;}
1957
1939
case 149:
1958
 
#line 710 "awk.y"
 
1940
#line 711 "awk.y"
1959
1941
{
1960
1942
                if (yyvsp[-1].nodeval->rnode == NULL) {
1961
1943
                        yyval.nodeval = node (variable(yyvsp[-3].sval,1), Node_subscript, yyvsp[-1].nodeval->lnode);
1965
1947
                ;
1966
1948
    break;}
1967
1949
case 150:
1968
 
#line 718 "awk.y"
 
1950
#line 719 "awk.y"
1969
1951
{ yyval.nodeval = node (yyvsp[0].nodeval, Node_field_spec, (NODE *)NULL); ;
1970
1952
    break;}
1971
1953
case 152:
1972
 
#line 726 "awk.y"
 
1954
#line 727 "awk.y"
1973
1955
{ yyerrok; ;
1974
1956
    break;}
1975
1957
case 153:
1976
 
#line 730 "awk.y"
 
1958
#line 731 "awk.y"
1977
1959
{ yyerrok; ;
1978
1960
    break;}
1979
1961
case 156:
1980
 
#line 739 "awk.y"
 
1962
#line 740 "awk.y"
1981
1963
{ yyerrok; want_assign = 0; ;
1982
1964
    break;}
1983
1965
case 157:
1984
 
#line 742 "awk.y"
 
1966
#line 743 "awk.y"
1985
1967
{ yyerrok; ;
1986
1968
    break;}
1987
1969
}
1988
1970
   /* the action file gets copied in in place of this dollarsign */
1989
 
#line 442 "/local/lib/bison.simple"
 
1971
#line 440 "/usr/local/lib/bison.simple"
1990
1972
 
1991
1973
  yyvsp -= yylen;
1992
1974
  yyssp -= yylen;
2087
2069
        yyerror("parse error");
2088
2070
    }
2089
2071
 
2090
 
  goto yyerrlab1;
2091
2072
yyerrlab1:   /* here on error raised explicitly by an action */
2092
2073
 
2093
2074
  if (yyerrstatus == 3)
2179
2160
  yystate = yyn;
2180
2161
  goto yynewstate;
2181
2162
}
2182
 
#line 745 "awk.y"
 
2163
#line 746 "awk.y"
2183
2164
 
2184
2165
 
2185
2166
struct token {
2474
2455
        if (!nextc())
2475
2456
                return 0;
2476
2457
        pushback();
 
2458
#ifdef OS2
 
2459
        /*
 
2460
         * added for OS/2's extproc feature of cmd.exe
 
2461
         * (like #! in BSD sh)
 
2462
         */
 
2463
        if (strncasecmp(lexptr, "extproc ", 8) == 0) {
 
2464
                while (*lexptr && *lexptr != '\n')
 
2465
                        lexptr++;
 
2466
        }
 
2467
#endif
2477
2468
        lexeme = lexptr;
2478
2469
        thisline = NULL;
2479
2470
        if (want_regexp) {
2553
2544
                        sourceline++;
2554
2545
                        goto retry;
2555
2546
                } else
2556
 
                        yyerror("inappropriate use of backslash");
 
2547
                        yyerror("backslash not last character on line");
2557
2548
                break;
2558
2549
 
2559
2550
        case '$':
3076
3067
NODE *value;
3077
3068
{
3078
3069
        register NODE *hp;
3079
 
        register int len, bucket;
 
3070
        register size_t len;
 
3071
        register int bucket;
3080
3072
 
3081
3073
        len = strlen(name);
3082
3074
        bucket = hash(name, len);
3097
3089
char *name;
3098
3090
{
3099
3091
        register NODE *bucket;
3100
 
        register int len;
 
3092
        register size_t len;
3101
3093
 
3102
3094
        len = strlen(name);
3103
3095
        bucket = variables[hash(name, len)];
3159
3151
int freeit;
3160
3152
{
3161
3153
        register NODE *bucket, **save;
3162
 
        register int len;
 
3154
        register size_t len;
3163
3155
        char *name;
3164
3156
 
3165
3157
        name = np->param;