Index: src/Parser/parser.cc
===================================================================
--- src/Parser/parser.cc	(revision 4f147ccf8275e5b1c57a2d5be8cda9f90d91279f)
+++ src/Parser/parser.cc	(revision 8d2844a9848e1bfbbfa5658f475772683c91d562)
@@ -739,25 +739,25 @@
     1988,  1989,  1990,  1993,  1992,  2003,  2012,  2018,  2024,  2033,
     2039,  2045,  2051,  2057,  2065,  2071,  2079,  2085,  2094,  2095,
-    2096,  2100,  2104,  2106,  2111,  2112,  2116,  2117,  2122,  2128,
-    2129,  2132,  2134,  2135,  2139,  2140,  2141,  2142,  2176,  2178,
-    2179,  2181,  2186,  2191,  2196,  2198,  2200,  2205,  2207,  2209,
-    2211,  2216,  2218,  2227,  2229,  2230,  2235,  2237,  2239,  2244,
-    2246,  2248,  2253,  2255,  2257,  2266,  2267,  2268,  2272,  2274,
-    2276,  2281,  2283,  2285,  2290,  2292,  2294,  2309,  2311,  2312,
-    2314,  2319,  2320,  2325,  2327,  2329,  2334,  2336,  2338,  2340,
-    2345,  2347,  2349,  2359,  2361,  2362,  2364,  2369,  2371,  2373,
-    2378,  2380,  2382,  2384,  2389,  2391,  2393,  2424,  2426,  2427,
-    2429,  2434,  2439,  2447,  2449,  2451,  2456,  2458,  2463,  2465,
-    2479,  2480,  2482,  2487,  2489,  2491,  2493,  2495,  2500,  2501,
-    2503,  2505,  2510,  2512,  2514,  2520,  2522,  2524,  2528,  2530,
-    2532,  2534,  2548,  2549,  2551,  2556,  2558,  2560,  2562,  2564,
-    2569,  2570,  2572,  2574,  2579,  2581,  2583,  2589,  2590,  2592,
-    2601,  2604,  2606,  2609,  2611,  2613,  2626,  2627,  2629,  2634,
-    2636,  2638,  2640,  2642,  2647,  2648,  2650,  2652,  2657,  2659,
-    2667,  2668,  2669,  2674,  2675,  2679,  2681,  2683,  2685,  2687,
-    2689,  2696,  2698,  2700,  2702,  2704,  2706,  2708,  2710,  2712,
-    2714,  2719,  2721,  2723,  2728,  2754,  2755,  2757,  2761,  2762,
-    2766,  2768,  2770,  2772,  2774,  2776,  2783,  2785,  2787,  2789,
-    2791,  2793,  2798,  2803,  2805,  2807,  2825,  2827,  2832,  2833
+    2096,  2100,  2104,  2106,  2112,  2113,  2117,  2118,  2123,  2129,
+    2130,  2133,  2135,  2136,  2141,  2142,  2143,  2144,  2178,  2180,
+    2181,  2183,  2188,  2193,  2198,  2200,  2202,  2207,  2209,  2211,
+    2213,  2218,  2220,  2229,  2231,  2232,  2237,  2239,  2241,  2246,
+    2248,  2250,  2255,  2257,  2259,  2268,  2269,  2270,  2274,  2276,
+    2278,  2283,  2285,  2287,  2292,  2294,  2296,  2311,  2313,  2314,
+    2316,  2321,  2322,  2327,  2329,  2331,  2336,  2338,  2340,  2342,
+    2347,  2349,  2351,  2361,  2363,  2364,  2366,  2371,  2373,  2375,
+    2380,  2382,  2384,  2386,  2391,  2393,  2395,  2426,  2428,  2429,
+    2431,  2436,  2441,  2449,  2451,  2453,  2458,  2460,  2465,  2467,
+    2481,  2482,  2484,  2489,  2491,  2493,  2495,  2497,  2502,  2503,
+    2505,  2507,  2512,  2514,  2516,  2522,  2524,  2526,  2530,  2532,
+    2534,  2536,  2550,  2551,  2553,  2558,  2560,  2562,  2564,  2566,
+    2571,  2572,  2574,  2576,  2581,  2583,  2585,  2591,  2592,  2594,
+    2603,  2606,  2608,  2611,  2613,  2615,  2628,  2629,  2631,  2636,
+    2638,  2640,  2642,  2644,  2649,  2650,  2652,  2654,  2659,  2661,
+    2669,  2670,  2671,  2676,  2677,  2681,  2683,  2685,  2687,  2689,
+    2691,  2698,  2700,  2702,  2704,  2706,  2708,  2710,  2712,  2714,
+    2716,  2721,  2723,  2725,  2730,  2756,  2757,  2759,  2763,  2764,
+    2768,  2770,  2772,  2774,  2776,  2778,  2785,  2787,  2789,  2791,
+    2793,  2795,  2800,  2805,  2807,  2809,  2827,  2829,  2834,  2835
 };
 #endif
@@ -7075,41 +7075,41 @@
     break;
 
+  case 543:
+#line 2107 "parser.yy" /* yacc.c:1646  */
+    { delete (yyvsp[-2].constant); }
+#line 7081 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
   case 544:
-#line 2111 "parser.yy" /* yacc.c:1646  */
+#line 2112 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = 0; }
-#line 7081 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7087 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 547:
-#line 2118 "parser.yy" /* yacc.c:1646  */
+#line 2119 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); }
-#line 7087 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7093 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 548:
-#line 2124 "parser.yy" /* yacc.c:1646  */
+#line 2125 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = 0; }
-#line 7093 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7099 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
+  case 553:
+#line 2137 "parser.yy" /* yacc.c:1646  */
+    { delete (yyvsp[-1].en); }
+#line 7105 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 554:
-#line 2139 "parser.yy" /* yacc.c:1646  */
+#line 2141 "parser.yy" /* yacc.c:1646  */
     { delete (yyvsp[0].tok); }
-#line 7099 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7111 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 555:
-#line 2140 "parser.yy" /* yacc.c:1646  */
-    { delete (yyvsp[0].decl); }
-#line 7105 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 556:
-#line 2141 "parser.yy" /* yacc.c:1646  */
-    { delete (yyvsp[0].decl); }
-#line 7111 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 557:
 #line 2142 "parser.yy" /* yacc.c:1646  */
     { delete (yyvsp[0].decl); }
@@ -7117,999 +7117,1011 @@
     break;
 
+  case 556:
+#line 2143 "parser.yy" /* yacc.c:1646  */
+    { delete (yyvsp[0].decl); }
+#line 7123 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
+  case 557:
+#line 2144 "parser.yy" /* yacc.c:1646  */
+    { delete (yyvsp[0].decl); }
+#line 7129 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
   case 558:
-#line 2177 "parser.yy" /* yacc.c:1646  */
+#line 2179 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
-#line 7123 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7135 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 560:
-#line 2180 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
-#line 7129 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 561:
 #line 2182 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
-#line 7135 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7141 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
+  case 561:
+#line 2184 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
+#line 7147 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 562:
-#line 2187 "parser.yy" /* yacc.c:1646  */
+#line 2189 "parser.yy" /* yacc.c:1646  */
     {
 			typedefTable.setNextIdentifier( *(yyvsp[0].tok) );
 			(yyval.decl) = DeclarationNode::newName( (yyvsp[0].tok) );
 		}
-#line 7144 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7156 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 563:
-#line 2192 "parser.yy" /* yacc.c:1646  */
+#line 2194 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7150 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7162 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 564:
-#line 2197 "parser.yy" /* yacc.c:1646  */
+#line 2199 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
-#line 7156 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7168 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 565:
-#line 2199 "parser.yy" /* yacc.c:1646  */
+#line 2201 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); }
-#line 7162 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7174 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 566:
-#line 2201 "parser.yy" /* yacc.c:1646  */
+#line 2203 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7168 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7180 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 567:
-#line 2206 "parser.yy" /* yacc.c:1646  */
+#line 2208 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); }
-#line 7174 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7186 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 568:
-#line 2208 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
-#line 7180 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 569:
 #line 2210 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
-#line 7186 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7192 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
+  case 569:
+#line 2212 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
+#line 7198 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 570:
-#line 2212 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7192 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 571:
-#line 2217 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); }
-#line 7198 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 572:
-#line 2219 "parser.yy" /* yacc.c:1646  */
+#line 2214 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
 #line 7204 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
+  case 571:
+#line 2219 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); }
+#line 7210 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
+  case 572:
+#line 2221 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[-1].decl); }
+#line 7216 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
   case 573:
-#line 2228 "parser.yy" /* yacc.c:1646  */
+#line 2230 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
-#line 7210 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7222 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 575:
-#line 2231 "parser.yy" /* yacc.c:1646  */
+#line 2233 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
-#line 7216 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7228 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 576:
-#line 2236 "parser.yy" /* yacc.c:1646  */
+#line 2238 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-5].decl)->addParamList( (yyvsp[-2].decl) ); }
-#line 7222 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7234 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 577:
-#line 2238 "parser.yy" /* yacc.c:1646  */
+#line 2240 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); }
-#line 7228 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7240 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 578:
-#line 2240 "parser.yy" /* yacc.c:1646  */
+#line 2242 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7234 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7246 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 579:
-#line 2245 "parser.yy" /* yacc.c:1646  */
+#line 2247 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
-#line 7240 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7252 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 580:
-#line 2247 "parser.yy" /* yacc.c:1646  */
+#line 2249 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); }
-#line 7246 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7258 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 581:
-#line 2249 "parser.yy" /* yacc.c:1646  */
+#line 2251 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7252 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7264 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 582:
-#line 2254 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
-#line 7258 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 583:
 #line 2256 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
-#line 7264 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7270 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
+  case 583:
+#line 2258 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
+#line 7276 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 584:
-#line 2258 "parser.yy" /* yacc.c:1646  */
+#line 2260 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7270 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7282 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 588:
-#line 2273 "parser.yy" /* yacc.c:1646  */
+#line 2275 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-3].decl)->addIdList( (yyvsp[-1].decl) ); }
-#line 7276 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7288 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 589:
-#line 2275 "parser.yy" /* yacc.c:1646  */
+#line 2277 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-4].decl)->addIdList( (yyvsp[-1].decl) ); }
-#line 7282 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7294 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 590:
-#line 2277 "parser.yy" /* yacc.c:1646  */
+#line 2279 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7288 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7300 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 591:
-#line 2282 "parser.yy" /* yacc.c:1646  */
+#line 2284 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
-#line 7294 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7306 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 592:
-#line 2284 "parser.yy" /* yacc.c:1646  */
+#line 2286 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); }
-#line 7300 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7312 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 593:
-#line 2286 "parser.yy" /* yacc.c:1646  */
+#line 2288 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7306 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7318 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 594:
-#line 2291 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
-#line 7312 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 595:
 #line 2293 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
-#line 7318 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7324 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
+  case 595:
+#line 2295 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
+#line 7330 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 596:
-#line 2295 "parser.yy" /* yacc.c:1646  */
+#line 2297 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7324 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7336 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 597:
-#line 2310 "parser.yy" /* yacc.c:1646  */
+#line 2312 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
-#line 7330 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7342 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 599:
-#line 2313 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
-#line 7336 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 600:
 #line 2315 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
-#line 7342 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7348 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
+  case 600:
+#line 2317 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
+#line 7354 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 602:
-#line 2321 "parser.yy" /* yacc.c:1646  */
+#line 2323 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7348 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7360 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 603:
-#line 2326 "parser.yy" /* yacc.c:1646  */
+#line 2328 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
-#line 7354 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7366 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 604:
-#line 2328 "parser.yy" /* yacc.c:1646  */
+#line 2330 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); }
-#line 7360 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7372 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 605:
-#line 2330 "parser.yy" /* yacc.c:1646  */
+#line 2332 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7366 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7378 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 606:
-#line 2335 "parser.yy" /* yacc.c:1646  */
+#line 2337 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); }
-#line 7372 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7384 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 607:
-#line 2337 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
-#line 7378 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 608:
 #line 2339 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
-#line 7384 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7390 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
+  case 608:
+#line 2341 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
+#line 7396 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 609:
-#line 2341 "parser.yy" /* yacc.c:1646  */
+#line 2343 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7390 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7402 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 610:
-#line 2346 "parser.yy" /* yacc.c:1646  */
+#line 2348 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-5].decl)->addParamList( (yyvsp[-2].decl) ); }
-#line 7396 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7408 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 611:
-#line 2348 "parser.yy" /* yacc.c:1646  */
+#line 2350 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); }
-#line 7402 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7414 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 612:
-#line 2350 "parser.yy" /* yacc.c:1646  */
+#line 2352 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7408 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7420 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 613:
-#line 2360 "parser.yy" /* yacc.c:1646  */
+#line 2362 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
-#line 7414 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7426 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 615:
-#line 2363 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
-#line 7420 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 616:
 #line 2365 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
-#line 7426 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7432 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
+  case 616:
+#line 2367 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
+#line 7438 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 617:
-#line 2370 "parser.yy" /* yacc.c:1646  */
+#line 2372 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
-#line 7432 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7444 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 618:
-#line 2372 "parser.yy" /* yacc.c:1646  */
+#line 2374 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); }
-#line 7438 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7450 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 619:
-#line 2374 "parser.yy" /* yacc.c:1646  */
+#line 2376 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7444 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7456 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 620:
-#line 2379 "parser.yy" /* yacc.c:1646  */
+#line 2381 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); }
-#line 7450 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7462 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 621:
-#line 2381 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
-#line 7456 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 622:
 #line 2383 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
-#line 7462 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7468 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
+  case 622:
+#line 2385 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
+#line 7474 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 623:
-#line 2385 "parser.yy" /* yacc.c:1646  */
+#line 2387 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7468 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7480 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 624:
-#line 2390 "parser.yy" /* yacc.c:1646  */
+#line 2392 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-5].decl)->addParamList( (yyvsp[-2].decl) ); }
-#line 7474 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7486 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 625:
-#line 2392 "parser.yy" /* yacc.c:1646  */
+#line 2394 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); }
-#line 7480 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7492 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 626:
-#line 2394 "parser.yy" /* yacc.c:1646  */
+#line 2396 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7486 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7498 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 627:
-#line 2425 "parser.yy" /* yacc.c:1646  */
+#line 2427 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
-#line 7492 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7504 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 629:
-#line 2428 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
-#line 7498 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 630:
 #line 2430 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
-#line 7504 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7510 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
+  case 630:
+#line 2432 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
+#line 7516 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 631:
-#line 2435 "parser.yy" /* yacc.c:1646  */
+#line 2437 "parser.yy" /* yacc.c:1646  */
     {
 			typedefTable.setNextIdentifier( *(yyvsp[0].tok) );
 			(yyval.decl) = DeclarationNode::newName( (yyvsp[0].tok) );
 		}
-#line 7513 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7525 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 632:
-#line 2440 "parser.yy" /* yacc.c:1646  */
+#line 2442 "parser.yy" /* yacc.c:1646  */
     {
 			typedefTable.setNextIdentifier( *(yyvsp[0].tok) );
 			(yyval.decl) = DeclarationNode::newName( (yyvsp[0].tok) );
 		}
-#line 7522 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7534 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 633:
-#line 2448 "parser.yy" /* yacc.c:1646  */
+#line 2450 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
-#line 7528 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7540 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 634:
-#line 2450 "parser.yy" /* yacc.c:1646  */
+#line 2452 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); }
-#line 7534 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7546 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 635:
-#line 2452 "parser.yy" /* yacc.c:1646  */
+#line 2454 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7540 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7552 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 636:
-#line 2457 "parser.yy" /* yacc.c:1646  */
+#line 2459 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); }
-#line 7546 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7558 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 637:
-#line 2459 "parser.yy" /* yacc.c:1646  */
+#line 2461 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
-#line 7552 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7564 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 638:
-#line 2464 "parser.yy" /* yacc.c:1646  */
+#line 2466 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-5].decl)->addParamList( (yyvsp[-2].decl) ); }
-#line 7558 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7570 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 639:
-#line 2466 "parser.yy" /* yacc.c:1646  */
+#line 2468 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); }
-#line 7564 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7576 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 641:
-#line 2481 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
-#line 7570 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 642:
 #line 2483 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
-#line 7576 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7582 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
+  case 642:
+#line 2485 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
+#line 7588 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 643:
-#line 2488 "parser.yy" /* yacc.c:1646  */
+#line 2490 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
-#line 7582 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7594 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 644:
-#line 2490 "parser.yy" /* yacc.c:1646  */
+#line 2492 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[0].decl) ); }
-#line 7588 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7600 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 645:
-#line 2492 "parser.yy" /* yacc.c:1646  */
+#line 2494 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
-#line 7594 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7606 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 646:
-#line 2494 "parser.yy" /* yacc.c:1646  */
+#line 2496 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); }
-#line 7600 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7612 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 647:
-#line 2496 "parser.yy" /* yacc.c:1646  */
+#line 2498 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7606 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7618 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 649:
-#line 2502 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
-#line 7612 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 650:
 #line 2504 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
-#line 7618 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7624 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
+  case 650:
+#line 2506 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
+#line 7630 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 651:
-#line 2506 "parser.yy" /* yacc.c:1646  */
+#line 2508 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7624 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7636 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 652:
-#line 2511 "parser.yy" /* yacc.c:1646  */
+#line 2513 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[-2].decl), 0 ); }
-#line 7630 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7642 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 653:
-#line 2513 "parser.yy" /* yacc.c:1646  */
+#line 2515 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); }
-#line 7636 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7648 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 654:
-#line 2515 "parser.yy" /* yacc.c:1646  */
+#line 2517 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7642 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7654 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 655:
-#line 2521 "parser.yy" /* yacc.c:1646  */
+#line 2523 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
-#line 7648 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7660 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 656:
-#line 2523 "parser.yy" /* yacc.c:1646  */
+#line 2525 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[0].decl) ); }
-#line 7654 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7666 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 658:
-#line 2529 "parser.yy" /* yacc.c:1646  */
+#line 2531 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), 0, false ); }
-#line 7660 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7672 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 659:
-#line 2531 "parser.yy" /* yacc.c:1646  */
+#line 2533 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
-#line 7666 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7678 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 660:
-#line 2533 "parser.yy" /* yacc.c:1646  */
+#line 2535 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-5].decl)->addArray( DeclarationNode::newArray( (yyvsp[-2].en), 0, false ) ); }
-#line 7672 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7684 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 661:
-#line 2535 "parser.yy" /* yacc.c:1646  */
+#line 2537 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-5].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
-#line 7678 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7690 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 663:
-#line 2550 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
-#line 7684 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 664:
 #line 2552 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
-#line 7690 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7696 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
+  case 664:
+#line 2554 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
+#line 7702 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 665:
-#line 2557 "parser.yy" /* yacc.c:1646  */
+#line 2559 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
-#line 7696 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7708 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 666:
-#line 2559 "parser.yy" /* yacc.c:1646  */
+#line 2561 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[0].decl) ); }
-#line 7702 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7714 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 667:
-#line 2561 "parser.yy" /* yacc.c:1646  */
+#line 2563 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
-#line 7708 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7720 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 668:
-#line 2563 "parser.yy" /* yacc.c:1646  */
+#line 2565 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); }
-#line 7714 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7726 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 669:
-#line 2565 "parser.yy" /* yacc.c:1646  */
+#line 2567 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7720 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7732 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 671:
-#line 2571 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
-#line 7726 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 672:
 #line 2573 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
-#line 7732 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7738 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
+  case 672:
+#line 2575 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
+#line 7744 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 673:
-#line 2575 "parser.yy" /* yacc.c:1646  */
+#line 2577 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7738 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7750 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 674:
-#line 2580 "parser.yy" /* yacc.c:1646  */
+#line 2582 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[-2].decl), 0 ); }
-#line 7744 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7756 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 675:
-#line 2582 "parser.yy" /* yacc.c:1646  */
+#line 2584 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); }
-#line 7750 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7762 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 676:
-#line 2584 "parser.yy" /* yacc.c:1646  */
+#line 2586 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7756 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7768 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 678:
-#line 2591 "parser.yy" /* yacc.c:1646  */
+#line 2593 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl)->addArray( (yyvsp[0].decl) ); }
-#line 7762 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7774 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 680:
-#line 2602 "parser.yy" /* yacc.c:1646  */
+#line 2604 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
-#line 7768 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7780 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 681:
-#line 2605 "parser.yy" /* yacc.c:1646  */
+#line 2607 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[-3].decl) ); }
-#line 7774 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7786 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 682:
-#line 2607 "parser.yy" /* yacc.c:1646  */
+#line 2609 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[-2].decl), false ); }
-#line 7780 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7792 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 683:
-#line 2610 "parser.yy" /* yacc.c:1646  */
+#line 2612 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl), false ); }
-#line 7786 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7798 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 684:
-#line 2612 "parser.yy" /* yacc.c:1646  */
+#line 2614 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl), true ); }
-#line 7792 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7804 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 685:
-#line 2614 "parser.yy" /* yacc.c:1646  */
+#line 2616 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-4].decl), true ); }
-#line 7798 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7810 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 687:
-#line 2628 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
-#line 7804 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 688:
 #line 2630 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
-#line 7810 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7816 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
+  case 688:
+#line 2632 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[-1].decl)->addQualifiers( (yyvsp[0].decl) ); }
+#line 7822 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 689:
-#line 2635 "parser.yy" /* yacc.c:1646  */
+#line 2637 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
-#line 7816 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7828 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 690:
-#line 2637 "parser.yy" /* yacc.c:1646  */
+#line 2639 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[0].decl) ); }
-#line 7822 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7834 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 691:
-#line 2639 "parser.yy" /* yacc.c:1646  */
+#line 2641 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
-#line 7828 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7840 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 692:
-#line 2641 "parser.yy" /* yacc.c:1646  */
+#line 2643 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[-1].decl) ) ); }
-#line 7834 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7846 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 693:
-#line 2643 "parser.yy" /* yacc.c:1646  */
+#line 2645 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7840 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7852 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 695:
-#line 2649 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
-#line 7846 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 696:
 #line 2651 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
-#line 7852 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7858 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
+  case 696:
+#line 2653 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[-2].decl)->addArray( (yyvsp[0].decl) ); }
+#line 7864 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 697:
-#line 2653 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[-1].decl); }
-#line 7858 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 698:
-#line 2658 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); }
-#line 7864 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 699:
-#line 2660 "parser.yy" /* yacc.c:1646  */
+#line 2655 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[-1].decl); }
 #line 7870 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
+  case 698:
+#line 2660 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[-6].decl)->addParamList( (yyvsp[-2].decl) ); }
+#line 7876 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
+  case 699:
+#line 2662 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[-1].decl); }
+#line 7882 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
   case 702:
-#line 2670 "parser.yy" /* yacc.c:1646  */
+#line 2672 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); }
-#line 7876 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7888 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 705:
-#line 2680 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
-#line 7882 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 706:
 #line 2682 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); }
-#line 7888 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 707:
-#line 2684 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
 #line 7894 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
-  case 708:
-#line 2686 "parser.yy" /* yacc.c:1646  */
+  case 706:
+#line 2684 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); }
 #line 7900 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
