perl.cvs.parrot
[Top] [All Lists]

[svn:parrot] r22627 - trunk/compilers/pirc/new

Subject: [svn:parrot] r22627 - trunk/compilers/pirc/new
From:
Date: Tue, 30 Oct 2007 14:46:59 -0700 PDT
Newsgroups: perl.cvs.parrot

Author: kjs
Date: Tue Oct 30 14:46:58 2007
New Revision: 22627

Modified:
   trunk/compilers/pirc/new/pir.y
   trunk/compilers/pirc/new/pirparser.c

Log:
pirc/new:
o fix grammar: .call (former .pcc_call) now can take a ret.cont. too: .call 
$P0, $P1.


Modified: trunk/compilers/pirc/new/pir.y
==============================================================================
--- trunk/compilers/pirc/new/pir.y      (original)
+++ trunk/compilers/pirc/new/pir.y      Tue Oct 30 14:46:58 2007
@@ -515,12 +515,16 @@
 long_argument: ".arg" expression arg_flags "\n"
              ;
 
-long_invocation: ".call" invokable
+long_invocation: ".call" invokable opt_return_continuation
                | ".nci_call" invokable
                | ".invocant" invokable "\n"
                  ".meth_call" method
                ;
 
+opt_return_continuation: /* empty */
+                       | ',' invokable
+                       ;
+
 long_results: /* empty */
             | long_results long_result
             ;

Modified: trunk/compilers/pirc/new/pirparser.c
==============================================================================
--- trunk/compilers/pirc/new/pirparser.c        (original)
+++ trunk/compilers/pirc/new/pirparser.c        Tue Oct 30 14:46:58 2007
@@ -605,16 +605,16 @@
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  4
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   481
+#define YYLAST   487
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  120
 /* YYNNTS -- Number of nonterminals.  */
-#define YYNNTS  100
+#define YYNNTS  101
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  255
+#define YYNRULES  257
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  405
+#define YYNSTATES  408
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
@@ -684,24 +684,24 @@
      311,   313,   315,   317,   319,   321,   323,   325,   327,   329,
      331,   335,   337,   341,   343,   346,   350,   353,   355,   357,
      361,   365,   369,   374,   376,   380,   382,   385,   387,   389,
