]> git.saurik.com Git - bison.git/blobdiff - etc/bench.pl.in
tests: do not depend on __cplusplus to decide for C++ or C output
[bison.git] / etc / bench.pl.in
index be7a1450a817a530aca218f7c6d941fb63a88a96..4d480d5eb751ade756396536f292797f83c3f318 100755 (executable)
@@ -1,6 +1,6 @@
 #! /usr/bin/perl -w
 
-# Copyright (C) 2006 Free Software Foundation, Inc.
+# Copyright (C) 2006, 2008-2012 Free Software Foundation, Inc.
 #
 # This file is part of Bison, the GNU Compiler Compiler.
 #
@@ -134,8 +134,8 @@ sub calc_grammar ($$$)
     or die;
   print $out <<EOF;
 %{
+#include <assert.h>
 #include <stdio.h>
-
 #include <stdlib.h>
 #include <string.h>
 #include <ctype.h>
@@ -270,9 +270,7 @@ yylex (void)
 
   /* Skip white space.  */
   while ((c = get_char ()) == ' ' || c == '\t')
-    {
-
-    }
+    continue;
 
   /* process numbers   */
   if (c == '.' || isdigit (c))
@@ -293,9 +291,8 @@ yylex (void)
 static int
 power (int base, int exponent)
 {
+  assert (0 <= exponent);
   int res = 1;
-  if (exponent < 0)
-    exit (3);
   for (/* Niente */; exponent; --exponent)
     res *= base;
   return res;
@@ -343,12 +340,10 @@ sub bench_grammar ($)
   my ($gram) = @_;
   my %test =
     (
-     "yacc.c-pull-impure" => '',
-     "yacc.c-pull-pure" => '%pure-parser',
-     "push.c-pull-impure" => '%skeleton "push.c"',
-     "push.c-pull-pure" => '%skeleton "push.c" %pure-parser',
-     "push.c-push-impure" => '%skeleton "push.c" %push-pull-parser',
-     "push.c-push-pure" => '%skeleton "push.c" %push-pull-parser %pure-parser',
+     "pull-impure" => '',
+     "pull-pure" => '%define api.pure',
+     "push-impure" => '%define api.push-pull "both"',
+     "push-pure" => '%define api.push-pull "both" %define api.pure',
     );
 
   my %bench;