]> git.saurik.com Git - bison.git/blobdiff - examples/variant.yy
Avoid trailing spaces.
[bison.git] / examples / variant.yy
index be43c60d0e592e23b1c3ddd6dd2bcf4a874c14be..74fb10920b4affaa35b794641835eeaa9b51ff3d 100644 (file)
@@ -1,7 +1,7 @@
 /* Test file for C++ parsers using variants.
    Based on an example by Michiel De Wilde <mdewilde.agilent@gmail.com>. */
 %debug
-%skeleton "lalr1-fusion.cc"
+%skeleton "lalr1.cc"
 %defines
 %define variant
 
@@ -58,7 +58,7 @@ typedef std::list<std::string> strings_type;
 %%
 
 result:
-  list          { std::cout << $1 << std::endl; }
+  list { std::cout << $1 << std::endl; }
 ;
 
 list:
@@ -90,18 +90,17 @@ yylex (yy::parser::semantic_type* yylval)
   switch (stage)
   {
     case 0:
-      yylval->build<std::string> () =
-        std::string ("I have three numbers for you.");
+      yylval->build (std::string ("I have three numbers for you."));
       result = yy::parser::token::TEXT;
       break;
     case 1:
     case 2:
     case 3:
-      yylval->build<int> () = stage;
+      yylval->build (stage);
       result = yy::parser::token::NUMBER;
       break;
     case 4:
-      yylval->build<std::string> () = std::string ("And that's all!");
+      yylval->build (std::string ("And that's all!"));
       result = yy::parser::token::TEXT;
       break;
     default:
@@ -126,7 +125,7 @@ main (int argc, char *argv[])
 {
   yy::parser p;
   p.set_debug_level (!!getenv ("YYDEBUG"));
-  p.parse ();
+  return p.parse();
 }
 
 // Local Variables: