]> git.saurik.com Git - bison.git/blobdiff - etc/bench.pl.in
Less memory pressure on the "list" bench.
[bison.git] / etc / bench.pl.in
index d058ce191d6774c8c348ed9df74185d6007704ab..d365d653cdbc81df43dad37d538a3d9bed9d7940 100755 (executable)
@@ -634,12 +634,11 @@ result:
 
 text:
   /* nothing */                { /* This will generate an empty string */ }
-| text TEXT            { std::swap($$,$1); $$.append($2); }
+| text TEXT            { std::swap ($$, $2); }
 | text NUMBER          {
-                         std::swap($$,$1);
-                          std::ostringstream ss;
+                         std::ostringstream ss;
                          ss << ' ' << $2;
-                         $$.append(ss.str());
+                         $$ = ss.str();
                         }
 ;
 EOF
@@ -663,11 +662,12 @@ result:
 
 text:
   /* nothing */                { $$ = new std::string; }
-| text TEXT            { $$->append(*$2); delete $2; }
+| text TEXT            { delete $1; $$ = $2; }
 | text NUMBER          {
-                         std::ostringstream ss;
+                          delete $1;
+                          std::ostringstream ss;
                          ss << ' ' << $2;
-                         $$->append(ss.str());
+                         $$ = new std::string (ss.str());
                         }
 ;
 EOF