-  case 709:
-#line 2688 "parser.yy" /* yacc.c:1646  */
+  case 707:
+#line 2686 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
 #line 7906 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
-  case 710:
-#line 2690 "parser.yy" /* yacc.c:1646  */
+  case 708:
+#line 2688 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); }
 #line 7912 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
+  case 709:
+#line 2690 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
+#line 7918 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
+  case 710:
+#line 2692 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); }
+#line 7924 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
   case 711:
-#line 2697 "parser.yy" /* yacc.c:1646  */
+#line 2699 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
-#line 7918 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7930 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 712:
-#line 2699 "parser.yy" /* yacc.c:1646  */
+#line 2701 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); }
-#line 7924 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7936 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 713:
-#line 2701 "parser.yy" /* yacc.c:1646  */
+#line 2703 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
-#line 7930 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7942 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 714:
-#line 2703 "parser.yy" /* yacc.c:1646  */
+#line 2705 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( (yyvsp[-2].decl) ); }
-#line 7936 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7948 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 715:
-#line 2705 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); }
-#line 7942 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 716:
 #line 2707 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[0].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
-#line 7948 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 717:
-#line 2709 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); }
 #line 7954 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
+  case 716:
+#line 2709 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[0].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
+#line 7960 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
+  case 717:
+#line 2711 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); }
+#line 7966 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
   case 718:
-#line 2711 "parser.yy" /* yacc.c:1646  */
+#line 2713 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
-#line 7960 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7972 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 719:
-#line 2713 "parser.yy" /* yacc.c:1646  */
+#line 2715 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( (yyvsp[-2].decl) ); }
-#line 7966 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7978 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 720:
-#line 2715 "parser.yy" /* yacc.c:1646  */
+#line 2717 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); }
-#line 7972 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7984 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 721:
-#line 2720 "parser.yy" /* yacc.c:1646  */
+#line 2722 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[-3].decl) ); }
-#line 7978 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7990 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 722:
-#line 2722 "parser.yy" /* yacc.c:1646  */
+#line 2724 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl), false ); }
-#line 7984 "Parser/parser.cc" /* yacc.c:1646  */
+#line 7996 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 723:
-#line 2727 "parser.yy" /* yacc.c:1646  */
+#line 2729 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl), true ); }
-#line 7990 "Parser/parser.cc" /* yacc.c:1646  */
+#line 8002 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 724:
-#line 2729 "parser.yy" /* yacc.c:1646  */
+#line 2731 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newArray( (yyvsp[-2].en), (yyvsp[-3].decl)->addQualifiers( (yyvsp[-4].decl) ), true ); }
-#line 7996 "Parser/parser.cc" /* yacc.c:1646  */
+#line 8008 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 726:
-#line 2756 "parser.yy" /* yacc.c:1646  */
+#line 2758 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addQualifiers( (yyvsp[-1].decl) ); }
-#line 8002 "Parser/parser.cc" /* yacc.c:1646  */
+#line 8014 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 730:
-#line 2767 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
-#line 8008 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 731:
 #line 2769 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); }
-#line 8014 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 732:
-#line 2771 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
 #line 8020 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
-  case 733:
-#line 2773 "parser.yy" /* yacc.c:1646  */
+  case 731:
+#line 2771 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); }
 #line 8026 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
-  case 734:
-#line 2775 "parser.yy" /* yacc.c:1646  */
+  case 732:
+#line 2773 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
 #line 8032 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
-  case 735:
-#line 2777 "parser.yy" /* yacc.c:1646  */
+  case 733:
+#line 2775 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); }
 #line 8038 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
+  case 734:
+#line 2777 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
+#line 8044 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
+  case 735:
+#line 2779 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = (yyvsp[0].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[-2].decl) ) ); }
+#line 8050 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
   case 736:
-#line 2784 "parser.yy" /* yacc.c:1646  */
+#line 2786 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
-#line 8044 "Parser/parser.cc" /* yacc.c:1646  */
+#line 8056 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 737:
-#line 2786 "parser.yy" /* yacc.c:1646  */
+#line 2788 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
-#line 8050 "Parser/parser.cc" /* yacc.c:1646  */
+#line 8062 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 738:
-#line 2788 "parser.yy" /* yacc.c:1646  */
+#line 2790 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); }
-#line 8056 "Parser/parser.cc" /* yacc.c:1646  */
+#line 8068 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 739:
-#line 2790 "parser.yy" /* yacc.c:1646  */
+#line 2792 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
-#line 8062 "Parser/parser.cc" /* yacc.c:1646  */
+#line 8074 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 740:
-#line 2792 "parser.yy" /* yacc.c:1646  */
+#line 2794 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
-#line 8068 "Parser/parser.cc" /* yacc.c:1646  */
+#line 8080 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 741:
-#line 2794 "parser.yy" /* yacc.c:1646  */
+#line 2796 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = (yyvsp[0].decl)->addNewArray( (yyvsp[-1].decl) ); }
-#line 8074 "Parser/parser.cc" /* yacc.c:1646  */
+#line 8086 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 742:
-#line 2799 "parser.yy" /* yacc.c:1646  */
+#line 2801 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[-2].decl) ); }
-#line 8080 "Parser/parser.cc" /* yacc.c:1646  */
+#line 8092 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 743:
-#line 2804 "parser.yy" /* yacc.c:1646  */
+#line 2806 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[-1].decl), 0 ); }
-#line 8086 "Parser/parser.cc" /* yacc.c:1646  */
+#line 8098 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 744:
-#line 2806 "parser.yy" /* yacc.c:1646  */
-    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[-5].decl), (yyvsp[-2].decl), 0 ); }
-#line 8092 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-  case 745:
 #line 2808 "parser.yy" /* yacc.c:1646  */
     { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[-5].decl), (yyvsp[-2].decl), 0 ); }
-#line 8098 "Parser/parser.cc" /* yacc.c:1646  */
+#line 8104 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
+  case 745:
+#line 2810 "parser.yy" /* yacc.c:1646  */
+    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[-5].decl), (yyvsp[-2].decl), 0 ); }
+#line 8110 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 748:
-#line 2832 "parser.yy" /* yacc.c:1646  */
+#line 2834 "parser.yy" /* yacc.c:1646  */
     { (yyval.en) = 0; }
-#line 8104 "Parser/parser.cc" /* yacc.c:1646  */
+#line 8116 "Parser/parser.cc" /* yacc.c:1646  */
     break;
 
   case 749:
-#line 2834 "parser.yy" /* yacc.c:1646  */
+#line 2836 "parser.yy" /* yacc.c:1646  */
     { (yyval.en) = (yyvsp[0].en); }
-#line 8110 "Parser/parser.cc" /* yacc.c:1646  */
-    break;
-
-
-#line 8114 "Parser/parser.cc" /* yacc.c:1646  */
+#line 8122 "Parser/parser.cc" /* yacc.c:1646  */
+    break;
+
+
+#line 8126 "Parser/parser.cc" /* yacc.c:1646  */
       default: break;
     }
@@ -8339,5 +8351,5 @@
   return yyresult;
 }
-#line 2837 "parser.yy" /* yacc.c:1906  */
+#line 2839 "parser.yy" /* yacc.c:1906  */
 
 // ----end of grammar----
Index: src/Parser/parser.yy
===================================================================
--- src/Parser/parser.yy	(revision 4f147ccf8275e5b1c57a2d5be8cda9f90d91279f)
+++ src/Parser/parser.yy	(revision 8d2844a9848e1bfbbfa5658f475772683c91d562)
@@ -2105,4 +2105,5 @@
 	// empty
 	| ASM '(' string_literal_list ')' attribute_list_opt
+		{ delete $3; }
 	;
 
@@ -2134,4 +2135,5 @@
 	| any_word
 	| any_word '(' comma_expression_opt ')'
+		{ delete $3; }
 	;
 
