Changeset 9039 in webkit for trunk/JavaScriptCore/kjs/grammar.cpp


Ignore:
Timestamp:
Apr 22, 2005, 9:48:44 AM (20 years ago)
Author:
darin
Message:

Reviewed by John.

  • fixed <rdar://problem/4090046> JavaScript throw statement causes parse error when no semicolon is present
  • kjs/grammar.y: Added an additional rule for throw like the ones we have for all the other semicolon rules. Not sure why we missed this one earlier.
  • kjs/grammar.cpp: Regenerated.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/grammar.cpp

    r5565 r9039  
    183183
    184184
    185 #define YYFINAL         358
     185#define YYFINAL         359
    186186#define YYFLAG          -32768
    187187#define YYNTBASE        85
     
    243243   480,   483,   486,   490,   494,   497,   500,   504,   508,   511,
    244244   514,   518,   522,   528,   534,   538,   544,   545,   547,   549,
    245    552,   556,   561,   564,   568,   572,   576,   580,   584,   589,
    246    595,   598,   604,   611,   616,   622,   624,   628,   631,   635,
    247    636,   638,   640,   643,   645
     245   552,   556,   561,   564,   568,   572,   576,   580,   584,   588,
     246   593,   599,   602,   608,   615,   620,   626,   628,   632,   635,
     247   639,   640,   642,   644,   647,   649
    248248};
    249249
     
    306306     0,     9,   114,    69,     0,     9,   114,    69,   117,     0,
    307307    10,    69,     0,    10,    69,   117,     0,    58,    69,   115,
    308      0,    30,   114,    84,     0,    31,   116,   140,     0,    31,
    309    116,   141,     0,    31,   116,   140,   141,     0,    32,    62,
    310     58,    63,   116,     0,    33,   116,     0,    15,    58,    62,
    311     63,   145,     0,    15,    58,    62,   144,    63,   145,     0,
    312     15,    62,    63,   145,     0,    15,    62,   144,    63,   145,
    313      0,    58,     0,   144,    68,    58,     0,    64,    65,     0,
    314     64,   147,    65,     0,     0,   147,     0,   148,     0,   147,
    315    148,     0,   115,     0,   142,     0
     308     0,    30,   114,    84,     0,    30,   114,     1,     0,    31,
     309   116,   140,     0,    31,   116,   141,     0,    31,   116,   140,
     310   141,     0,    32,    62,    58,    63,   116,     0,    33,   116,
     311     0,    15,    58,    62,    63,   145,     0,    15,    58,    62,
     312   144,    63,   145,     0,    15,    62,    63,   145,     0,    15,
     313    62,   144,    63,   145,     0,    58,     0,   144,    68,    58,
     314     0,    64,    65,     0,    64,   147,    65,     0,     0,   147,
     315     0,   148,     0,   147,   148,     0,   115,     0,   142,     0
    316316};
    317317
     
    337337   486,   488,   492,   493,   499,   501,   505,   506,   513,   515,
    338338   519,   520,   526,   531,   536,   538,   542,   544,   547,   549,
    339    552,   554,   557,   559,   562,   567,   571,   573,   574,   577,
    340    581,   585,   587,   590,   592,   597,   599,   602,   605,   609,
    341    612,   616,   618,   621,   623
     339   552,   554,   557,   559,   562,   567,   569,   572,   574,   575,
     340   578,   582,   586,   588,   591,   593,   598,   600,   603,   606,
     341   610,   613,   617,   619,   622,   624
    342342};
    343343#endif
     
    389389   127,   127,   127,   127,   128,   128,   128,   128,   129,   129,
    390390   129,   129,   130,   131,   132,   132,   133,   133,   134,   134,
    391    135,   135,   136,   136,   137,   138,   139,   139,   139,   140,
    392    141,   142,   142,   143,   143,   144,   144,   145,   145,   146,
    393    146,   147,   147,   148,   148
     391   135,   135,   136,   136,   137,   138,   138,   139,   139,   139,
     392   140,   141,   142,   142,   143,   143,   144,   144,   145,   145,
     393   146,   146,   147,   147,   148,   148
    394394};
    395395
     
    412412     2,     2,     3,     3,     2,     2,     3,     3,     2,     2,
    413413     3,     3,     5,     5,     3,     5,     0,     1,     1,     2,
    414      3,     4,     2,     3,     3,     3,     3,     3,     4,     5,
    415      2,     5,     6,     4,     5,     1,     3,     2,     3,     0,
    416      1,     1,     2,     1,     1
     414     3,     4,     2,     3,     3,     3,     3,     3,     3,     4,
     415     5,     2,     5,     6,     4,     5,     1,     3,     2,     3,
     416     0,     1,     1,     2,     1,     1
    417417};
    418418
    419 static const short yydefact[] = {   190,
     419static const short yydefact[] = {   191,
    420420     1,     2,     3,     5,     4,     0,     0,     0,     0,     0,
    421421     0,     0,     0,     0,     0,     8,     0,     0,     0,     0,
     
    424424    11,    34,    44,    45,    46,    49,    61,    65,    68,    72,
    425425    79,    84,    86,    88,    90,    92,    94,    96,   110,     0,
    426    194,   112,   113,   114,   115,   116,   117,   118,   119,   120,
    427    121,   122,   123,   124,   125,   195,    30,   191,   192,   156,
     426   195,   112,   113,   114,   115,   116,   117,   118,   119,   120,
     427   121,   122,   123,   124,   125,   196,    30,   192,   193,   156,
    428428     0,   155,   149,     0,     9,     0,    34,    35,   134,     0,
    429429   132,   152,     0,   151,     0,     0,   160,   159,     0,    46,
     
    436436     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    437437     0,     0,     0,     0,     0,     0,     0,     0,   139,     0,
    438    138,   193,   158,   157,     0,    46,   150,     0,    27,    28,
     438   138,   194,   158,   157,     0,    46,   150,     0,    27,    28,
    439439    26,    13,    33,     0,   135,   131,     0,   130,   154,   153,
    440      0,   186,     0,     0,   162,   161,     0,     0,     0,     0,
    441      0,   176,   126,     0,     0,   177,   178,   175,    12,    14,
    442      0,     0,   127,    16,    20,    15,    18,    23,    40,     0,
    443     42,     0,    32,     0,    39,    97,    63,    62,    64,    66,
    444     67,    69,    70,    71,    78,    77,    75,    76,    73,    74,
    445     80,    81,    82,    83,    85,    87,    89,    91,    93,     0,
    446    111,   134,     0,     0,   149,   136,   133,     0,     0,     0,
    447    184,     0,     0,     0,     0,     0,     0,     0,     0,   181,
    448    179,     0,    24,     0,    41,     0,    31,    38,     0,     0,
    449    135,   149,     0,     0,   182,     0,   188,     0,   185,   187,
    450    140,     0,   143,   167,   164,   163,     0,     0,    17,    19,
    451     43,    95,     0,     0,     0,     0,   149,   183,   189,     0,
    452    142,     0,     0,   168,   169,     0,    25,     0,     0,   149,
    453    146,     0,   141,     0,     0,   165,   167,   170,   180,   147,
    454      0,     0,     0,   171,   173,     0,   148,     0,   144,   128,
    455    172,   174,   166,   145,   129,     0,     0,     0
     440     0,   187,     0,     0,   162,   161,     0,     0,     0,     0,
     441     0,   177,   176,   126,     0,     0,   178,   179,   175,    12,
     442    14,     0,     0,   127,    16,    20,    15,    18,    23,    40,
     443     0,    42,     0,    32,     0,    39,    97,    63,    62,    64,
     444    66,    67,    69,    70,    71,    78,    77,    75,    76,    73,
     445    74,    80,    81,    82,    83,    85,    87,    89,    91,    93,
     446     0,   111,   134,     0,     0,   149,   136,   133,     0,     0,
     447     0,   185,     0,     0,     0,     0,     0,     0,     0,     0,
     448   182,   180,     0,    24,     0,    41,     0,    31,    38,     0,
     449     0,   135,   149,     0,     0,   183,     0,   189,     0,   186,
     450   188,   140,     0,   143,   167,   164,   163,     0,     0,    17,
     451    19,    43,    95,     0,     0,     0,     0,   149,   184,   190,
     452     0,   142,     0,     0,   168,   169,     0,    25,     0,     0,
     453   149,   146,     0,   141,     0,     0,   165,   167,   170,   181,
     454   147,     0,     0,     0,   171,   173,     0,   148,     0,   144,
     455   128,   172,   174,   166,   145,   129,     0,     0,     0
    456456};
    457457
    458458static const short yydefgoto[] = {    39,
    459459    40,    41,   126,   127,   128,   122,   123,    42,    43,    44,
    460    136,   230,    45,    46,    47,    48,    49,    50,    51,    52,
     460   136,   231,    45,    46,    47,    48,    49,    50,    51,    52,
    461461    53,    54,    55,    56,    57,    58,    59,   154,    60,    61,
    462     62,   351,    63,    90,    91,   195,    64,    65,    66,    67,
    463    188,    68,    69,    70,    71,    72,   305,   323,   324,   325,
    464    337,    73,    74,    75,   216,   217,    76,    77,   204,   271,
    465    356,   124,    79
     462    62,   352,    63,    90,    91,   195,    64,    65,    66,    67,
     463   188,    68,    69,    70,    71,    72,   306,   324,   325,   326,
     464   338,    73,    74,    75,   217,   218,    76,    77,   204,   272,
     465   357,   124,    79
    466466};
    467467
    468 static const short yypact[] = {   779,
    469 -32768,-32768,-32768,-32768,-32768,     5,   -28,   111,   -30,     6,
    470    -31,   335,  1252,  1252,   -16,-32768,   853,    -5,  1252,     9,
    471     57,  1252,   -20,  1252,  1252,-32768,   -21,  1252,  1252,-32768,
    472   1252,   409,    -1,  1252,  1252,  1252,  1252,-32768,-32768,-32768,
    473 -32768,    42,-32768,    43,   179,-32768,-32768,   -14,    12,   195,
    474     82,   118,    72,    85,    93,   151,   -23,-32768,-32768,    11,
     468static const short yypact[] = {   780,
     469-32768,-32768,-32768,-32768,-32768,     5,   -52,   111,     9,     6,
     470    25,   336,  1253,  1253,    -3,-32768,   854,    47,  1253,    50,
     471    57,  1253,    29,  1253,  1253,-32768,    36,  1253,  1253,-32768,
     472  1253,   410,    12,  1253,  1253,  1253,  1253,-32768,-32768,-32768,
     473-32768,    83,-32768,    84,   180,-32768,-32768,   -34,    61,   220,
     474    82,   212,    76,    94,    95,   151,    31,-32768,-32768,    11,
    475475-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
    476 -32768,-32768,-32768,-32768,-32768,-32768,-32768,   779,-32768,-32768,
    477      7,-32768,   964,   161,-32768,    45,    42,-32768,   136,    17,
    478 -32768,-32768,     8,-32768,   198,    24,-32768,-32768,    18,    90,
    479 -32768,-32768,  1252,   236,  1252,-32768,  1252,  1252,   -45,   483,
    480    219,-32768,-32768,   853,-32768,-32768,    59,   202,   204,   -21,
    481    935,   123,   205,   557,-32768,   186,  1036,   197,-32768,-32768,
    482 -32768,-32768,  1108,  1252,   217,-32768,  1252,   218,-32768,-32768,
     476-32768,-32768,-32768,-32768,-32768,-32768,-32768,   780,-32768,-32768,
     477     7,-32768,   965,   102,-32768,    45,    83,-32768,   112,    16,
     478-32768,-32768,     8,-32768,   197,   -19,-32768,-32768,    18,   105,
     479-32768,-32768,  1253,   198,  1253,-32768,  1253,  1253,    20,   484,
     480   119,-32768,-32768,   854,-32768,-32768,    -6,   192,   203,    36,
     481   936,   -37,   207,   558,-32768,   174,  1037,   209,-32768,-32768,
     482-32768,-32768,  1109,  1253,   221,-32768,  1253,   222,-32768,-32768,
    483483-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
    484 -32768,-32768,-32768,  1252,  1252,  1252,  1252,  1252,  1252,  1252,
    485   1252,  1252,  1252,  1252,  1252,  1252,  1252,  1252,  1252,  1252,
    486   1252,  1252,  1252,  1252,  1252,  1252,  1252,  1252,-32768,  1252,
    487 -32768,-32768,-32768,-32768,   222,    87,   209,   203,-32768,-32768,
    488 -32768,-32768,-32768,  1252,-32768,-32768,   -30,-32768,-32768,-32768,
    489    105,-32768,   220,   103,-32768,-32768,   113,   223,   115,   116,
    490    117,-32768,-32768,   224,   -20,   249,-32768,-32768,-32768,-32768,
    491     35,  1252,-32768,-32768,    -1,-32768,-32768,-32768,-32768,   119,
    492 -32768,   196,-32768,   200,-32768,-32768,-32768,-32768,-32768,   -14,
    493    -14,    12,    12,    12,   195,   195,   195,   195,   195,   195,
    494     82,    82,    82,    82,   118,    72,    85,    93,   151,   221,
    495 -32768,    -3,   -44,  1252,  1252,-32768,-32768,   220,   126,   631,
    496 -32768,   220,   230,   853,  1252,   853,   225,   853,   233,-32768,
    497 -32768,   226,-32768,  1180,-32768,  1252,-32768,-32768,  1252,  1252,
    498    268,  1252,   127,   210,-32768,   220,-32768,   705,-32768,-32768,
    499    270,   157,-32768,   287,-32768,-32768,   234,  1252,-32768,-32768,
    500 -32768,-32768,   174,  1252,   214,   853,  1252,-32768,-32768,   853,
    501 -32768,  1252,    23,   287,-32768,   -20,-32768,   853,   175,  1252,
    502 -32768,   237,-32768,   201,   232,-32768,   287,-32768,-32768,-32768,
    503    853,   239,   853,   853,   853,   241,-32768,   853,-32768,-32768,
    504    853,   853,-32768,-32768,-32768,   307,   309,-32768
     484-32768,-32768,-32768,  1253,  1253,  1253,  1253,  1253,  1253,  1253,
     485  1253,  1253,  1253,  1253,  1253,  1253,  1253,  1253,  1253,  1253,
     486  1253,  1253,  1253,  1253,  1253,  1253,  1253,  1253,-32768,  1253,
     487-32768,-32768,-32768,-32768,   223,    87,   210,   199,-32768,-32768,
     488-32768,-32768,-32768,  1253,-32768,-32768,     9,-32768,-32768,-32768,
     489    64,-32768,   224,    99,-32768,-32768,   103,   225,   121,   122,
     490   123,-32768,-32768,-32768,   227,    29,   252,-32768,-32768,-32768,
     491-32768,    27,  1253,-32768,-32768,    12,-32768,-32768,-32768,-32768,
     492   125,-32768,   187,-32768,   201,-32768,-32768,-32768,-32768,-32768,
     493   -34,   -34,    61,    61,    61,   220,   220,   220,   220,   220,
     494   220,    82,    82,    82,    82,   212,    76,    94,    95,   151,
     495   217,-32768,    -1,   -44,  1253,  1253,-32768,-32768,   224,   156,
     496   632,-32768,   224,   232,   854,  1253,   854,   228,   854,   233,
     497-32768,-32768,   226,-32768,  1181,-32768,  1253,-32768,-32768,  1253,
     498  1253,   269,  1253,   158,   213,-32768,   224,-32768,   706,-32768,
     499-32768,   271,   175,-32768,   287,-32768,-32768,   235,  1253,-32768,
     500-32768,-32768,-32768,   176,  1253,   215,   854,  1253,-32768,-32768,
     501   854,-32768,  1253,    43,   287,-32768,    29,-32768,   854,   177,
     502  1253,-32768,   238,-32768,   202,   234,-32768,   287,-32768,-32768,
     503-32768,   854,   239,   854,   854,   854,   242,-32768,   854,-32768,
     504-32768,   854,   854,-32768,-32768,-32768,   308,   310,-32768
    505505};
    506506
    507507static const short yypgoto[] = {-32768,
    508 -32768,-32768,-32768,    89,-32768,-32768,    91,   302,   308,-32768,
    509    -34,-32768,    41,-32768,     1,   120,    88,   -18,    75,   142,
    510    143,   144,   146,   141,-32768,-32768,  -122,-32768,    -9,   -17,
    511    -22,   -25,-32768,   138,   128,    67,-32768,-32768,-32768,-32768,
    512   -249,-32768,-32768,-32768,-32768,-32768,-32768,    -7,-32768,    13,
    513 -32768,-32768,-32768,-32768,-32768,   129,-32768,-32768,   131,  -223,
     508-32768,-32768,-32768,    85,-32768,-32768,    91,   307,   309,-32768,
     509   -26,-32768,    41,-32768,     1,   116,  -114,    15,    81,   143,
     510   144,   145,   147,   142,-32768,-32768,  -122,-32768,    -9,   -17,
     511   -22,   -25,-32768,   139,   129,    67,-32768,-32768,-32768,-32768,
     512  -250,-32768,-32768,-32768,-32768,-32768,-32768,    -7,-32768,    13,
     513-32768,-32768,-32768,-32768,-32768,   117,-32768,-32768,   132,  -224,
    514514-32768,     2,   -74
    515515};
    516516
    517517
    518 #define YYLAST          1326
     518#define YYLAST          1327
    519519
    520520
    521521static const short yytable[] = {   104,
    522    111,    78,    99,   182,   227,    80,    92,   183,   199,   139,
    523    231,   179,   109,   101,   102,   294,   177,   196,   205,   106,
    524    290,   117,   180,   197,   112,   113,    95,    89,   115,   116,
    525     96,   236,   335,    83,   129,   130,   131,   132,   212,   292,
    526    189,   190,   315,   110,   295,   103,   155,   114,   299,   182,
    527    189,   190,   193,   100,   100,   260,   105,   261,   178,   100,
    528    156,   157,    81,    93,   100,   100,   125,   332,   100,   100,
    529    107,   266,   318,   187,   100,   100,   100,   100,   180,   194,
    530    342,   202,   158,   159,   197,   180,   203,   336,    82,    94,
    531    184,   200,   191,   207,   181,   209,   218,   210,   211,   283,
    532    198,   206,   191,   133,   133,   163,   164,   134,   137,   192,
    533    264,   135,   138,     1,     2,     3,     4,     5,   108,   165,
    534    166,   219,     8,   186,   232,    84,   180,   234,   140,   141,
    535     16,   140,   141,   142,   143,   144,   145,   146,   147,   148,
    536    149,   150,   151,   152,   245,   246,   247,   248,   249,   250,
    537    173,   169,   170,   171,   172,   237,   238,   239,   167,   168,
    538     26,   310,   202,   311,   174,   272,   312,   268,    85,   153,
    539    273,    30,    31,   175,    86,   274,    33,   276,   277,   278,
    540    180,   285,   180,   180,   180,   327,   286,   220,   296,   316,
    541    221,   176,   280,   273,   180,   100,   100,   100,   100,   100,
     522   111,    78,    99,   182,   228,    80,    92,   183,   199,    83,
     523   232,   179,   109,   101,   102,   295,   196,   139,   205,   106,
     524   212,   117,   291,   197,   112,   113,   155,   221,   115,   116,
     525   222,   237,   189,   190,   129,   130,   131,   132,   202,   293,
     526   156,   157,   316,   203,   296,   243,   244,   245,   300,   182,
     527   189,   190,   336,   100,   100,   261,   220,   262,   103,   100,
     528   193,   180,    81,    93,   100,   100,    89,   333,   100,   100,
     529   177,   267,   319,   187,   100,   100,   100,   100,   180,   125,
     530   343,   194,    95,   197,   191,   180,    96,   180,    82,    94,
     531   184,   200,   110,   207,   181,   209,   219,   210,   211,   198,
     532   284,   206,   191,   213,   114,   163,   164,   337,   105,   192,
     533   265,   107,   178,     1,     2,     3,     4,     5,   108,   165,
     534   166,   202,     8,   186,   233,    84,   269,   235,   140,   141,
     535    16,   158,   159,   142,   143,   144,   145,   146,   147,   148,
     536   149,   150,   151,   152,   133,   133,   140,   141,   134,   137,
     537   215,   216,   135,   138,   173,   238,   239,   240,   167,   168,
     538    26,   273,   311,    96,   312,   275,   274,   313,    85,   153,
     539   180,    30,    31,   174,    86,   175,    33,   246,   247,   248,
     540   249,   250,   251,   277,   278,   279,   328,   286,   180,   180,
     541   180,   176,   287,   281,   194,   100,   100,   100,   100,   100,
    542542   100,   100,   100,   100,   100,   100,   100,   100,   100,   100,
    543    100,   100,   100,   100,   100,   100,   100,   100,   194,   321,
    544    140,   141,    96,   182,   180,   142,   143,   144,   145,   146,
    545    147,   148,   149,   150,   151,   152,   328,   341,   160,   161,
    546    162,   180,   180,   251,   252,   253,   254,   242,   243,   244,
    547    214,   215,   224,   225,   293,   187,   301,   208,   303,   201,
    548    306,   153,   287,   180,   228,   302,   288,   180,   180,   344,
    549    -27,   298,   -28,   222,   233,   235,   180,   240,   241,   262,
    550    313,   215,   187,   270,   275,   279,   265,   300,   304,   289,
    551    307,   314,   320,   317,   308,   322,   326,   330,   331,   343,
    552    345,   348,   333,   339,   329,   353,   357,   187,   358,    87,
    553    340,   282,   334,   284,   255,    88,   256,   259,   257,   352,
    554    187,   258,   263,   347,   267,   349,   350,   350,   291,   346,
    555    354,   269,     0,   355,   355,    97,   338,     1,     2,     3,
    556      4,     5,     0,     0,   281,     0,     8,     0,     0,    84,
    557      0,    13,    14,     0,    16,     0,     0,     0,     0,     0,
    558     19,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    559      0,     0,     0,     0,     0,     0,    24,    25,     0,     0,
    560      0,     0,     0,     0,    26,     0,     0,     0,     0,     0,
    561      0,     0,    85,    28,    29,    30,    31,     0,    86,     0,
    562     33,     0,     0,     0,     0,    34,    35,    36,    37,     0,
    563      0,     1,     2,     3,   118,   119,     6,     0,    98,     7,
    564      8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    565     18,     0,     0,     0,    19,    20,    21,     0,    22,    23,
    566      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    567     24,    25,     0,     0,     0,     0,     0,     0,    26,     0,
    568      0,     0,     0,     0,     0,     0,   120,    28,    29,    30,
    569     31,     0,    32,   121,    33,     0,     0,     0,     0,    34,
    570     35,    36,    37,     0,     0,     1,     2,     3,     4,     5,
    571      6,     0,    38,     7,     8,     9,    10,    11,    12,    13,
    572     14,    15,    16,    17,    18,     0,     0,     0,    19,    20,
    573     21,     0,    22,    23,     0,     0,     0,     0,     0,     0,
    574      0,     0,     0,     0,    24,    25,     0,     0,     0,     0,
    575      0,     0,    26,     0,     0,     0,     0,     0,     0,     0,
    576     27,    28,    29,    30,    31,     0,    32,   213,    33,     0,
    577      0,     0,     0,    34,    35,    36,    37,     0,     0,     1,
    578      2,     3,     4,     5,     6,     0,    38,     7,     8,     9,
    579     10,    11,    12,    13,    14,    15,    16,    17,    18,     0,
    580      0,     0,    19,    20,    21,     0,    22,    23,     0,     0,
    581      0,     0,     0,     0,     0,     0,     0,     0,    24,    25,
    582      0,     0,     0,     0,     0,     0,    26,     0,     0,     0,
    583      0,     0,     0,     0,    27,    28,    29,    30,    31,     0,
    584     32,   223,    33,     0,     0,     0,     0,    34,    35,    36,
    585     37,     0,     0,     1,     2,     3,     4,     5,     6,     0,
    586     38,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    587     16,    17,    18,     0,     0,     0,    19,    20,    21,     0,
    588     22,    23,     0,     0,     0,     0,     0,     0,     0,     0,
    589      0,     0,    24,    25,     0,     0,     0,     0,     0,     0,
    590     26,     0,     0,     0,     0,     0,     0,     0,    27,    28,
    591     29,    30,    31,     0,    32,   297,    33,     0,     0,     0,
    592      0,    34,    35,    36,    37,     0,     0,     1,     2,     3,
    593      4,     5,     6,     0,    38,     7,     8,     9,    10,    11,
    594     12,    13,    14,    15,    16,    17,    18,     0,     0,     0,
    595     19,    20,    21,     0,    22,    23,     0,     0,     0,     0,
    596      0,     0,     0,     0,     0,     0,    24,    25,     0,     0,
    597      0,     0,     0,     0,    26,     0,     0,     0,     0,     0,
    598      0,     0,    27,    28,    29,    30,    31,     0,    32,   319,
    599     33,     0,     0,     0,     0,    34,    35,    36,    37,     0,
    600      0,     1,     2,     3,     4,     5,     6,     0,    38,     7,
    601      8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
    602     18,     0,     0,     0,    19,    20,    21,     0,    22,    23,
    603      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    604     24,    25,     0,     0,     0,     0,     0,     0,    26,     0,
    605      0,     0,     0,     0,     0,     0,    27,    28,    29,    30,
    606     31,     0,    32,     0,    33,     0,     0,     0,     0,    34,
    607     35,    36,    37,     0,     0,     1,     2,     3,     4,     5,
    608      6,     0,    38,     7,     8,     9,    10,    84,    12,    13,
    609     14,    15,    16,    17,    18,     0,     0,     0,    19,    20,
    610     21,     0,    22,    23,     0,     0,     0,     0,     0,     0,
    611      0,     0,     0,     0,    24,    25,     0,     0,     0,     0,
    612      0,     0,    26,     0,     0,     0,     0,     0,     0,     0,
    613     27,    28,    29,    30,    31,     0,    32,     0,    33,     0,
    614      0,     0,     0,    34,    35,    36,    37,     0,     0,     0,
    615      0,     0,     0,     0,  -126,     0,    38,  -126,  -126,  -126,
    616   -126,  -126,  -126,  -126,  -126,  -126,  -126,  -126,  -126,  -126,
    617   -126,  -126,  -126,  -126,  -126,  -126,  -126,  -126,     0,     0,
    618   -126,  -126,  -126,     0,  -126,  -126,     1,     2,     3,     4,
    619      5,     0,     0,     0,     0,     8,   185,     0,    84,     0,
    620     13,    14,     0,    16,     0,     0,     0,     0,     0,    19,
    621      0,     0,  -126,  -126,  -126,     0,     0,     0,  -126,  -126,
    622      0,     0,     0,     0,     0,    24,    25,  -126,  -126,     0,
    623      0,     0,     0,    26,     0,     0,     0,     0,     0,     0,
    624      0,    85,    28,    29,    30,    31,     0,    86,     0,    33,
    625      0,     0,     0,     0,    34,    35,    36,    37,     1,     2,
     543   100,   100,   100,   100,   100,   100,   100,   100,   297,   208,
     544   317,   140,   141,   274,   182,   180,   142,   143,   144,   145,
     545   146,   147,   148,   149,   150,   151,   152,   322,   329,   342,
     546   225,   226,   180,   180,   180,   169,   170,   171,   172,   252,
     547   253,   254,   255,   288,   180,   294,   187,   302,   201,   304,
     548   -27,   307,   153,   160,   161,   162,   303,   289,   180,   180,
     549   345,   -28,   299,   241,   242,   223,   229,   180,   234,   236,
     550   263,   314,   266,   187,   216,   290,   276,   271,   280,   301,
     551   308,   305,   315,   321,   309,   323,   318,   327,   331,   332,
     552   344,   349,   346,   334,   340,   330,   354,   358,   187,   359,
     553   285,   341,   283,   335,    87,   256,    88,   257,   260,   258,
     554   353,   187,   259,   264,   348,   268,   350,   351,   351,   292,
     555   347,   355,   270,   282,   356,   356,    97,   339,     1,     2,
    626556     3,     4,     5,     0,     0,     0,     0,     8,     0,     0,
    627557    84,     0,    13,    14,     0,    16,     0,     0,     0,     0,
     
    630560     0,     0,     0,     0,     0,    26,     0,     0,     0,     0,
    631561     0,     0,     0,    85,    28,    29,    30,    31,     0,    86,
    632      0,    33,   226,     0,     0,     0,    34,    35,    36,    37,
    633      1,     2,     3,     4,     5,     0,     0,     0,     0,     8,
    634      0,     0,    84,     0,    13,    14,     0,    16,     0,     0,
    635      0,     0,     0,    19,     0,     0,     0,     0,     0,     0,
     562     0,    33,     0,     0,     0,     0,    34,    35,    36,    37,
     563     0,     0,     1,     2,     3,   118,   119,     6,     0,    98,
     564     7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     565    17,    18,     0,     0,     0,    19,    20,    21,     0,    22,
     566    23,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     567     0,    24,    25,     0,     0,     0,     0,     0,     0,    26,
     568     0,     0,     0,     0,     0,     0,     0,   120,    28,    29,
     569    30,    31,     0,    32,   121,    33,     0,     0,     0,     0,
     570    34,    35,    36,    37,     0,     0,     1,     2,     3,     4,
     571     5,     6,     0,    38,     7,     8,     9,    10,    11,    12,
     572    13,    14,    15,    16,    17,    18,     0,     0,     0,    19,
     573    20,    21,     0,    22,    23,     0,     0,     0,     0,     0,
     574     0,     0,     0,     0,     0,    24,    25,     0,     0,     0,
     575     0,     0,     0,    26,     0,     0,     0,     0,     0,     0,
     576     0,    27,    28,    29,    30,    31,     0,    32,   214,    33,
     577     0,     0,     0,     0,    34,    35,    36,    37,     0,     0,
     578     1,     2,     3,     4,     5,     6,     0,    38,     7,     8,
     579     9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
     580     0,     0,     0,    19,    20,    21,     0,    22,    23,     0,
    636581     0,     0,     0,     0,     0,     0,     0,     0,     0,    24,
    637582    25,     0,     0,     0,     0,     0,     0,    26,     0,     0,
    638      0,     0,     0,     0,     0,    85,    28,    29,    30,    31,
    639    229,    86,     0,    33,     0,     0,     0,     0,    34,    35,
    640     36,    37,     1,     2,     3,     4,     5,     0,     0,     0,
    641      0,     8,     0,     0,    84,     0,    13,    14,     0,    16,
    642      0,     0,     0,     0,     0,    19,     0,     0,     0,     0,
     583     0,     0,     0,     0,     0,    27,    28,    29,    30,    31,
     584     0,    32,   224,    33,     0,     0,     0,     0,    34,    35,
     585    36,    37,     0,     0,     1,     2,     3,     4,     5,     6,
     586     0,    38,     7,     8,     9,    10,    11,    12,    13,    14,
     587    15,    16,    17,    18,     0,     0,     0,    19,    20,    21,
     588     0,    22,    23,     0,     0,     0,     0,     0,     0,     0,
     589     0,     0,     0,    24,    25,     0,     0,     0,     0,     0,
     590     0,    26,     0,     0,     0,     0,     0,     0,     0,    27,
     591    28,    29,    30,    31,     0,    32,   298,    33,     0,     0,
     592     0,     0,    34,    35,    36,    37,     0,     0,     1,     2,
     593     3,     4,     5,     6,     0,    38,     7,     8,     9,    10,
     594    11,    12,    13,    14,    15,    16,    17,    18,     0,     0,
     595     0,    19,    20,    21,     0,    22,    23,     0,     0,     0,
     596     0,     0,     0,     0,     0,     0,     0,    24,    25,     0,
     597     0,     0,     0,     0,     0,    26,     0,     0,     0,     0,
     598     0,     0,     0,    27,    28,    29,    30,    31,     0,    32,
     599   320,    33,     0,     0,     0,     0,    34,    35,    36,    37,
     600     0,     0,     1,     2,     3,     4,     5,     6,     0,    38,
     601     7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     602    17,    18,     0,     0,     0,    19,    20,    21,     0,    22,
     603    23,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     604     0,    24,    25,     0,     0,     0,     0,     0,     0,    26,
     605     0,     0,     0,     0,     0,     0,     0,    27,    28,    29,
     606    30,    31,     0,    32,     0,    33,     0,     0,     0,     0,
     607    34,    35,    36,    37,     0,     0,     1,     2,     3,     4,
     608     5,     6,     0,    38,     7,     8,     9,    10,    84,    12,
     609    13,    14,    15,    16,    17,    18,     0,     0,     0,    19,
     610    20,    21,     0,    22,    23,     0,     0,     0,     0,     0,
     611     0,     0,     0,     0,     0,    24,    25,     0,     0,     0,
     612     0,     0,     0,    26,     0,     0,     0,     0,     0,     0,
     613     0,    27,    28,    29,    30,    31,     0,    32,     0,    33,
     614     0,     0,     0,     0,    34,    35,    36,    37,     0,     0,
     615     0,     0,     0,     0,     0,  -126,     0,    38,  -126,  -126,
     616  -126,  -126,  -126,  -126,  -126,  -126,  -126,  -126,  -126,  -126,
     617  -126,  -126,  -126,  -126,  -126,  -126,  -126,  -126,  -126,     0,
     618     0,  -126,  -126,  -126,     0,  -126,  -126,     1,     2,     3,
     619     4,     5,     0,     0,     0,     0,     8,   185,     0,    84,
     620     0,    13,    14,     0,    16,     0,     0,     0,     0,     0,
     621    19,     0,     0,  -126,  -126,  -126,     0,     0,     0,  -126,
     622  -126,     0,     0,     0,     0,     0,    24,    25,  -126,  -126,
     623     0,     0,     0,     0,    26,     0,     0,     0,     0,     0,
     624     0,     0,    85,    28,    29,    30,    31,     0,    86,     0,
     625    33,     0,     0,     0,     0,    34,    35,    36,    37,     1,
     626     2,     3,     4,     5,     0,     0,     0,     0,     8,     0,
     627     0,    84,     0,    13,    14,     0,    16,     0,     0,     0,
     628     0,     0,    19,     0,     0,     0,     0,     0,     0,     0,
     629     0,     0,     0,     0,     0,     0,     0,     0,    24,    25,
     630     0,     0,     0,     0,     0,     0,    26,     0,     0,     0,
     631     0,     0,     0,     0,    85,    28,    29,    30,    31,     0,
     632    86,     0,    33,   227,     0,     0,     0,    34,    35,    36,
     633    37,     1,     2,     3,     4,     5,     0,     0,     0,     0,
     634     8,     0,     0,    84,     0,    13,    14,     0,    16,     0,
     635     0,     0,     0,     0,    19,     0,     0,     0,     0,     0,
    643636     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    644      0,    24,    25,     0,     0,     0,     0,     0,     0,    26,
    645      0,     0,     0,     0,     0,     0,     0,    85,    28,    29,
    646     30,    31,     0,    86,     0,    33,   309,     0,     0,     0,
    647     34,    35,    36,    37,     1,     2,     3,     4,     5,     0,
    648      0,     0,     0,     8,     0,     0,    84,     0,    13,    14,
    649      0,    16,     0,     0,     0,     0,     0,    19,     0,     0,
     637    24,    25,     0,     0,     0,     0,     0,     0,    26,     0,
     638     0,     0,     0,     0,     0,     0,    85,    28,    29,    30,
     639    31,   230,    86,     0,    33,     0,     0,     0,     0,    34,
     640    35,    36,    37,     1,     2,     3,     4,     5,     0,     0,
     641     0,     0,     8,     0,     0,    84,     0,    13,    14,     0,
     642    16,     0,     0,     0,     0,     0,    19,     0,     0,     0,
    650643     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    651      0,     0,     0,    24,    25,     0,     0,     0,     0,     0,
    652      0,    26,     0,     0,     0,     0,     0,     0,     0,    85,
    653     28,    29,    30,    31,     0,    86,     0,    33,     0,     0,
    654      0,     0,    34,    35,    36,    37
     644     0,     0,    24,    25,     0,     0,     0,     0,     0,     0,
     645    26,     0,     0,     0,     0,     0,     0,     0,    85,    28,
     646    29,    30,    31,     0,    86,     0,    33,   310,     0,     0,
     647     0,    34,    35,    36,    37,     1,     2,     3,     4,     5,
     648     0,     0,     0,     0,     8,     0,     0,    84,     0,    13,
     649    14,     0,    16,     0,     0,     0,     0,     0,    19,     0,
     650     0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     651     0,     0,     0,     0,    24,    25,     0,     0,     0,     0,
     652     0,     0,    26,     0,     0,     0,     0,     0,     0,     0,
     653    85,    28,    29,    30,    31,     0,    86,     0,    33,     0,
     654     0,     0,     0,    34,    35,    36,    37
    655655};
    656656
    657657static const short yycheck[] = {    17,
    658     23,     0,    12,    78,   127,     1,     1,     1,     1,    44,
    659    133,     1,    22,    13,    14,   265,    40,     1,     1,    19,
    660     24,    31,    68,    68,    24,    25,    58,    58,    28,    29,
    661     62,   154,    10,    62,    34,    35,    36,    37,    84,    84,
    662      6,     7,   292,    64,   268,    62,    61,    69,   272,   124,
    663      6,     7,    87,    13,    14,   178,    62,   180,    82,    19,
    664     75,    76,    58,    58,    24,    25,    68,   317,    28,    29,
    665     62,   194,   296,    83,    34,    35,    36,    37,    68,    83,
    666    330,    58,    71,    72,    68,    68,    63,    65,    84,    84,
    667     84,    84,    58,   103,    84,   105,   114,   107,   108,   222,
    668     84,    84,    58,    62,    62,    24,    25,    66,    66,    65,
    669     24,    70,    70,     3,     4,     5,     6,     7,    62,    38,
    670     39,    63,    12,    83,   134,    15,    68,   137,    42,    43,
    671     20,    42,    43,    47,    48,    49,    50,    51,    52,    53,
    672     54,    55,    56,    57,   163,   164,   165,   166,   167,   168,
    673     79,    34,    35,    36,    37,   155,   156,   157,    77,    78,
    674     50,   284,    58,   286,    80,    63,   289,    63,    58,    83,
    675     68,    61,    62,    81,    64,    63,    66,    63,    63,    63,
    676     68,    63,    68,    68,    68,   308,    68,    65,    63,    63,
    677     68,    41,   215,    68,    68,   155,   156,   157,   158,   159,
     658    23,     0,    12,    78,   127,     1,     1,     1,     1,    62,
     659   133,     1,    22,    13,    14,   266,     1,    44,     1,    19,
     660     1,    31,    24,    68,    24,    25,    61,    65,    28,    29,
     661    68,   154,     6,     7,    34,    35,    36,    37,    58,    84,
     662    75,    76,   293,    63,   269,   160,   161,   162,   273,   124,
     663     6,     7,    10,    13,    14,   178,    63,   180,    62,    19,
     664    87,    68,    58,    58,    24,    25,    58,   318,    28,    29,
     665    40,   194,   297,    83,    34,    35,    36,    37,    68,    68,
     666   331,    83,    58,    68,    58,    68,    62,    68,    84,    84,
     667    84,    84,    64,   103,    84,   105,   114,   107,   108,    84,
     668   223,    84,    58,    84,    69,    24,    25,    65,    62,    65,
     669    24,    62,    82,     3,     4,     5,     6,     7,    62,    38,
     670    39,    58,    12,    83,   134,    15,    63,   137,    42,    43,
     671    20,    71,    72,    47,    48,    49,    50,    51,    52,    53,
     672    54,    55,    56,    57,    62,    62,    42,    43,    66,    66,
     673    32,    33,    70,    70,    79,   155,   156,   157,    77,    78,
     674    50,    63,   285,    62,   287,    63,    68,   290,    58,    83,
     675    68,    61,    62,    80,    64,    81,    66,   163,   164,   165,
     676   166,   167,   168,    63,    63,    63,   309,    63,    68,    68,
     677    68,    41,    68,   216,    83,   155,   156,   157,   158,   159,
    678678   160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
    679    170,   171,   172,   173,   174,   175,   176,   177,    83,    63,
    680     42,    43,    62,   298,    68,    47,    48,    49,    50,    51,
    681     52,    53,    54,    55,    56,    57,    63,    63,    44,    45,
    682     46,    68,    68,   169,   170,   171,   172,   160,   161,   162,
    683     32,    33,    67,    68,   264,   265,   274,    22,   276,    62,
    684    278,    83,    67,    68,    68,   275,    67,    68,    68,    69,
    685     69,   270,    69,    69,    58,    58,    68,   158,   159,    58,
    686    290,    33,   292,    64,    62,    62,    84,    58,    64,    69,
    687     58,    24,    23,    84,    69,     9,    63,    84,   316,    63,
    688     69,    63,   320,   326,   314,    65,     0,   317,     0,     8,
    689    328,   221,   322,   225,   173,     8,   174,   177,   175,   345,
    690    330,   176,   185,   341,   197,   343,   344,   345,   262,   337,
    691    348,   201,    -1,   351,   352,     1,   324,     3,     4,     5,
    692      6,     7,    -1,    -1,   216,    -1,    12,    -1,    -1,    15,
    693     -1,    17,    18,    -1,    20,    -1,    -1,    -1,    -1,    -1,
    694     26,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    695     -1,    -1,    -1,    -1,    -1,    -1,    42,    43,    -1,    -1,
    696     -1,    -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,
    697     -1,    -1,    58,    59,    60,    61,    62,    -1,    64,    -1,
    698     66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    -1,
    699     -1,     3,     4,     5,     6,     7,     8,    -1,    84,    11,
    700     12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    701     22,    -1,    -1,    -1,    26,    27,    28,    -1,    30,    31,
    702     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    703     42,    43,    -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,
    704     -1,    -1,    -1,    -1,    -1,    -1,    58,    59,    60,    61,
    705     62,    -1,    64,    65,    66,    -1,    -1,    -1,    -1,    71,
    706     72,    73,    74,    -1,    -1,     3,     4,     5,     6,     7,
    707      8,    -1,    84,    11,    12,    13,    14,    15,    16,    17,
    708     18,    19,    20,    21,    22,    -1,    -1,    -1,    26,    27,
    709     28,    -1,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
    710     -1,    -1,    -1,    -1,    42,    43,    -1,    -1,    -1,    -1,
    711     -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    712     58,    59,    60,    61,    62,    -1,    64,    65,    66,    -1,
    713     -1,    -1,    -1,    71,    72,    73,    74,    -1,    -1,     3,
    714      4,     5,     6,     7,     8,    -1,    84,    11,    12,    13,
    715     14,    15,    16,    17,    18,    19,    20,    21,    22,    -1,
    716     -1,    -1,    26,    27,    28,    -1,    30,    31,    -1,    -1,
    717     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    43,
    718     -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,    -1,    -1,
    719     -1,    -1,    -1,    -1,    58,    59,    60,    61,    62,    -1,
    720     64,    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,
    721     74,    -1,    -1,     3,     4,     5,     6,     7,     8,    -1,
    722     84,    11,    12,    13,    14,    15,    16,    17,    18,    19,
    723     20,    21,    22,    -1,    -1,    -1,    26,    27,    28,    -1,
    724     30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    725     -1,    -1,    42,    43,    -1,    -1,    -1,    -1,    -1,    -1,
    726     50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,    59,
    727     60,    61,    62,    -1,    64,    65,    66,    -1,    -1,    -1,
    728     -1,    71,    72,    73,    74,    -1,    -1,     3,     4,     5,
    729      6,     7,     8,    -1,    84,    11,    12,    13,    14,    15,
    730     16,    17,    18,    19,    20,    21,    22,    -1,    -1,    -1,
    731     26,    27,    28,    -1,    30,    31,    -1,    -1,    -1,    -1,
    732     -1,    -1,    -1,    -1,    -1,    -1,    42,    43,    -1,    -1,
    733     -1,    -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,
    734     -1,    -1,    58,    59,    60,    61,    62,    -1,    64,    65,
    735     66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    -1,
    736     -1,     3,     4,     5,     6,     7,     8,    -1,    84,    11,
    737     12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
    738     22,    -1,    -1,    -1,    26,    27,    28,    -1,    30,    31,
    739     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    740     42,    43,    -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,
    741     -1,    -1,    -1,    -1,    -1,    -1,    58,    59,    60,    61,
    742     62,    -1,    64,    -1,    66,    -1,    -1,    -1,    -1,    71,
    743     72,    73,    74,    -1,    -1,     3,     4,     5,     6,     7,
    744      8,    -1,    84,    11,    12,    13,    14,    15,    16,    17,
    745     18,    19,    20,    21,    22,    -1,    -1,    -1,    26,    27,
    746     28,    -1,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
    747     -1,    -1,    -1,    -1,    42,    43,    -1,    -1,    -1,    -1,
    748     -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    749     58,    59,    60,    61,    62,    -1,    64,    -1,    66,    -1,
    750     -1,    -1,    -1,    71,    72,    73,    74,    -1,    -1,    -1,
    751     -1,    -1,    -1,    -1,     0,    -1,    84,     3,     4,     5,
    752      6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
    753     16,    17,    18,    19,    20,    21,    22,    23,    -1,    -1,
    754     26,    27,    28,    -1,    30,    31,     3,     4,     5,     6,
    755      7,    -1,    -1,    -1,    -1,    12,    13,    -1,    15,    -1,
    756     17,    18,    -1,    20,    -1,    -1,    -1,    -1,    -1,    26,
    757     -1,    -1,    58,    59,    60,    -1,    -1,    -1,    64,    65,
    758     -1,    -1,    -1,    -1,    -1,    42,    43,    73,    74,    -1,
    759     -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,    -1,
    760     -1,    58,    59,    60,    61,    62,    -1,    64,    -1,    66,
    761     -1,    -1,    -1,    -1,    71,    72,    73,    74,     3,     4,
     679   170,   171,   172,   173,   174,   175,   176,   177,    63,    22,
     680    63,    42,    43,    68,   299,    68,    47,    48,    49,    50,
     681    51,    52,    53,    54,    55,    56,    57,    63,    63,    63,
     682    67,    68,    68,    68,    68,    34,    35,    36,    37,   169,
     683   170,   171,   172,    67,    68,   265,   266,   275,    62,   277,
     684    69,   279,    83,    44,    45,    46,   276,    67,    68,    68,
     685    69,    69,   271,   158,   159,    69,    68,    68,    58,    58,
     686    58,   291,    84,   293,    33,    69,    62,    64,    62,    58,
     687    58,    64,    24,    23,    69,     9,    84,    63,    84,   317,
     688    63,    63,    69,   321,   327,   315,    65,     0,   318,     0,
     689   226,   329,   222,   323,     8,   173,     8,   174,   177,   175,
     690   346,   331,   176,   185,   342,   197,   344,   345,   346,   263,
     691   338,   349,   201,   217,   352,   353,     1,   325,     3,     4,
    762692     5,     6,     7,    -1,    -1,    -1,    -1,    12,    -1,    -1,
    763693    15,    -1,    17,    18,    -1,    20,    -1,    -1,    -1,    -1,
     
    766696    -1,    -1,    -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,
    767697    -1,    -1,    -1,    58,    59,    60,    61,    62,    -1,    64,
    768     -1,    66,    67,    -1,    -1,    -1,    71,    72,    73,    74,
    769      3,     4,     5,     6,     7,    -1,    -1,    -1,    -1,    12,
    770     -1,    -1,    15,    -1,    17,    18,    -1,    20,    -1,    -1,
    771     -1,    -1,    -1,    26,    -1,    -1,    -1,    -1,    -1,    -1,
     698    -1,    66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,
     699    -1,    -1,     3,     4,     5,     6,     7,     8,    -1,    84,
     700    11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     701    21,    22,    -1,    -1,    -1,    26,    27,    28,    -1,    30,
     702    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     703    -1,    42,    43,    -1,    -1,    -1,    -1,    -1,    -1,    50,
     704    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,    59,    60,
     705    61,    62,    -1,    64,    65,    66,    -1,    -1,    -1,    -1,
     706    71,    72,    73,    74,    -1,    -1,     3,     4,     5,     6,
     707     7,     8,    -1,    84,    11,    12,    13,    14,    15,    16,
     708    17,    18,    19,    20,    21,    22,    -1,    -1,    -1,    26,
     709    27,    28,    -1,    30,    31,    -1,    -1,    -1,    -1,    -1,
     710    -1,    -1,    -1,    -1,    -1,    42,    43,    -1,    -1,    -1,
     711    -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,    -1,
     712    -1,    58,    59,    60,    61,    62,    -1,    64,    65,    66,
     713    -1,    -1,    -1,    -1,    71,    72,    73,    74,    -1,    -1,
     714     3,     4,     5,     6,     7,     8,    -1,    84,    11,    12,
     715    13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
     716    -1,    -1,    -1,    26,    27,    28,    -1,    30,    31,    -1,
    772717    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,
    773718    43,    -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,    -1,
    774719    -1,    -1,    -1,    -1,    -1,    58,    59,    60,    61,    62,
    775     63,    64,    -1,    66,    -1,    -1,    -1,    -1,    71,    72,
    776     73,    74,     3,     4,     5,     6,     7,    -1,    -1,    -1,
    777     -1,    12,    -1,    -1,    15,    -1,    17,    18,    -1,    20,
    778     -1,    -1,    -1,    -1,    -1,    26,    -1,    -1,    -1,    -1,
    779     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     720    -1,    64,    65,    66,    -1,    -1,    -1,    -1,    71,    72,
     721    73,    74,    -1,    -1,     3,     4,     5,     6,     7,     8,
     722    -1,    84,    11,    12,    13,    14,    15,    16,    17,    18,
     723    19,    20,    21,    22,    -1,    -1,    -1,    26,    27,    28,
     724    -1,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     725    -1,    -1,    -1,    42,    43,    -1,    -1,    -1,    -1,    -1,
     726    -1,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,
     727    59,    60,    61,    62,    -1,    64,    65,    66,    -1,    -1,
     728    -1,    -1,    71,    72,    73,    74,    -1,    -1,     3,     4,
     729     5,     6,     7,     8,    -1,    84,    11,    12,    13,    14,
     730    15,    16,    17,    18,    19,    20,    21,    22,    -1,    -1,
     731    -1,    26,    27,    28,    -1,    30,    31,    -1,    -1,    -1,
     732    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    43,    -1,
     733    -1,    -1,    -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,
     734    -1,    -1,    -1,    58,    59,    60,    61,    62,    -1,    64,
     735    65,    66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,
     736    -1,    -1,     3,     4,     5,     6,     7,     8,    -1,    84,
     737    11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
     738    21,    22,    -1,    -1,    -1,    26,    27,    28,    -1,    30,
     739    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    780740    -1,    42,    43,    -1,    -1,    -1,    -1,    -1,    -1,    50,
    781741    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,    59,    60,
    782     61,    62,    -1,    64,    -1,    66,    67,    -1,    -1,    -1,
    783     71,    72,    73,    74,     3,     4,     5,     6,     7,    -1,
    784     -1,    -1,    -1,    12,    -1,    -1,    15,    -1,    17,    18,
    785     -1,    20,    -1,    -1,    -1,    -1,    -1,    26,    -1,    -1,
     742    61,    62,    -1,    64,    -1,    66,    -1,    -1,    -1,    -1,
     743    71,    72,    73,    74,    -1,    -1,     3,     4,     5,     6,
     744     7,     8,    -1,    84,    11,    12,    13,    14,    15,    16,
     745    17,    18,    19,    20,    21,    22,    -1,    -1,    -1,    26,
     746    27,    28,    -1,    30,    31,    -1,    -1,    -1,    -1,    -1,
     747    -1,    -1,    -1,    -1,    -1,    42,    43,    -1,    -1,    -1,
     748    -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,    -1,
     749    -1,    58,    59,    60,    61,    62,    -1,    64,    -1,    66,
     750    -1,    -1,    -1,    -1,    71,    72,    73,    74,    -1,    -1,
     751    -1,    -1,    -1,    -1,    -1,     0,    -1,    84,     3,     4,
     752     5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
     753    15,    16,    17,    18,    19,    20,    21,    22,    23,    -1,
     754    -1,    26,    27,    28,    -1,    30,    31,     3,     4,     5,
     755     6,     7,    -1,    -1,    -1,    -1,    12,    13,    -1,    15,
     756    -1,    17,    18,    -1,    20,    -1,    -1,    -1,    -1,    -1,
     757    26,    -1,    -1,    58,    59,    60,    -1,    -1,    -1,    64,
     758    65,    -1,    -1,    -1,    -1,    -1,    42,    43,    73,    74,
     759    -1,    -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,
     760    -1,    -1,    58,    59,    60,    61,    62,    -1,    64,    -1,
     761    66,    -1,    -1,    -1,    -1,    71,    72,    73,    74,     3,
     762     4,     5,     6,     7,    -1,    -1,    -1,    -1,    12,    -1,
     763    -1,    15,    -1,    17,    18,    -1,    20,    -1,    -1,    -1,
     764    -1,    -1,    26,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     765    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    42,    43,
     766    -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,    -1,    -1,
     767    -1,    -1,    -1,    -1,    58,    59,    60,    61,    62,    -1,
     768    64,    -1,    66,    67,    -1,    -1,    -1,    71,    72,    73,
     769    74,     3,     4,     5,     6,     7,    -1,    -1,    -1,    -1,
     770    12,    -1,    -1,    15,    -1,    17,    18,    -1,    20,    -1,
     771    -1,    -1,    -1,    -1,    26,    -1,    -1,    -1,    -1,    -1,
    786772    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    787     -1,    -1,    -1,    42,    43,    -1,    -1,    -1,    -1,    -1,
    788     -1,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,
    789     59,    60,    61,    62,    -1,    64,    -1,    66,    -1,    -1,
    790     -1,    -1,    71,    72,    73,    74
     773    42,    43,    -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,
     774    -1,    -1,    -1,    -1,    -1,    -1,    58,    59,    60,    61,
     775    62,    63,    64,    -1,    66,    -1,    -1,    -1,    -1,    71,
     776    72,    73,    74,     3,     4,     5,     6,     7,    -1,    -1,
     777    -1,    -1,    12,    -1,    -1,    15,    -1,    17,    18,    -1,
     778    20,    -1,    -1,    -1,    -1,    -1,    26,    -1,    -1,    -1,
     779    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     780    -1,    -1,    42,    43,    -1,    -1,    -1,    -1,    -1,    -1,
     781    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,    59,
     782    60,    61,    62,    -1,    64,    -1,    66,    67,    -1,    -1,
     783    -1,    71,    72,    73,    74,     3,     4,     5,     6,     7,
     784    -1,    -1,    -1,    -1,    12,    -1,    -1,    15,    -1,    17,
     785    18,    -1,    20,    -1,    -1,    -1,    -1,    -1,    26,    -1,
     786    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     787    -1,    -1,    -1,    -1,    42,    43,    -1,    -1,    -1,    -1,
     788    -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     789    58,    59,    60,    61,    62,    -1,    64,    -1,    66,    -1,
     790    -1,    -1,    -1,    71,    72,    73,    74
    791791};
    792792/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
     
    19271927    break;}
    19281928case 177:
    1929 #line 572 "grammar.y"
    1930 { yyval.stat = new TryNode(yyvsp[-1].stat, yyvsp[0].cnode); ;
     1929#line 569 "grammar.y"
     1930{ if (automatic()) yyval.stat = new ThrowNode(yyvsp[-1].node); else YYABORT; ;
    19311931    break;}
    19321932case 178:
    19331933#line 573 "grammar.y"
    1934 { yyval.stat = new TryNode(yyvsp[-1].stat, yyvsp[0].fnode); ;
     1934{ yyval.stat = new TryNode(yyvsp[-1].stat, yyvsp[0].cnode); ;
    19351935    break;}
    19361936case 179:
    19371937#line 574 "grammar.y"
     1938{ yyval.stat = new TryNode(yyvsp[-1].stat, yyvsp[0].fnode); ;
     1939    break;}
     1940case 180:
     1941#line 575 "grammar.y"
    19381942{ yyval.stat = new TryNode(yyvsp[-2].stat, yyvsp[-1].cnode, yyvsp[0].fnode); ;
    19391943    break;}
    1940 case 180:
    1941 #line 578 "grammar.y"
     1944case 181:
     1945#line 579 "grammar.y"
    19421946{ yyval.cnode = new CatchNode(*yyvsp[-2].ident, yyvsp[0].stat); ;
    19431947    break;}
    1944 case 181:
    1945 #line 582 "grammar.y"
     1948case 182:
     1949#line 583 "grammar.y"
    19461950{ yyval.fnode = new FinallyNode(yyvsp[0].stat); ;
    19471951    break;}
    1948 case 182:
    1949 #line 586 "grammar.y"
     1952case 183:
     1953#line 587 "grammar.y"
    19501954{ yyval.func = new FuncDeclNode(*yyvsp[-3].ident, yyvsp[0].body); ;
    19511955    break;}
    1952 case 183:
    1953 #line 588 "grammar.y"
     1956case 184:
     1957#line 589 "grammar.y"
    19541958{ yyval.func = new FuncDeclNode(*yyvsp[-4].ident, yyvsp[-2].param, yyvsp[0].body); ;
    19551959    break;}
    1956 case 184:
    1957 #line 591 "grammar.y"
     1960case 185:
     1961#line 592 "grammar.y"
    19581962{ yyval.node = new FuncExprNode(yyvsp[0].body); ;
    19591963    break;}
    1960 case 185:
    1961 #line 593 "grammar.y"
     1964case 186:
     1965#line 594 "grammar.y"
    19621966{ yyval.node = new FuncExprNode(yyvsp[-2].param, yyvsp[0].body); ;
    1963     break;}
    1964 case 186:
    1965 #line 598 "grammar.y"
    1966 { yyval.param = new ParameterNode(*yyvsp[0].ident); ;
    19671967    break;}
    19681968case 187:
    19691969#line 599 "grammar.y"
     1970{ yyval.param = new ParameterNode(*yyvsp[0].ident); ;
     1971    break;}
     1972case 188:
     1973#line 600 "grammar.y"
    19701974{ yyval.param = new ParameterNode(yyvsp[-2].param, *yyvsp[0].ident); ;
    19711975    break;}
    1972 case 188:
    1973 #line 603 "grammar.y"
     1976case 189:
     1977#line 604 "grammar.y"
    19741978{ yyval.body = new FunctionBodyNode(0);
    19751979                                     DBG(yyval.body, yylsp[-1], yylsp[0]);;
    19761980    break;}
    1977 case 189:
    1978 #line 605 "grammar.y"
     1981case 190:
     1982#line 606 "grammar.y"
    19791983{ yyval.body = new FunctionBodyNode(yyvsp[-1].srcs);
    19801984                                     DBG(yyval.body, yylsp[-2], yylsp[0]);;
    19811985    break;}
    1982 case 190:
    1983 #line 610 "grammar.y"
     1986case 191:
     1987#line 611 "grammar.y"
    19841988{ yyval.prog = new ProgramNode(0);
    19851989                                     Parser::progNode = yyval.prog; ;
    19861990    break;}
    1987 case 191:
    1988 #line 612 "grammar.y"
     1991case 192:
     1992#line 613 "grammar.y"
    19891993{ yyval.prog = new ProgramNode(yyvsp[0].srcs);
    19901994                                     Parser::progNode = yyval.prog; ;
    19911995    break;}
    1992 case 192:
    1993 #line 617 "grammar.y"
    1994 { yyval.srcs = new SourceElementsNode(yyvsp[0].stat); ;
    1995     break;}
    19961996case 193:
    19971997#line 618 "grammar.y"
     1998{ yyval.srcs = new SourceElementsNode(yyvsp[0].stat); ;
     1999    break;}
     2000case 194:
     2001#line 619 "grammar.y"
    19982002{ yyval.srcs = new SourceElementsNode(yyvsp[-1].srcs, yyvsp[0].stat); ;
    1999     break;}
    2000 case 194:
    2001 #line 622 "grammar.y"
    2002 { yyval.stat = yyvsp[0].stat; ;
    20032003    break;}
    20042004case 195:
    20052005#line 623 "grammar.y"
     2006{ yyval.stat = yyvsp[0].stat; ;
     2007    break;}
     2008case 196:
     2009#line 624 "grammar.y"
    20062010{ yyval.stat = yyvsp[0].func; ;
    20072011    break;}
     
    22292233  return 1;
    22302234}
    2231 #line 626 "grammar.y"
     2235#line 627 "grammar.y"
    22322236
    22332237
Note: See TracChangeset for help on using the changeset viewer.