X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/7172e23e8ffb95b8cafee24c4f36c46ca709507f..4acc22e5cf47432cec8e196f6f1fefb43453f3b5:/etc/bench.pl.in diff --git a/etc/bench.pl.in b/etc/bench.pl.in index 39443d0b..4d480d5e 100755 --- a/etc/bench.pl.in +++ b/etc/bench.pl.in @@ -1,24 +1,22 @@ #! /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. -# -# Bison is free software; you can redistribute it and/or modify +# +# This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# Bison is distributed in the hope that it will be useful, +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public License -# along with autoconf; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. - +# along with this program. If not, see . + use IO::File; use Benchmark qw (:all); @@ -136,8 +134,8 @@ sub calc_grammar ($$$) or die; print $out < #include - #include #include #include @@ -272,9 +270,7 @@ yylex (void) /* Skip white space. */ while ((c = get_char ()) == ' ' || c == '\t') - { - - } + continue; /* process numbers */ if (c == '.' || isdigit (c)) @@ -295,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; @@ -345,14 +340,12 @@ 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; while (my ($name, $directives) = each %test) {