-     395,   397,   399,   408,   409,   412,   417,   420,   423,   429,
-     430,   433,   438,   440,   447,   451,   454,   455,   457,   459,
-     463,   466,   467,   470,   472,   474,   476,   479,   481,   483,
-     485,   487,   489,   491,   496,   498,   500,   502,   504,   506,
-     508,   510,   512,   518,   520,   522,   526,   530,   534,   538,
-     539,   541,   543,   547,   550,   554,   560,   561,   564,   569,
-     570,   573,   578,   579,   582,   584,   587,   588,   590,   594,
-     597,   600,   604,   609,   614,   619,   624,   627,   629,   631,
-     635,   637,   639,   641,   643,   645,   647,   649,   651,   653,
-     655,   657,   659,   661,   663,   665,   667,   669,   671,   673,
-     675,   677,   679,   681,   683,   685
+     395,   397,   399,   408,   409,   412,   417,   421,   424,   430,
+     431,   434,   435,   438,   443,   445,   452,   456,   459,   460,
+     462,   464,   468,   471,   472,   475,   477,   479,   481,   484,
+     486,   488,   490,   492,   494,   496,   501,   503,   505,   507,
+     509,   511,   513,   515,   517,   523,   525,   527,   531,   535,
+     539,   543,   544,   546,   548,   552,   555,   559,   565,   566,
+     569,   574,   575,   578,   583,   584,   587,   589,   592,   593,
+     595,   599,   602,   605,   609,   614,   619,   624,   629,   632,
+     634,   636,   640,   642,   644,   646,   648,   650,   652,   654,
+     656,   658,   660,   662,   664,   666,   668,   670,   672,   674,
+     676,   678,   680,   682,   684,   686,   688,   690
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
 static const yytype_int16 yyrhs[] =
 {
      121,     0,    -1,   122,   123,   122,    -1,    -1,     7,    -1,
-     124,    -1,   123,     7,   124,    -1,   135,    -1,   208,    -1,
+     124,    -1,   123,     7,   124,    -1,   135,    -1,   209,    -1,
      133,    -1,   129,    -1,   127,    -1,   128,    -1,   126,    -1,
      125,    -1,    13,    12,    40,    -1,    14,    39,    -1,     8,
       39,   105,    39,    -1,     9,    39,   105,    39,    -1,    10,
@@ -711,22 +711,22 @@
      164,    39,    -1,    15,   136,   137,     7,   141,   144,    16,
       -1,   171,    -1,    39,    -1,    -1,   137,   138,    -1,    91,
       -1,    88,    -1,    89,    -1,    90,    -1,    92,    -1,    95,
-      -1,    93,   108,   136,   109,    -1,    94,   206,    -1,    96,
+      -1,    93,   108,   136,   109,    -1,    94,   207,    -1,    96,
      108,   139,   109,    -1,    97,    -1,    98,    -1,    -1,   139,
-     105,   140,    -1,   171,    -1,    39,    -1,   161,    -1,   218,
-      -1,    -1,   141,   142,    -1,    17,   143,   184,     7,    -1,
-     218,   171,    -1,   218,    39,    59,   171,    -1,    -1,   144,
+     105,   140,    -1,   171,    -1,    39,    -1,   161,    -1,   219,
+      -1,    -1,   141,   142,    -1,    17,   143,   185,     7,    -1,
+     219,   171,    -1,   219,    39,    59,   171,    -1,    -1,   144,
      145,    -1,     5,     7,    -1,     5,   146,    -1,   146,    -1,
      165,    -1,   166,    -1,   167,    -1,   168,    -1,   172,    -1,
-     209,    -1,   190,    -1,   192,    -1,   173,    -1,   150,    -1,
+     210,    -1,   191,    -1,   193,    -1,   173,    -1,   150,    -1,
      149,    -1,   132,    -1,   148,    -1,   147,    -1,     1,     7,
-      -1,    57,   219,     7,    -1,   219,   110,    57,     7,    -1,
-      33,   108,   181,   109,     7,    -1,   188,     7,    -1,   219,
-     151,     7,    -1,   160,   213,    -1,   161,   110,   213,    -1,
-     110,   152,    -1,   158,   213,    -1,   213,    -1,   213,   159,
-     213,    -1,   219,   161,    -1,   157,    -1,    39,   195,    -1,
-     188,    -1,   153,    -1,    50,   155,    -1,    -1,   155,    -1,
-     156,    -1,   155,   105,   156,    -1,   213,    -1,   187,   195,
+      -1,    57,   220,     7,    -1,   220,   110,    57,     7,    -1,
+      33,   108,   182,   109,     7,    -1,   189,     7,    -1,   220,
+     151,     7,    -1,   160,   214,    -1,   161,   110,   214,    -1,
+     110,   152,    -1,   158,   214,    -1,   214,    -1,   214,   159,
+     214,    -1,   220,   161,    -1,   157,    -1,    39,   196,    -1,
+     189,    -1,   153,    -1,    50,   155,    -1,    -1,   155,    -1,
+     156,    -1,   155,   105,   156,    -1,   214,    -1,   188,   196,
       -1,   111,    -1,   112,    -1,   113,    -1,   114,    -1,   111,
       -1,   115,    -1,   116,    -1,   117,    -1,    73,    -1,    66,
       -1,    67,    -1,    68,    -1,    70,    -1,    71,    -1,    69,
@@ -734,41 +734,42 @@
       -1,    81,    -1,    82,    -1,    85,    -1,    83,    -1,    84,
       -1,    86,    -1,    87,    -1,    75,    -1,    76,    -1,    74,
       -1,   106,   162,   107,    -1,   163,    -1,   162,   164,   163,
-      -1,   213,    -1,   213,     6,    -1,   213,     6,   213,    -1,
-       6,   213,    -1,   118,    -1,   105,    -1,    55,   211,   167,
-      -1,    56,   211,   167,    -1,    58,   171,     7,    -1,    19,
-     218,   169,     7,    -1,   170,    -1,   169,   105,   170,    -1,
+      -1,   214,    -1,   214,     6,    -1,   214,     6,   214,    -1,
+       6,   214,    -1,   118,    -1,   105,    -1,    55,   212,   167,
+      -1,    56,   212,   167,    -1,    58,   171,     7,    -1,    19,
+     219,   169,     7,    -1,   170,    -1,   169,   105,   170,    -1,
      171,    -1,   171,    99,    -1,    38,    -1,    50,    -1,    18,
-      39,   105,   219,     7,    -1,   174,    -1,   180,    -1,    31,
-       7,   175,   177,     7,   178,    32,     7,    -1,    -1,   175,
-     176,    -1,    35,   213,   204,     7,    -1,    34,   187,    -1,
-      37,   187,    -1,    21,   187,     7,    22,   189,    -1,    -1,
-     178,   179,    -1,    36,   219,   184,     7,    -1,   168,    -1,
-     108,   181,   109,   110,   186,     7,    -1,    39,   195,     7,
-      -1,   157,     7,    -1,    -1,   182,    -1,   183,    -1,   182,
-     105,   183,    -1,   219,   184,    -1,    -1,   184,   185,    -1,
-     103,    -1,   104,    -1,   101,    -1,   100,   206,    -1,    99,
-      -1,   157,    -1,   188,    -1,    46,    -1,    42,    -1,   171,
-      -1,   187,   119,   189,   195,    -1,   171,    -1,    39,    -1,
-      48,    -1,    44,    -1,    42,    -1,    46,    -1,   193,    -1,
-     191,    -1,    29,     7,   202,    30,     7,    -1,   194,    -1,
-     199,    -1,    25,   195,     7,    -1,    25,   186,     7,    -1,
-      26,   195,     7,    -1,   108,   196,   109,    -1,    -1,   197,
-      -1,   198,    -1,   197,   105,   198,    -1,   213,   204,    -1,
-      39,    59,   213,    -1,    27,     7,   200,    28,     7,    -1,
-      -1,   200,   201,    -1,    26,   213,   204,     7,    -1,    -1,
-     202,   203,    -1,    25,   213,   204,     7,    -1,    -1,   204,
-     205,    -1,   102,    -1,   100,   206,    -1,    -1,   207,    -1,
-     108,    39,   109,    -1,    24,   210,    -1,   208,     7,    -1,
-      23,   210,     7,    -1,    51,   171,   110,    40,    -1,    52,
-     171,   110,    41,    -1,    53,   171,   110,    39,    -1,    54,
-     171,   110,    39,    -1,    57,   213,    -1,   213,    -1,   212,
-      -1,   213,   217,   213,    -1,   219,    -1,   214,    -1,    39,
-      -1,    40,    -1,    41,    -1,    46,    -1,    47,    -1,    49,
-      -1,    48,    -1,   216,    -1,    42,    -1,    43,    -1,    45,
-      -1,    44,    -1,    60,    -1,    61,    -1,    62,    -1,    63,
-      -1,    65,    -1,    64,    -1,    51,    -1,    52,    -1,    53,
-      -1,    54,    -1,   215,    -1,   171,    -1
+      39,   105,   220,     7,    -1,   174,    -1,   181,    -1,    31,
+       7,   175,   177,     7,   179,    32,     7,    -1,    -1,   175,
+     176,    -1,    35,   214,   205,     7,    -1,    34,   188,   178,
+      -1,    37,   188,    -1,    21,   188,     7,    22,   190,    -1,
+      -1,   105,   188,    -1,    -1,   179,   180,    -1,    36,   220,
+     185,     7,    -1,   168,    -1,   108,   182,   109,   110,   187,
+       7,    -1,    39,   196,     7,    -1,   157,     7,    -1,    -1,
+     183,    -1,   184,    -1,   183,   105,   184,    -1,   220,   185,
+      -1,    -1,   185,   186,    -1,   103,    -1,   104,    -1,   101,
+      -1,   100,   207,    -1,    99,    -1,   157,    -1,   189,    -1,
+      46,    -1,    42,    -1,   171,    -1,   188,   119,   190,   196,
+      -1,   171,    -1,    39,    -1,    48,    -1,    44,    -1,    42,
+      -1,    46,    -1,   194,    -1,   192,    -1,    29,     7,   203,
+      30,     7,    -1,   195,    -1,   200,    -1,    25,   196,     7,
+      -1,    25,   187,     7,    -1,    26,   196,     7,    -1,   108,
+     197,   109,    -1,    -1,   198,    -1,   199,    -1,   198,   105,
+     199,    -1,   214,   205,    -1,    39,    59,   214,    -1,    27,
+       7,   201,    28,     7,    -1,    -1,   201,   202,    -1,    26,
+     214,   205,     7,    -1,    -1,   203,   204,    -1,    25,   214,
+     205,     7,    -1,    -1,   205,   206,    -1,   102,    -1,   100,
+     207,    -1,    -1,   208,    -1,   108,    39,   109,    -1,    24,
+     211,    -1,   209,     7,    -1,    23,   211,     7,    -1,    51,
+     171,   110,    40,    -1,    52,   171,   110,    41,    -1,    53,
+     171,   110,    39,    -1,    54,   171,   110,    39,    -1,    57,
+     214,    -1,   214,    -1,   213,    -1,   214,   218,   214,    -1,
+     220,    -1,   215,    -1,    39,    -1,    40,    -1,    41,    -1,
+      46,    -1,    47,    -1,    49,    -1,    48,    -1,   217,    -1,
+      42,    -1,    43,    -1,    45,    -1,    44,    -1,    60,    -1,
+      61,    -1,    62,    -1,    63,    -1,    65,    -1,    64,    -1,
+      51,    -1,    52,    -1,    53,    -1,    54,    -1,   216,    -1,
+     171,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
@@ -790,16 +791,16 @@
      455,   458,   459,   462,   463,   464,   465,   468,   469,   473,
      476,   479,   482,   485,   486,   489,   490,   493,   494,   497,
      500,   501,   504,   511,   512,   515,   518,   519,   520,   524,
-     525,   528,   529,   532,   533,   534,   537,   538,   541,   542,
-     545,   548,   549,   552,   553,   554,   555,   556,   559,   560,
-     563,   564,   565,   568,   571,   572,   573,   574,   575,   576,
-     579,   580,   583,   589,   590,   593,   594,   597,   600,   603,
-     604,   607,   608,   611,   612,   615,   620,   621,   624,   627,
-     628,   631,   634,   635,   638,   639,   642,   643,   646,   649,
-     652,   653,   656,   657,   658,   659,   662,   663,   664,   667,
-     670,   671,   675,   676,   677,   680,   681,   682,   683,   684,
-     688,   689,   690,   691,   694,   695,   696,   697,   698,   699,
-     702,   703,   704,   705,   708,   709
+     525,   528,   529,   532,   533,   536,   537,   538,   541,   542,
+     545,   546,   549,   552,   553,   556,   557,   558,   559,   560,
+     563,   564,   567,   568,   569,   572,   575,   576,   577,   578,
+     579,   580,   583,   584,   587,   593,   594,   597,   598,   601,
+     604,   607,   608,   611,   612,   615,   616,   619,   624,   625,
+     628,   631,   632,   635,   638,   639,   642,   643,   646,   647,
+     650,   653,   656,   657,   660,   661,   662,   663,   666,   667,
+     668,   671,   674,   675,   679,   680,   681,   684,   685,   686,
+     687,   688,   692,   693,   694,   695,   698,   699,   700,   701,
+     702,   703,   706,   707,   708,   709,   712,   713
 };
 #endif
 
