Merge branch 'charm' of charmgit:charm into charm
authorAaron Becker <akbecker@gmail.com>
Wed, 24 Nov 2010 20:05:51 +0000 (14:05 -0600)
committerAaron Becker <akbecker@gmail.com>
Wed, 24 Nov 2010 20:05:51 +0000 (14:05 -0600)
Conflicts:
src/xlat-i/xi-grammar.tab.C

1  2 
src/xlat-i/xi-grammar.tab.C
src/xlat-i/xi-grammar.y
src/xlat-i/xi-symbol.C
src/xlat-i/xi-symbol.h

index 3993262ad319e1c1b7e4a04e9b1c302a71cda442,1954562144f076b0f38a1c2e79247d97f8ad82ea..3971da4d523c81f3a3fcf8218c97b7483cb2877e
@@@ -725,35 -723,35 +725,35 @@@ static const yytype_int16 yyrhs[] 
  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
  static const yytype_uint16 yyrline[] =
  {
 -       0,   153,   153,   158,   161,   166,   167,   172,   173,   177,
 -     181,   183,   191,   195,   202,   204,   209,   210,   214,   216,
 -     218,   220,   222,   224,   226,   228,   230,   232,   234,   236,
 -     238,   240,   242,   246,   248,   250,   254,   256,   261,   262,
 -     267,   268,   272,   274,   276,   278,   280,   282,   284,   286,
 -     288,   290,   292,   294,   296,   298,   300,   304,   305,   312,
 -     314,   318,   322,   324,   328,   332,   334,   336,   338,   341,
 -     343,   347,   349,   353,   355,   359,   364,   365,   369,   373,
 -     378,   379,   384,   385,   395,   397,   401,   403,   408,   409,
 -     413,   415,   420,   421,   425,   430,   431,   435,   437,   441,
 -     443,   448,   449,   453,   454,   457,   461,   463,   467,   469,
 -     474,   475,   479,   481,   485,   487,   491,   495,   499,   505,
 -     509,   511,   515,   517,   521,   525,   529,   533,   535,   540,
 -     541,   546,   547,   549,   553,   555,   557,   561,   563,   567,
 -     571,   573,   575,   577,   579,   583,   585,   590,   608,   612,
 -     614,   616,   617,   619,   621,   623,   627,   629,   631,   637,
 -     640,   645,   647,   649,   655,   663,   665,   668,   672,   674,
 -     678,   689,   700,   718,   720,   724,   726,   731,   732,   736,
 -     738,   742,   744,   746,   748,   750,   752,   754,   756,   758,
 -     760,   762,   764,   766,   768,   772,   774,   776,   781,   782,
 -     784,   793,   794,   796,   802,   808,   814,   822,   829,   837,
 -     844,   846,   848,   850,   857,   858,   859,   862,   863,   864,
 -     865,   872,   878,   887,   894,   900,   906,   914,   916,   920,
 -     922,   926,   928,   932,   934,   939,   940,   945,   946,   948,
 -     952,   954,   958,   960,   965,   966,   970,   972,   976,   979,
 -     982,   986,  1000,  1002,  1004,  1006,  1008,  1011,  1014,  1017,
 -    1020,  1022,  1024,  1026,  1028,  1030,  1034,  1035,  1037,  1040,
 -    1042,  1046,  1050,  1054,  1062,  1070,  1072,  1076,  1079,  1083,
 -    1087
 +       0,   154,   154,   159,   162,   167,   168,   173,   174,   178,
 +     182,   184,   192,   196,   203,   205,   210,   211,   215,   217,
 +     219,   221,   223,   225,   227,   229,   231,   233,   235,   237,
 +     239,   241,   243,   247,   249,   251,   255,   257,   262,   263,
 +     268,   269,   273,   275,   277,   279,   281,   283,   285,   287,
 +     289,   291,   293,   295,   297,   299,   301,   305,   306,   313,
 +     315,   319,   323,   325,   329,   333,   335,   337,   339,   342,
 +     344,   348,   350,   354,   356,   360,   365,   366,   370,   374,
 +     379,   380,   385,   386,   396,   398,   402,   404,   409,   410,
 +     414,   416,   421,   422,   426,   431,   432,   436,   438,   442,
 +     444,   449,   450,   454,   455,   458,   462,   464,   468,   470,
 +     475,   476,   480,   482,   486,   488,   492,   496,   500,   506,
 +     510,   512,   516,   518,   522,   526,   530,   534,   536,   541,
 +     542,   547,   548,   550,   554,   556,   558,   562,   564,   568,
 +     572,   574,   576,   578,   580,   584,   586,   591,   609,   613,
 +     615,   617,   618,   620,   622,   624,   628,   630,   632,   638,
 +     641,   646,   648,   650,   656,   664,   666,   669,   673,   675,
 +     679,   690,   701,   719,   721,   725,   727,   732,   733,   737,
 +     739,   743,   745,   747,   749,   751,   753,   755,   757,   759,
 +     761,   763,   765,   767,   769,   771,   775,   777,   779,   784,
 +     785,   787,   796,   797,   799,   805,   811,   817,   825,   832,
 +     840,   847,   849,   851,   853,   860,   861,   862,   865,   866,
 +     867,   868,   875,   881,   890,   897,   903,   909,   917,   919,
 +     923,   925,   929,   931,   935,   937,   942,   943,   948,   949,
 +     951,   955,   957,   961,   963,   968,   969,   973,   975,   979,
-      982,   985,  1000,  1014,  1016,  1018,  1020,  1022,  1025,  1028,
-     1031,  1034,  1036,  1038,  1040,  1042,  1044,  1054,  1055,  1057,
-     1060,  1062,  1066,  1070,  1074,  1082,  1090,  1092,  1096,  1099,
-     1103,  1107
++     982,   985,   989,  1003,  1005,  1007,  1009,  1011,  1014,  1017,
++    1020,  1023,  1025,  1027,  1029,  1031,  1033,  1037,  1038,  1040,
++    1043,  1045,  1049,  1053,  1057,  1065,  1073,  1075,  1079,  1082,
++    1086,  1090
  };
  #endif
  
@@@ -3473,26 -3466,15 +3473,15 @@@ yyreduce
      { (yyval.strval) = 0; }
      break;
  
 -  case 250:
 -#line 983 "xi-grammar.y"
 +  case 251:
 +#line 986 "xi-grammar.y"
      {
-                  char *tmp = strdup((yyvsp[(4) - (6)].strval));
-                  RemoveSdagComments(tmp);
-                  (yyval.sc) = new SdagConstruct(SATOMIC, new XStr(tmp), (yyvsp[(6) - (6)].sc), 0,0,0,0, 0 );
-                  free(tmp);
-                  if ((yyvsp[(2) - (6)].strval))
-                  {
-                      tmp = strdup((yyvsp[(2) - (6)].strval));
-                      tmp[strlen(tmp)-1]=0;
-                      (yyval.sc)->traceName = new XStr(tmp+1);
-                      free(tmp);
-                  }
+                  (yyval.sc) = buildAtomic((yyvsp[(4) - (6)].strval), (yyvsp[(6) - (6)].sc), (yyvsp[(2) - (6)].strval));
                 }
      break;
  
 -  case 251:
 -#line 987 "xi-grammar.y"
 +  case 252:
- #line 1001 "xi-grammar.y"
++#line 990 "xi-grammar.y"
      {  
                   in_braces = 0;
                   if (((yyvsp[(4) - (8)].plist)->isVoid() == 0) && ((yyvsp[(4) - (8)].plist)->isMessage() == 0))
                }
      break;
  
 -  case 252:
 -#line 1001 "xi-grammar.y"
 -    { (yyval.sc) = new SdagConstruct(SWHEN, 0, 0,0,0,0,0,(yyvsp[(2) - (4)].entrylist)); }
 -    break;
 -
    case 253:
- #line 1015 "xi-grammar.y"
-     { (yyval.sc) = new SdagConstruct(SWHEN, 0, 0,0,0,0,0,(yyvsp[(2) - (4)].entrylist)); }
 -#line 1003 "xi-grammar.y"
 -    { (yyval.sc) = new SdagConstruct(SWHEN, 0, 0, 0,0,0, (yyvsp[(3) - (3)].sc), (yyvsp[(2) - (3)].entrylist)); }
++#line 1004 "xi-grammar.y"
++    { (yyval.sc) = new SdagConstruct(SWHEN, 0, 0, 0,0,0, 0,  (yyvsp[(2) - (4)].entrylist)); }
      break;
  
    case 254:
- #line 1017 "xi-grammar.y"
 -#line 1005 "xi-grammar.y"
 -    { (yyval.sc) = new SdagConstruct(SWHEN, 0, 0, 0,0,0, (yyvsp[(4) - (5)].sc), (yyvsp[(2) - (5)].entrylist)); }
++#line 1006 "xi-grammar.y"
 +    { (yyval.sc) = new SdagConstruct(SWHEN, 0, 0, 0,0,0, (yyvsp[(3) - (3)].sc), (yyvsp[(2) - (3)].entrylist)); }
      break;
  
    case 255:
- #line 1019 "xi-grammar.y"
 -#line 1007 "xi-grammar.y"
 -    { (yyval.sc) = new SdagConstruct(SOVERLAP,0, 0,0,0,0,(yyvsp[(3) - (4)].sc), 0); }
++#line 1008 "xi-grammar.y"
 +    { (yyval.sc) = new SdagConstruct(SWHEN, 0, 0, 0,0,0, (yyvsp[(4) - (5)].sc), (yyvsp[(2) - (5)].entrylist)); }
      break;
  
    case 256:
- #line 1021 "xi-grammar.y"
 -#line 1009 "xi-grammar.y"
 -    { (yyval.sc) = new SdagConstruct(SFOR, 0, new SdagConstruct(SINT_EXPR, (yyvsp[(3) - (11)].strval)), new SdagConstruct(SINT_EXPR, (yyvsp[(5) - (11)].strval)),
 -                           new SdagConstruct(SINT_EXPR, (yyvsp[(7) - (11)].strval)), 0, (yyvsp[(10) - (11)].sc), 0); }
++#line 1010 "xi-grammar.y"
 +    { (yyval.sc) = new SdagConstruct(SOVERLAP,0, 0,0,0,0,(yyvsp[(3) - (4)].sc), 0); }
      break;
  
    case 257:
- #line 1023 "xi-grammar.y"
+ #line 1012 "xi-grammar.y"
 -    { (yyval.sc) = new SdagConstruct(SFOR, 0, new SdagConstruct(SINT_EXPR, (yyvsp[(3) - (9)].strval)), new SdagConstruct(SINT_EXPR, (yyvsp[(5) - (9)].strval)), 
 -                       new SdagConstruct(SINT_EXPR, (yyvsp[(7) - (9)].strval)), 0, (yyvsp[(9) - (9)].sc), 0); }
 +    { (yyval.sc) = new SdagConstruct(SFOR, 0, new SdagConstruct(SINT_EXPR, (yyvsp[(3) - (11)].strval)), new SdagConstruct(SINT_EXPR, (yyvsp[(5) - (11)].strval)),
 +                           new SdagConstruct(SINT_EXPR, (yyvsp[(7) - (11)].strval)), 0, (yyvsp[(10) - (11)].sc), 0); }
      break;
  
    case 258:
- #line 1026 "xi-grammar.y"
+ #line 1015 "xi-grammar.y"
 -    { (yyval.sc) = new SdagConstruct(SFORALL, 0, new SdagConstruct(SIDENT, (yyvsp[(3) - (12)].strval)), new SdagConstruct(SINT_EXPR, (yyvsp[(6) - (12)].strval)), 
 -                           new SdagConstruct(SINT_EXPR, (yyvsp[(8) - (12)].strval)), new SdagConstruct(SINT_EXPR, (yyvsp[(10) - (12)].strval)), (yyvsp[(12) - (12)].sc), 0); }
 +    { (yyval.sc) = new SdagConstruct(SFOR, 0, new SdagConstruct(SINT_EXPR, (yyvsp[(3) - (9)].strval)), new SdagConstruct(SINT_EXPR, (yyvsp[(5) - (9)].strval)), 
 +                       new SdagConstruct(SINT_EXPR, (yyvsp[(7) - (9)].strval)), 0, (yyvsp[(9) - (9)].sc), 0); }
      break;
  
    case 259:
- #line 1029 "xi-grammar.y"
+ #line 1018 "xi-grammar.y"
 -    { (yyval.sc) = new SdagConstruct(SFORALL, 0, new SdagConstruct(SIDENT, (yyvsp[(3) - (14)].strval)), new SdagConstruct(SINT_EXPR, (yyvsp[(6) - (14)].strval)), 
 -                               new SdagConstruct(SINT_EXPR, (yyvsp[(8) - (14)].strval)), new SdagConstruct(SINT_EXPR, (yyvsp[(10) - (14)].strval)), (yyvsp[(13) - (14)].sc), 0); }
 +    { (yyval.sc) = new SdagConstruct(SFORALL, 0, new SdagConstruct(SIDENT, (yyvsp[(3) - (12)].strval)), new SdagConstruct(SINT_EXPR, (yyvsp[(6) - (12)].strval)), 
 +                           new SdagConstruct(SINT_EXPR, (yyvsp[(8) - (12)].strval)), new SdagConstruct(SINT_EXPR, (yyvsp[(10) - (12)].strval)), (yyvsp[(12) - (12)].sc), 0); }
      break;
  
    case 260:
- #line 1032 "xi-grammar.y"
+ #line 1021 "xi-grammar.y"
 -    { (yyval.sc) = new SdagConstruct(SIF, 0, new SdagConstruct(SINT_EXPR, (yyvsp[(3) - (6)].strval)), (yyvsp[(6) - (6)].sc),0,0,(yyvsp[(5) - (6)].sc),0); }
 +    { (yyval.sc) = new SdagConstruct(SFORALL, 0, new SdagConstruct(SIDENT, (yyvsp[(3) - (14)].strval)), new SdagConstruct(SINT_EXPR, (yyvsp[(6) - (14)].strval)), 
 +                               new SdagConstruct(SINT_EXPR, (yyvsp[(8) - (14)].strval)), new SdagConstruct(SINT_EXPR, (yyvsp[(10) - (14)].strval)), (yyvsp[(13) - (14)].sc), 0); }
      break;
  
    case 261:
- #line 1035 "xi-grammar.y"
 -#line 1023 "xi-grammar.y"
 -    { (yyval.sc) = new SdagConstruct(SIF, 0, new SdagConstruct(SINT_EXPR, (yyvsp[(3) - (8)].strval)), (yyvsp[(8) - (8)].sc),0,0,(yyvsp[(6) - (8)].sc),0); }
++#line 1024 "xi-grammar.y"
 +    { (yyval.sc) = new SdagConstruct(SIF, 0, new SdagConstruct(SINT_EXPR, (yyvsp[(3) - (6)].strval)), (yyvsp[(6) - (6)].sc),0,0,(yyvsp[(5) - (6)].sc),0); }
      break;
  
    case 262:
- #line 1037 "xi-grammar.y"
 -#line 1025 "xi-grammar.y"
 -    { (yyval.sc) = new SdagConstruct(SIF, 0, new SdagConstruct(SINT_EXPR, (yyvsp[(3) - (5)].strval)), 0,0,0,(yyvsp[(5) - (5)].sc),0); }
++#line 1026 "xi-grammar.y"
 +    { (yyval.sc) = new SdagConstruct(SIF, 0, new SdagConstruct(SINT_EXPR, (yyvsp[(3) - (8)].strval)), (yyvsp[(8) - (8)].sc),0,0,(yyvsp[(6) - (8)].sc),0); }
      break;
  
    case 263:
- #line 1039 "xi-grammar.y"
 -#line 1027 "xi-grammar.y"
 -    { (yyval.sc) = new SdagConstruct(SWHILE, 0, new SdagConstruct(SINT_EXPR, (yyvsp[(3) - (7)].strval)), 0,0,0,(yyvsp[(6) - (7)].sc),0); }
++#line 1028 "xi-grammar.y"
 +    { (yyval.sc) = new SdagConstruct(SIF, 0, new SdagConstruct(SINT_EXPR, (yyvsp[(3) - (5)].strval)), 0,0,0,(yyvsp[(5) - (5)].sc),0); }
      break;
  
    case 264:
- #line 1041 "xi-grammar.y"
 -#line 1029 "xi-grammar.y"
 -    { (yyval.sc) = (yyvsp[(2) - (3)].sc); }
++#line 1030 "xi-grammar.y"
 +    { (yyval.sc) = new SdagConstruct(SWHILE, 0, new SdagConstruct(SINT_EXPR, (yyvsp[(3) - (7)].strval)), 0,0,0,(yyvsp[(6) - (7)].sc),0); }
      break;
  
    case 265:
- #line 1043 "xi-grammar.y"
 -#line 1031 "xi-grammar.y"
 -    { (yyval.sc) = buildAtomic((yyvsp[(2) - (3)].strval), NULL, NULL); }
++#line 1032 "xi-grammar.y"
 +    { (yyval.sc) = (yyvsp[(2) - (3)].sc); }
      break;
  
    case 266:
- #line 1045 "xi-grammar.y"
-     {
-                    char *tmp = strdup((yyvsp[(2) - (3)].strval));
-                    RemoveSdagComments(tmp);
-                    (yyval.sc) = new SdagConstruct(SATOMIC, new XStr(tmp), NULL, 0,0,0,0, 0 );
-                    free(tmp);
-                  }
+ #line 1034 "xi-grammar.y"
 -    { (yyval.sc) = 0; }
++    { (yyval.sc) = buildAtomic((yyvsp[(2) - (3)].strval), NULL, NULL); }
      break;
  
    case 267:
- #line 1054 "xi-grammar.y"
 -#line 1036 "xi-grammar.y"
 -    { (yyval.sc) = new SdagConstruct(SELSE, 0,0,0,0,0, (yyvsp[(2) - (2)].sc),0); }
++#line 1037 "xi-grammar.y"
 +    { (yyval.sc) = 0; }
      break;
  
    case 268:
- #line 1056 "xi-grammar.y"
 -#line 1038 "xi-grammar.y"
 -    { (yyval.sc) = new SdagConstruct(SELSE, 0,0,0,0,0, (yyvsp[(3) - (4)].sc),0); }
++#line 1039 "xi-grammar.y"
 +    { (yyval.sc) = new SdagConstruct(SELSE, 0,0,0,0,0, (yyvsp[(2) - (2)].sc),0); }
      break;
  
    case 269:
- #line 1058 "xi-grammar.y"
+ #line 1041 "xi-grammar.y"
 -    { (yyval.sc) = new SdagConstruct(SFORWARD, new SdagConstruct(SIDENT, (yyvsp[(1) - (1)].strval))); }
 +    { (yyval.sc) = new SdagConstruct(SELSE, 0,0,0,0,0, (yyvsp[(3) - (4)].sc),0); }
      break;
  
    case 270:
- #line 1061 "xi-grammar.y"
 -#line 1043 "xi-grammar.y"
 -    { (yyval.sc) = new SdagConstruct(SFORWARD, new SdagConstruct(SIDENT, (yyvsp[(1) - (3)].strval)), (yyvsp[(3) - (3)].sc));  }
++#line 1044 "xi-grammar.y"
 +    { (yyval.sc) = new SdagConstruct(SFORWARD, new SdagConstruct(SIDENT, (yyvsp[(1) - (1)].strval))); }
      break;
  
    case 271:
- #line 1063 "xi-grammar.y"
 -#line 1047 "xi-grammar.y"
 -    { in_int_expr = 0; (yyval.intval) = 0; }
++#line 1046 "xi-grammar.y"
 +    { (yyval.sc) = new SdagConstruct(SFORWARD, new SdagConstruct(SIDENT, (yyvsp[(1) - (3)].strval)), (yyvsp[(3) - (3)].sc));  }
      break;
  
    case 272:
- #line 1067 "xi-grammar.y"
 -#line 1051 "xi-grammar.y"
 -    { in_int_expr = 1; (yyval.intval) = 0; }
++#line 1050 "xi-grammar.y"
 +    { in_int_expr = 0; (yyval.intval) = 0; }
      break;
  
    case 273:
- #line 1071 "xi-grammar.y"
 -#line 1055 "xi-grammar.y"
++#line 1054 "xi-grammar.y"
 +    { in_int_expr = 1; (yyval.intval) = 0; }
 +    break;
 +
 +  case 274:
- #line 1075 "xi-grammar.y"
++#line 1058 "xi-grammar.y"
      { 
                  if ((yyvsp[(2) - (2)].plist) != 0)
                     (yyval.entry) = new Entry(lineno, 0, 0, (yyvsp[(1) - (2)].strval), (yyvsp[(2) - (2)].plist), 0, 0, 0, 0); 
                }
      break;
  
 -  case 274:
 -#line 1063 "xi-grammar.y"
 +  case 275:
- #line 1083 "xi-grammar.y"
++#line 1066 "xi-grammar.y"
      { if ((yyvsp[(5) - (5)].plist) != 0)
                    (yyval.entry) = new Entry(lineno, 0, 0, (yyvsp[(1) - (5)].strval), (yyvsp[(5) - (5)].plist), 0, 0, (yyvsp[(3) - (5)].strval), 0); 
                  else
                }
      break;
  
 -  case 275:
 -#line 1071 "xi-grammar.y"
 +  case 276:
- #line 1091 "xi-grammar.y"
++#line 1074 "xi-grammar.y"
      { (yyval.entrylist) = new EntryList((yyvsp[(1) - (1)].entry)); }
      break;
  
 -  case 276:
 -#line 1073 "xi-grammar.y"
 +  case 277:
- #line 1093 "xi-grammar.y"
++#line 1076 "xi-grammar.y"
      { (yyval.entrylist) = new EntryList((yyvsp[(1) - (3)].entry),(yyvsp[(3) - (3)].entrylist)); }
      break;
  
 -  case 277:
 -#line 1077 "xi-grammar.y"
 +  case 278:
- #line 1097 "xi-grammar.y"
++#line 1080 "xi-grammar.y"
      { in_bracket=1; }
      break;
  
 -  case 278:
 -#line 1080 "xi-grammar.y"
 +  case 279:
- #line 1100 "xi-grammar.y"
++#line 1083 "xi-grammar.y"
      { in_bracket=0; }
      break;
  
 -  case 279:
 -#line 1084 "xi-grammar.y"
 +  case 280:
- #line 1104 "xi-grammar.y"
++#line 1087 "xi-grammar.y"
      { if (!macroDefined((yyvsp[(2) - (2)].strval), 1)) in_comment = 1; }
      break;
  
 -  case 280:
 -#line 1088 "xi-grammar.y"
 +  case 281:
- #line 1108 "xi-grammar.y"
++#line 1091 "xi-grammar.y"
      { if (!macroDefined((yyvsp[(2) - (2)].strval), 0)) in_comment = 1; }
      break;
  
  
  /* Line 1267 of yacc.c.  */
- #line 3678 "y.tab.c"
 -#line 3655 "y.tab.c"
++#line 3662 "y.tab.c"
        default: break;
      }
    YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@@ -3888,7 -3865,7 +3872,7 @@@ yyreturn
  }
  
  
- #line 1111 "xi-grammar.y"
 -#line 1091 "xi-grammar.y"
++#line 1094 "xi-grammar.y"
  
  void yyerror(const char *mesg)
  {
Simple merge
Simple merge
Simple merge