@@ -847,19 +848,19 @@
   "key", "separator", "if_statement", "unless_statement", "goto_statement",
   "local_declaration", "local_id_list", "local_id", "identifier",
   "lex_declaration", "invocation_statement", "long_invocation_statement",
-  "long_arguments", "long_argument", "long_invocation", "long_results",
-  "long_result", "short_invocation_statement", "opt_target_list",
-  "target_list", "result_target", "param_flags", "param_flag",
-  "invocation_expression", "invokable", "methodcall", "method",
-  "return_statement", "long_return_statement", "yield_statement",
-  "short_return_statement", "short_yield_statement", "arguments",
-  "opt_arguments_list", "arguments_list", "argument",
-  "long_yield_statement", "yield_expressions", "yield_expression",
-  "return_expressions", "return_expression", "arg_flags", "arg_flag",
-  "opt_paren_string", "paren_string", "const_declaration",
-  "const_decl_statement", "const_tail", "condition",
-  "conditional_expression", "expression", "constant", "reg", "pasm_reg",
-  "rel_op", "type", "target", 0
+  "long_arguments", "long_argument", "long_invocation",
+  "opt_return_continuation", "long_results", "long_result",
+  "short_invocation_statement", "opt_target_list", "target_list",
+  "result_target", "param_flags", "param_flag", "invocation_expression",
+  "invokable", "methodcall", "method", "return_statement",
+  "long_return_statement", "yield_statement", "short_return_statement",
+  "short_yield_statement", "arguments", "opt_arguments_list",
+  "arguments_list", "argument", "long_yield_statement",
+  "yield_expressions", "yield_expression", "return_expressions",
+  "return_expression", "arg_flags", "arg_flag", "opt_paren_string",
+  "paren_string", "const_declaration", "const_decl_statement",
+  "const_tail", "condition", "conditional_expression", "expression",
+  "constant", "reg", "pasm_reg", "rel_op", "type", "target", 0
 };
 #endif
 
@@ -902,16 +903,16 @@
      161,   162,   162,   163,   163,   163,   163,   164,   164,   165,
      166,   167,   168,   169,   169,   170,   170,   171,   171,   172,
      173,   173,   174,   175,   175,   176,   177,   177,   177,   178,
-     178,   179,   179,   180,   180,   180,   181,   181,   182,   182,
-     183,   184,   184,   185,   185,   185,   185,   185,   186,   186,
-     187,   187,   187,   188,   189,   189,   189,   189,   189,   189,
-     190,   190,   191,   192,   192,   193,   193,   194,   195,   196,
-     196,   197,   197,   198,   198,   199,   200,   200,   201,   202,
-     202,   203,   204,   204,   205,   205,   206,   206,   207,   208,
-     209,   209,   210,   210,   210,   210,   211,   211,   211,   212,
-     213,   213,   214,   214,   214,   215,   215,   215,   215,   215,
-     216,   216,   216,   216,   217,   217,   217,   217,   217,   217,
-     218,   218,   218,   218,   219,   219
+     178,   179,   179,   180,   180,   181,   181,   181,   182,   182,
+     183,   183,   184,   185,   185,   186,   186,   186,   186,   186,
+     187,   187,   188,   188,   188,   189,   190,   190,   190,   190,
+     190,   190,   191,   191,   192,   193,   193,   194,   194,   195,
+     196,   197,   197,   198,   198,   199,   199,   200,   201,   201,
+     202,   203,   203,   204,   205,   205,   206,   206,   207,   207,
+     208,   209,   210,   210,   211,   211,   211,   211,   212,   212,
+     212,   213,   214,   214,   215,   215,   215,   216,   216,   216,
+     216,   216,   217,   217,   217,   217,   218,   218,   218,   218,
+     218,   218,   219,   219,   219,   219,   220,   220
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -932,65 +933,65 @@
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        3,     1,     3,     1,     2,     3,     2,     1,     1,     3,
        3,     3,     4,     1,     3,     1,     2,     1,     1,     5,
-       1,     1,     8,     0,     2,     4,     2,     2,     5,     0,
-       2,     4,     1,     6,     3,     2,     0,     1,     1,     3,
-       2,     0,     2,     1,     1,     1,     2,     1,     1,     1,
-       1,     1,     1,     4,     1,     1,     1,     1,     1,     1,
-       1,     1,     5,     1,     1,     3,     3,     3,     3,     0,
-       1,     1,     3,     2,     3,     5,     0,     2,     4,     0,
-       2,     4,     0,     2,     1,     2,     0,     1,     3,     2,
-       2,     3,     4,     4,     4,     4,     2,     1,     1,     3,
+       1,     1,     8,     0,     2,     4,     3,     2,     5,     0,
+       2,     0,     2,     4,     1,     6,     3,     2,     0,     1,
+       1,     3,     2,     0,     2,     1,     1,     1,     2,     1,
+       1,     1,     1,     1,     1,     4,     1,     1,     1,     1,
+       1,     1,     1,     1,     5,     1,     1,     3,     3,     3,
+       3,     0,     1,     1,     3,     2,     3,     5,     0,     2,
+       4,     0,     2,     4,     0,     2,     1,     2,     0,     1,
+       3,     2,     2,     3,     4,     4,     4,     4,     2,     1,
+       1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1
+       1,     1,     1,     1,     1,     1,     1,     1
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
    means the default is an error.  */
-static const yytype_uint8 yydefact[] =
+static const yytype_uint16 yydefact[] =
 {
        3,     4,     0,     0,     1,     0,     0,     0,     0,     0,
        0,    26,     0,     3,     5,    14,    13,    11,    12,    10,
        9,     7,     8,     0,     0,    20,     0,    16,   147,    32,
-     148,    33,    31,     0,     0,     0,     0,     0,   219,     4,
+     148,    33,    31,     0,     0,     0,     0,     0,   221,     4,
        2,     0,     0,     0,    15,     0,    28,     0,     0,     0,
        0,     0,     6,    17,    18,     0,    19,    94,    21,    24,
-      52,    36,    37,    38,    35,    39,     0,   216,    40,     0,
+      52,    36,    37,    38,    35,    39,     0,   218,    40,     0,
       44,    45,    34,   138,    27,   137,     0,     0,     0,     0,
-       0,    22,    23,   232,   233,   234,   240,   241,   243,   242,
-     235,   236,   238,   237,     0,    95,    96,   255,    98,   231,
-     254,   239,   230,    57,     0,     0,    42,   217,    46,    29,
-     222,   223,   224,   225,    25,     0,     0,    53,     0,     0,
-       0,     0,    97,   250,   251,   252,   253,   171,     0,     0,
+       0,    22,    23,   234,   235,   236,   242,   243,   245,   244,
+     237,   238,   240,   239,     0,    95,    96,   257,    98,   233,
+     256,   241,   232,    57,     0,     0,    42,   219,    46,    29,
+     224,   225,   226,   227,    25,     0,     0,    53,     0,     0,
+       0,     0,    97,   252,   253,   254,   255,   173,     0,     0,
        0,    30,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   240,   235,   148,     0,     0,     0,     0,   166,
+       0,     0,   242,   237,   148,     0,     0,     0,     0,   168,
       73,    58,    61,    75,    74,    72,    71,     0,    62,    63,
-      64,    65,   255,    66,    70,   150,   151,     0,     0,    68,
-     191,    69,   190,   193,   194,     0,    67,     0,    41,   218,
+      64,    65,   257,    66,    70,   150,   151,     0,     0,    68,
+     193,    69,   192,   195,   196,     0,    67,     0,    41,   220,
        0,    43,     0,     0,    55,    76,    59,    60,     0,     0,
-       0,   181,   180,   199,   178,   182,     0,   179,     0,     0,
-     206,   209,   153,   166,     0,     0,     0,   228,   227,     0,
-       0,     0,     0,   167,   168,   171,   165,     0,    99,    80,
-     220,   129,   127,   128,   116,   117,   118,   119,   120,   121,
+       0,   183,   182,   201,   180,   184,     0,   181,     0,     0,
+     208,   211,   153,   168,     0,     0,     0,   230,   229,     0,
+       0,     0,     0,   169,   170,   173,   167,     0,    99,    80,
+     222,   129,   127,   128,   116,   117,   118,   119,   120,   121,
      123,   124,   122,   125,   126,     0,     0,     0,     0,     0,
-      49,    47,    50,    48,    51,    54,   177,   216,   175,   173,
-     174,   172,     0,     0,     0,   143,   145,   221,   232,     0,
-     200,   201,   212,   196,   195,   197,     0,     0,     0,     0,
-     164,   226,   139,   244,   245,   246,   247,   249,   248,     0,
-     140,    77,   141,     0,     0,   170,   185,   188,   187,   189,
-     186,   184,     0,     0,     0,   131,   133,   232,   148,     0,
-     100,   101,   102,    84,    92,    89,     0,    91,    86,   230,
-      81,    82,     0,   176,    56,     0,   142,     0,   146,     0,
-     198,     0,   203,     0,     0,   207,     0,     0,   210,     0,
-       0,     0,     0,   154,     0,     0,   229,     0,   169,   183,
+      49,    47,    50,    48,    51,    54,   179,   218,   177,   175,
+     176,   174,     0,     0,     0,   143,   145,   223,   234,     0,
+     202,   203,   214,   198,   197,   199,     0,     0,     0,     0,
+     166,   228,   139,   246,   247,   248,   249,   251,   250,     0,
+     140,    77,   141,     0,     0,   172,   187,   190,   189,   191,
+     188,   186,     0,     0,     0,   131,   133,   234,   148,     0,
+     100,   101,   102,    84,    92,    89,     0,    91,    86,   232,
+      81,    82,     0,   178,    56,     0,   142,     0,   146,     0,
+     200,     0,   205,     0,     0,   209,     0,     0,   212,     0,
+       0,     0,     0,   154,     0,     0,   231,     0,   171,   185,
      136,   130,     0,   134,    90,    93,    78,    85,   109,   110,
      111,   114,   112,   113,   115,   108,   104,   103,   105,   106,
-     107,     0,    88,    83,   149,   144,   204,   202,   216,   214,
-     213,   212,   205,   212,   192,     0,   156,   212,   157,   159,
-      79,     0,   132,   135,    87,   215,     0,     0,     0,     0,
-       0,   163,   208,   211,     0,   155,     0,     0,   162,   160,
-     158,   152,   171,     0,   161
+     107,     0,    88,    83,   149,   144,   206,   204,   218,   216,
+     215,   214,   207,   214,   194,     0,   159,   214,   157,   161,
+      79,     0,   132,   135,    87,   217,     0,     0,     0,     0,
+     156,     0,     0,   165,   210,   213,     0,   160,   155,     0,
+       0,   164,   162,   158,   152,   173,     0,   163
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
@@ -1001,185 +1002,187 @@
      241,   103,   117,   127,   118,   151,   152,   153,   154,   155,
      156,   237,   303,   304,    94,    95,    96,   157,   306,   361,
      238,   239,   294,   295,    76,   158,   159,   160,   161,   254,
-     255,    97,   163,   164,   165,   268,   333,   334,   390,   399,
-     166,   212,   213,   214,   182,   251,   196,   167,   168,   292,
-     169,   170,   171,   172,   173,   198,   259,   260,   261,   174,
-     266,   325,   267,   328,   322,   370,   106,   107,    22,   176,
-      38,   206,   207,    98,    99,   100,   101,   279,   128,   102
+     255,    97,   163,   164,   165,   268,   333,   334,   390,   392,
+     402,   166,   212,   213,   214,   182,   251,   196,   167,   168,
+     292,   169,   170,   171,   172,   173,   198,   259,   260,   261,
+     174,   266,   325,   267,   328,   322,   370,   106,   107,    22,
+     176,    38,   206,   207,    98,    99,   100,   101,   279,   128,
+     102
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -243
+#define YYPACT_NINF -314
 static const yytype_int16 yypact[] =
 {
-      12,  -243,    47,   149,  -243,    13,    32,    65,    63,    50,
-       6,    -3,   395,    89,  -243,  -243,  -243,  -243,  -243,  -243,
-    -243,  -243,  -243,    -6,     8,  -243,   100,  -243,  -243,  -243,
-    -243,  -243,  -243,   103,    38,    38,    38,    38,  -243,   149,
-    -243,   117,   122,    37,  -243,    56,  -243,   -84,    72,    77,
-      80,    86,  -243,  -243,  -243,     7,  -243,   381,  -243,  -243,
-    -243,  -243,  -243,  -243,  -243,  -243,    93,    95,  -243,   104,
-    -243,  -243,  -243,  -243,  -243,  -243,   155,   157,   170,   174,
-     188,  -243,  -243,  -243,  -243,  -243,  -243,  -243,  -243,  -243,
-    -243,  -243,  -243,  -243,   221,   126,  -243,  -243,  -243,  -243,
-    -243,  -243,  -243,   215,     6,   204,  -243,  -243,  -243,  -243,
-    -243,  -243,  -243,  -243,  -243,   381,   399,  -243,    35,   135,
-     136,   -93,  -243,  -243,  -243,  -243,  -243,  -243,    78,   258,
-     191,  -243,   233,   399,   395,    -7,   166,   266,   274,   275,
-     175,   166,   -70,   -13,   311,   361,   361,   267,    38,   267,
-    -243,  -243,  -243,  -243,  -243,  -243,  -243,   289,  -243,  -243,
-    -243,  -243,    57,  -243,  -243,  -243,  -243,    76,   290,  -243,
-    -243,  -243,  -243,  -243,  -243,   293,  -243,   288,  -243,  -243,
-     225,  -243,    11,   242,  -243,  -243,  -243,  -243,   198,    38,
-     301,  -243,  -243,   394,  -243,  -243,   314,  -243,   319,   321,
-    -243,  -243,  -243,   267,   323,   381,   318,  -243,   352,   318,
-     372,   373,   273,   281,  -243,  -243,  -243,   339,  -243,  -243,
-    -243,  -243,  -243,  -243,  -243,  -243,  -243,  -243,  -243,  -243,
-    -243,  -243,  -243,  -243,  -243,   298,   212,   383,   381,   278,
-    -243,  -243,  -243,  -243,  -243,  -243,  -243,    95,  -243,  -243,
-    -243,  -243,    38,   267,     4,  -243,   292,  -243,   333,   284,
-     291,  -243,  -243,  -243,  -243,  -243,   109,    40,   165,   286,
-    -243,  -243,  -243,  -243,  -243,  -243,  -243,  -243,  -243,   381,
-    -243,  -243,  -243,   287,   267,   167,  -243,  -243,  -243,  -243,
-    -243,  -243,   166,   381,    73,  -243,   439,   166,   381,   447,
-    -243,  -243,  -243,  -243,  -243,  -243,   381,  -243,   218,   349,
-    -243,  -243,   381,  -243,  -243,   449,  -243,    38,  -243,   381,
-    -243,   394,    75,   381,   450,  -243,   381,   451,  -243,   256,
-     256,   381,   256,  -243,   452,   453,  -243,   256,  -243,  -243,
-    -243,  -243,   298,   381,  -243,   126,  -243,  -243,  -243,  -243,
-    -243,  -243,  -243,  -243,  -243,  -243,  -243,  -243,  -243,  -243,
-    -243,   381,  -243,  -243,  -243,  -243,  -243,  -243,    95,  -243,
-    -243,  -243,  -243,  -243,  -243,   454,  -243,  -243,  -243,  -243,
-    -243,   455,  -243,  -243,  -243,  -243,     2,    21,   441,    22,
-      14,  -243,  -243,  -243,   339,  -243,   457,   267,  -243,  -243,
-    -243,  -243,  -243,    30,  -243
+       5,  -314,    20,   149,  -314,     8,    13,    65,    77,    57,
+       6,    -3,   193,   106,  -314,  -314,  -314,  -314,  -314,  -314,
+    -314,  -314,  -314,    51,    75,  -314,    95,  -314,  -314,  -314,
+    -314,  -314,  -314,   103,    89,    89,    89,    89,  -314,   149,
+    -314,   122,   145,    37,  -314,    56,  -314,   -84,    80,    81,
+      84,    91,  -314,  -314,  -314,     7,  -314,   386,  -314,  -314,
+    -314,  -314,  -314,  -314,  -314,  -314,    79,   101,  -314,   102,
+    -314,  -314,  -314,  -314,  -314,  -314,   175,   179,   180,   176,
+     191,  -314,  -314,  -314,  -314,  -314,  -314,  -314,  -314,  -314,
+    -314,  -314,  -314,  -314,   224,   127,  -314,  -314,  -314,  -314,
+    -314,  -314,  -314,   221,     6,   201,  -314,  -314,  -314,  -314,
+    -314,  -314,  -314,  -314,  -314,   386,   272,  -314,    35,   141,
+     142,   -34,  -314,  -314,  -314,  -314,  -314,  -314,    78,   254,
+     210,  -314,   223,   272,   193,    -7,   155,   257,   280,   282,
+     183,   155,   -70,   -20,   366,   291,   291,   412,    89,   412,
+    -314,  -314,  -314,  -314,  -314,  -314,  -314,   285,  -314,  -314,
+    -314,  -314,   -13,  -314,  -314,  -314,  -314,    67,   286,  -314,
+    -314,  -314,  -314,  -314,  -314,   288,  -314,   313,  -314,  -314,
+     246,  -314,    11,   258,  -314,  -314,  -314,  -314,   211,    89,
+     314,  -314,  -314,   399,  -314,  -314,   338,  -314,   339,   340,
+    -314,  -314,  -314,   412,   342,   386,   292,  -314,   241,   292,
+     344,   347,   265,   250,  -314,  -314,  -314,   174,  -314,  -314,
+    -314,  -314,  -314,  -314,  -314,  -314,  -314,  -314,  -314,  -314,
+    -314,  -314,  -314,  -314,  -314,   322,   231,   368,   386,   273,
+    -314,  -314,  -314,  -314,  -314,  -314,  -314,   101,  -314,  -314,
+    -314,  -314,    89,   412,     4,  -314,   283,  -314,   325,   276,
+     296,  -314,  -314,  -314,  -314,  -314,   199,    40,   161,   293,
+    -314,  -314,  -314,  -314,  -314,  -314,  -314,  -314,  -314,   386,
+    -314,  -314,  -314,   307,   412,   277,  -314,  -314,  -314,  -314,
+    -314,  -314,   155,   386,    71,  -314,   397,   155,   386,   411,
+    -314,  -314,  -314,  -314,  -314,  -314,   386,  -314,   242,   315,
+    -314,  -314,   386,  -314,  -314,   413,  -314,    89,  -314,   386,
+    -314,   399,   100,   386,   415,  -314,   386,   444,  -314,   244,
+     244,   386,   244,  -314,   445,   446,  -314,   244,  -314,  -314,
+    -314,  -314,   322,   386,  -314,   127,  -314,  -314,  -314,  -314,
+    -314,  -314,  -314,  -314,  -314,  -314,  -314,  -314,  -314,  -314,
+    -314,   386,  -314,  -314,  -314,  -314,  -314,  -314,   101,  -314,
+    -314,  -314,  -314,  -314,  -314,   456,   359,  -314,  -314,  -314,
+    -314,   458,  -314,  -314,  -314,  -314,     2,    21,   447,   244,
+    -314,    22,    14,  -314,  -314,  -314,   174,  -314,  -314,   459,
+     412,  -314,  -314,  -314,  -314,  -314,    30,  -314
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -243,  -243,   456,  -243,   426,  -243,  -243,  -243,  -243,  -243,
-    -243,  -243,    84,  -243,  -243,  -243,   362,  -243,  -243,  -243,
-    -243,  -243,  -243,  -243,  -243,  -243,   337,  -243,  -243,  -243,
-    -243,  -243,  -243,  -243,  -243,   172,   353,  -131,  -243,  -243,
-    -243,  -177,  -243,   129,   178,  -243,  -243,  -189,    83,  -243,
-     158,   -10,  -243,  -243,  -243,  -243,  -243,  -243,  -243,  -243,
-    -243,   271,  -243,   192,  -213,  -243,   140,   -37,  -129,    85,
-    -243,  -243,  -243,  -243,  -243,  -126,  -243,  -243,   159,  -243,
-    -243,  -243,  -243,  -243,  -152,  -243,  -242,  -243,    42,  -243,
-     344,   335,  -243,  -138,  -243,  -243,  -243,  -243,  -111,  -117
+    -314,  -314,   454,  -314,   429,  -314,  -314,  -314,  -314,  -314,
+    -314,  -314,   117,  -314,  -314,  -314,   367,  -314,  -314,  -314,
+    -314,  -314,  -314,  -314,  -314,  -314,   343,  -314,  -314,  -314,
+    -314,  -314,  -314,  -314,  -314,   172,   357,  -131,  -314,  -314,
+    -314,  -177,  -314,   132,   181,  -314,  -314,   -69,    85,  -314,
+     159,   -10,  -314,  -314,  -314,  -314,  -314,  -314,  -314,  -314,
+    -314,  -314,   275,  -314,   195,  -213,  -314,   143,  -313,  -129,
+      86,  -314,  -314,  -314,  -314,  -314,  -126,  -314,  -314,   160,
+    -314,  -314,  -314,  -314,  -314,  -174,  -314,  -242,  -314,    47,
+    -314,   349,   341,  -314,  -138,  -314,  -314,  -314,  -314,  -111,
+    -117
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    positive, shift that token.  If negative, reduce the rule which
    number is the opposite.  If zero, do what YYDEFACT says.
    If YYTABLE_NINF, syntax error.  */
-#define YYTABLE_NINF -183
+#define YYTABLE_NINF -185
 static const yytype_int16 yytable[] =
 {
-      32,   177,   285,   242,   194,   313,   197,   208,   208,   392,
-     199,   316,   180,   177,    81,   204,   181,   272,   245,     1,
-     280,    73,   189,    74,    48,    49,    50,    51,   393,   395,
-     210,    28,   215,   133,    75,   191,   129,   404,  -181,   192,
-     130,   218,    55,    30,    28,    29,   396,     4,    56,  -181,
-     397,   131,    23,   132,   133,   262,    30,    57,   134,    12,
+      32,   177,   285,   242,   194,   313,   197,   208,   208,   394,
+     199,   316,     1,   177,    81,   204,   375,   376,   245,   378,
+       4,    73,   189,    74,    48,    49,    50,    51,   395,   398,
+     210,    28,   215,   133,    75,   191,   129,   407,  -183,   192,
+     130,   218,    55,    30,    28,    29,   399,    23,    56,  -183,
+     400,   131,    24,   132,   133,   262,    30,    57,   134,    12,
      135,   136,   137,    60,   138,   326,   139,   271,   140,   244,
-     327,    24,    25,    28,   141,    26,    28,   142,    87,    88,
-      89,   143,    91,    92,    93,   144,   215,    57,    30,    27,
-     145,   146,   147,   148,    32,  -180,    39,   296,   308,    41,
-     311,   193,   368,    33,   369,   305,  -180,   307,   162,   317,
-     246,   247,   248,    42,   249,   250,    28,   183,   184,   309,
-     162,   368,   368,   369,   369,   195,   385,    59,    30,   246,
-     247,   248,   362,   249,   250,   323,   315,   324,   211,    82,
-      44,   336,    46,   149,    61,    62,    63,    64,    65,    66,
-      67,    68,    69,    70,    71,   340,    53,     5,     6,     7,
-     175,    54,     8,     9,    10,  -182,   339,   215,   347,    11,
-     243,   344,   175,    12,   363,   368,  -182,   369,    73,   256,
-     341,   366,    77,   262,   193,   371,   329,    78,   373,   403,
-      79,    75,   129,   377,   109,   217,    80,   110,   186,   330,
-     331,   104,   332,   105,   296,   383,   194,   291,   197,   132,
-     133,   111,   108,   112,   134,    12,   135,   136,   137,   386,
-     138,   387,   139,   384,   140,   389,   162,   113,   114,    28,
-     141,   115,   116,   142,    87,    88,    89,   143,    91,    92,
-      93,   144,   314,   120,   178,   179,   145,   146,   147,   148,
-      28,   297,    84,    85,   142,    87,    88,    89,   143,    91,
-      92,    93,   298,    28,   240,   185,   246,   247,   248,   299,
-     249,   250,   188,   200,   193,    30,   123,   124,   125,   126,
-     402,   201,   202,   203,   348,   349,   350,   351,   352,   353,
-     354,   355,   375,   376,    28,   378,   216,   219,   191,   149,
-     220,   252,   192,   253,   293,    28,    30,   256,   257,    86,
-      87,    88,    89,    90,    91,    92,    93,    30,   -94,   195,
-     195,   263,   195,   300,   301,   302,   264,   195,   265,   356,
-     270,   235,   357,   358,   359,   360,    28,    83,    84,    85,
-      86,    87,    88,    89,    90,    91,    92,    93,    30,    28,
-      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
-      93,    30,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,   233,   234,   148,    28,   286,   281,
-     282,   287,   283,   288,   291,   289,   284,   290,   312,    30,
-     310,   318,   319,   320,   235,   335,   321,   337,   236,    28,
-      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
-      93,    30,   273,   274,   275,   276,   277,   278,   205,    28,
+     327,   180,    25,    28,   141,   181,   397,   142,    87,    88,
+      89,   143,    91,    92,    93,   144,   215,    57,  -182,    26,
+     145,   146,   147,   148,    32,  -184,    27,   296,   308,  -182,
+     311,   193,   368,    33,   369,   305,  -184,   307,   162,   317,
+     246,   247,   248,    39,   249,   250,    28,   183,   184,   309,
+     162,   368,   368,   369,   369,   195,   385,    28,    30,   246,
+     247,   248,   362,   249,   250,    44,   315,   272,   211,    30,
+     280,   336,    46,   149,    61,    62,    63,    64,    65,    66,
+      67,    68,    69,    70,    71,   340,    41,     5,     6,     7,
+      59,    53,     8,     9,    10,   175,   339,   215,   347,    11,
+     243,   344,    82,    12,   363,   193,    73,   175,   341,   256,
+      42,   366,   329,   262,    54,   371,   217,   104,   373,    75,
+      77,    78,   406,   377,    79,   330,   331,   386,   332,   387,
+     368,    80,   369,   391,   296,   383,   194,   291,   197,   105,
+     108,   129,    28,   286,   109,   112,   287,   186,   288,   110,
+     289,   111,   290,   384,    30,   323,   162,   324,   132,   133,
+     113,   114,   115,   134,    12,   135,   136,   137,   116,   138,
+     120,   139,   314,   140,    34,    35,    36,    37,    28,   141,
+     178,   179,   142,    87,    88,    89,   143,    91,    92,    93,
+     144,   185,   188,   193,   200,   145,   146,   147,   148,    28,
+     297,    84,    85,   142,    87,    88,    89,   143,    91,    92,
+      93,   298,    28,   405,    28,   240,   191,   201,   299,   202,
+     192,   203,   216,   219,    30,   220,    30,   123,   124,   125,
+     126,   273,   274,   275,   276,   277,   278,   256,   348,   349,
+     350,   351,   352,   353,   354,   355,   253,   252,   149,   195,
+     195,   257,   195,   123,   124,   125,   126,   195,   293,    28,
       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
-      93,    30,    28,   258,    84,    85,    86,    87,    88,    89,
-      90,    91,    92,    93,    30,   343,    34,    35,    36,    37,
-     123,   124,   125,   126,   346,   235,   364,   372,   374,   379,
-     380,   388,   391,   394,   401,    52,   119,   187,   122,    40,
-     345,   382,   342,   398,   269,   365,   338,   381,   190,   400,
-     367,   209
+      93,    30,   300,   301,   302,   263,   264,   265,   205,   270,
+     148,   281,   235,   356,   282,   284,   357,   358,   359,   360,
+      28,    83,    84,    85,    86,    87,    88,    89,    90,    91,
+      92,    93,    30,   -94,   283,   310,   246,   247,   248,   195,
+     249,   250,   318,   312,   319,   320,   291,   221,   222,   223,
+     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
+     234,   321,   335,   343,    28,    83,    84,    85,    86,    87,
+      88,    89,    90,    91,    92,    93,    30,   337,   346,   235,
+     364,   235,   372,   236,    28,    83,    84,    85,    86,    87,
+      88,    89,    90,    91,    92,    93,    30,    28,   258,    84,
+      85,    86,    87,    88,    89,    90,    91,    92,    93,    30,
+      28,   374,   379,   380,    86,    87,    88,    89,    90,    91,
+      92,    93,    30,   388,   389,   393,   404,    40,    52,   396,
+     345,   119,   122,   187,   382,   342,   365,   401,   269,   338,
+     381,   367,   403,   190,     0,     0,     0,   209
 };
 
-static const yytype_uint16 yycheck[] =
+static const yytype_int16 yycheck[] =
 {
       10,   118,   215,   180,   135,   247,   135,   145,   146,     7,
-     136,     7,   105,   130,     7,   141,   109,   206,     7,     7,
-     209,   105,   133,   107,    34,    35,    36,    37,     7,     7,
+     136,     7,     7,   130,     7,   141,   329,   330,     7,   332,
+       0,   105,   133,   107,    34,    35,    36,    37,     7,     7,
      147,    38,   149,    19,   118,    42,     1,     7,   108,    46,
-       5,   167,     5,    50,    38,    39,    32,     0,    11,   119,
+       5,   167,     5,    50,    38,    39,    32,    39,    11,   119,
       36,    16,    39,    18,    19,   193,    50,    50,    23,    24,
       25,    26,    27,     7,    29,    25,    31,   205,    33,   180,
-      30,    39,     7,    38,    39,    12,    38,    42,    43,    44,
-      45,    46,    47,    48,    49,    50,   203,    50,    50,    39,
-      55,    56,    57,    58,   104,   108,     7,   235,   236,   105,
+      30,   105,     7,    38,    39,   109,   389,    42,    43,    44,
+      45,    46,    47,    48,    49,    50,   203,    50,   108,    12,
+      55,    56,    57,    58,   104,   108,    39,   235,   236,   119,
      238,   108,   100,   106,   102,   236,   119,   236,   118,   105,
-      99,   100,   101,   105,   103,   104,    38,    39,   128,   236,
-     130,   100,   100,   102,   102,   135,   368,    43,    50,    99,
-     100,   101,   309,   103,   104,    26,   253,    28,   148,    55,
-      40,   279,    39,   108,    88,    89,    90,    91,    92,    93,
-      94,    95,    96,    97,    98,   293,    39,     8,     9,    10,
-     118,    39,    13,    14,    15,   108,   292,   284,   306,    20,
-     180,   297,   130,    24,   312,   100,   119,   102,   105,   189,
-     107,   319,   110,   321,   108,   323,    21,   110,   326,   402,
-     110,   118,     1,   331,    39,   119,   110,    40,     7,    34,
-      35,   108,    37,   108,   342,   343,   337,   217,   337,    18,
-      19,    41,   108,    39,    23,    24,    25,    26,    27,   371,
-      29,   373,    31,   361,    33,   377,   236,    39,     7,    38,
-      39,   105,    17,    42,    43,    44,    45,    46,    47,    48,
-      49,    50,   252,    39,   109,   109,    55,    56,    57,    58,
-      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
-      48,    49,    50,    38,    39,     7,    99,   100,   101,    57,
-     103,   104,    39,     7,   108,    50,    51,    52,    53,    54,
-     397,     7,     7,   108,    66,    67,    68,    69,    70,    71,
-      72,    73,   329,   330,    38,   332,     7,     7,    42,   108,
-       7,    59,    46,   105,     6,    38,    50,   317,     7,    42,
-      43,    44,    45,    46,    47,    48,    49,    50,     7,   329,
-     330,     7,   332,   111,   112,   113,     7,   337,     7,   111,
-       7,   106,   114,   115,   116,   117,    38,    39,    40,    41,
-      42,    43,    44,    45,    46,    47,    48,    49,    50,    38,
-      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
-      49,    50,    74,    75,    76,    77,    78,    79,    80,    81,
-      82,    83,    84,    85,    86,    87,    58,    38,    39,     7,
-       7,    42,   109,    44,   394,    46,   105,    48,   110,    50,
-       7,    99,    59,   109,   106,   109,   105,   110,   110,    38,
+      99,   100,   101,     7,   103,   104,    38,    39,   128,   236,
+     130,   100,   100,   102,   102,   135,   368,    38,    50,    99,
+     100,   101,   309,   103,   104,    40,   253,   206,   148,    50,
+     209,   279,    39,   108,    88,    89,    90,    91,    92,    93,
+      94,    95,    96,    97,    98,   293,   105,     8,     9,    10,
+      43,    39,    13,    14,    15,   118,   292,   284,   306,    20,
+     180,   297,    55,    24,   312,   108,   105,   130,   107,   189,
+     105,   319,    21,   321,    39,   323,   119,   108,   326,   118,
+     110,   110,   405,   331,   110,    34,    35,   371,    37,   373,
+     100,   110,   102,   377,   342,   343,   337,   217,   337,   108,
+     108,     1,    38,    39,    39,    39,    42,     7,    44,    40,
+      46,    41,    48,   361,    50,    26,   236,    28,    18,    19,
+      39,     7,   105,    23,    24,    25,    26,    27,    17,    29,
+      39,    31,   252,    33,    51,    52,    53,    54,    38,    39,
+     109,   109,    42,    43,    44,    45,    46,    47,    48,    49,
+      50,     7,    39,   108,     7,    55,    56,    57,    58,    38,
       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
-      49,    50,    60,    61,    62,    63,    64,    65,    57,    38,
+      49,    50,    38,   400,    38,    39,    42,     7,    57,     7,
+      46,   108,     7,     7,    50,     7,    50,    51,    52,    53,
+      54,    60,    61,    62,    63,    64,    65,   317,    66,    67,
+      68,    69,    70,    71,    72,    73,   105,    59,   108,   329,
+     330,     7,   332,    51,    52,    53,    54,   337,     6,    38,
       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
-      49,    50,    38,    39,    40,    41,    42,    43,    44,    45,
-      46,    47,    48,    49,    50,     6,    51,    52,    53,    54,
-      51,    52,    53,    54,     7,   106,     7,     7,     7,     7,
-       7,     7,     7,    22,     7,    39,   104,   130,   115,    13,
-     298,   342,   294,   390,   203,   317,   284,   337,   134,   394,
-     321,   146
+      49,    50,   111,   112,   113,     7,     7,     7,    57,     7,
+      58,     7,   106,   111,     7,   105,   114,   115,   116,   117,
+      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
+      48,    49,    50,     7,   109,     7,    99,   100,   101,   389,
+     103,   104,    99,   110,    59,   109,   396,    74,    75,    76,
+      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
+      87,   105,   109,     6,    38,    39,    40,    41,    42,    43,
+      44,    45,    46,    47,    48,    49,    50,   110,     7,   106,
+       7,   106,     7,   110,    38,    39,    40,    41,    42,    43,
+      44,    45,    46,    47,    48,    49,    50,    38,    39,    40,
+      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
+      38,     7,     7,     7,    42,    43,    44,    45,    46,    47,
+      48,    49,    50,     7,   105,     7,     7,    13,    39,    22,
+     298,   104,   115,   130,   342,   294,   317,   392,   203,   284,
+     337,   321,   396,   134,    -1,    -1,    -1,   146
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1188,45 +1191,45 @@
 {
        0,     7,   121,   122,     0,     8,     9,    10,    13,    14,
       15,    20,    24,   123,   124,   125,   126,   127,   128,   129,
-     133,   135,   208,    39,    39,     7,    12,    39,    38,    39,
-      50,   136,   171,   106,    51,    52,    53,    54,   210,     7,
+     133,   135,   209,    39,    39,     7,    12,    39,    38,    39,
+      50,   136,   171,   106,    51,    52,    53,    54,   211,     7,
      122,   105,   105,   130,    40,   137,    39,   134,   171,   171,
      171,   171,   124,    39,    39,     5,    11,    50,   131,   132,
        7,    88,    89,    90,    91,    92,    93,    94,    95,    96,
       97,    98,   138,   105,   107,   118,   164,   110,   110,   110,
      110,     7,   132,    39,    40,    41,    42,    43,    44,    45,
-      46,    47,    48,    49,   154,   155,   156,   171,   213,   214,
-     215,   216,   219,   141,   108,   108,   206,   207,   108,    39,
+      46,    47,    48,    49,   154,   155,   156,   171,   214,   215,
+     216,   217,   220,   141,   108,   108,   207,   208,   108,    39,
       40,    41,    39,    39,     7,   105,    17,   142,   144,   136,
-      39,   139,   156,    51,    52,    53,    54,   143,   218,     1,
+      39,   139,   156,    51,    52,    53,    54,   143,   219,     1,
        5,    16,    18,    19,    23,    25,    26,    27,    29,    31,
       33,    39,    42,    46,    50,    55,    56,    57,    58,   108,
      132,   145,   146,   147,   148,   149,   150,   157,   165,   166,
-     167,   168,   171,   172,   173,   174,   180,   187,   188,   190,
-     191,   192,   193,   194,   199,   208,   209,   219,   109,   109,
-     105,   109,   184,    39,   171,     7,     7,   146,    39,   218,
-     210,    42,    46,   108,   157,   171,   186,   188,   195,   195,
-       7,     7,     7,   108,   195,    57,   211,   212,   213,   211,
-     219,   171,   181,   182,   183,   219,     7,   119,   195,     7,
+     167,   168,   171,   172,   173,   174,   181,   188,   189,   191,
+     192,   193,   194,   195,   200,   209,   210,   220,   109,   109,
+     105,   109,   185,    39,   171,     7,     7,   146,    39,   219,
+     211,    42,    46,   108,   157,   171,   187,   189,   196,   196,
+       7,     7,     7,   108,   196,    57,   212,   213,   214,   212,
+     220,   171,   182,   183,   184,   220,     7,   119,   196,     7,
        7,    74,    75,    76,    77,    78,    79,    80,    81,    82,
       83,    84,    85,    86,    87,   106,   110,   151,   160,   161,
-      39,   140,   161,   171,   218,     7,    99,   100,   101,   103,
-     104,   185,    59,   105,   169,   170,   171,     7,    39,   196,
-     197,   198,   213,     7,     7,     7,   200,   202,   175,   181,
-       7,   213,   167,    60,    61,    62,    63,    64,    65,   217,
-     167,     7,     7,   109,   105,   184,    39,    42,    44,    46,
-      48,   171,   189,     6,   162,   163,   213,    39,    50,    57,
-     111,   112,   113,   152,   153,   157,   158,   188,   213,   219,
-       7,   213,   110,   206,   171,   219,     7,   105,    99,    59,
-     109,   105,   204,    26,    28,   201,    25,    30,   203,    21,
-      34,    35,    37,   176,   177,   109,   213,   110,   183,   195,
-     213,   107,   164,     6,   195,   155,     7,   213,    66,    67,
+      39,   140,   161,   171,   219,     7,    99,   100,   101,   103,
+     104,   186,    59,   105,   169,   170,   171,     7,    39,   197,
+     198,   199,   214,     7,     7,     7,   201,   203,   175,   182,
+       7,   214,   167,    60,    61,    62,    63,    64,    65,   218,
+     167,     7,     7,   109,   105,   185,    39,    42,    44,    46,
+      48,   171,   190,     6,   162,   163,   214,    39,    50,    57,
+     111,   112,   113,   152,   153,   157,   158,   189,   214,   220,
+       7,   214,   110,   207,   171,   220,     7,   105,    99,    59,
+     109,   105,   205,    26,    28,   202,    25,    30,   204,    21,
+      34,    35,    37,   176,   177,   109,   214,   110,   184,   196,
+     214,   107,   164,     6,   196,   155,     7,   214,    66,    67,
       68,    69,    70,    71,    72,    73,   111,   114,   115,   116,
-     117,   159,   161,   213,     7,   170,   213,   198,   100,   102,
-     205,   213,     7,   213,     7,   187,   187,   213,   187,     7,
-       7,   186,   163,   213,   213,   206,   204,   204,     7,   204,
-     178,     7,     7,     7,    22,     7,    32,    36,   168,   179,
-     189,     7,   219,   184,     7
+     117,   159,   161,   214,     7,   170,   214,   199,   100,   102,
+     206,   214,     7,   214,     7,   188,   188,   214,   188,     7,
+       7,   187,   163,   214,   214,   207,   205,   205,     7,   105,
+     178,   205,   179,     7,     7,     7,    22,   188,     7,    32,
+      36,   168,   180,   190,     7,   220,   185,     7
 };
 
 #define yyerrok                (yyerrstatus = 0)
@@ -2060,7 +2063,7 @@
 
 
 /* Line 1267 of yacc.c.  */
-#line 2064 "pirparser.c"
+#line 2067 "pirparser.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2274,7 +2277,7 @@
 }
 
 
-#line 712 "pir.y"
+#line 716 "pir.y"
 
 
 #include <string.h>

<Prev in Thread] Current Thread [Next in Thread>
  • [svn:parrot] r22627 - trunk/compilers/pirc/new, kjs <=