mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
Its value can be "LALR", "IELR", or "canonical LR". * lib/timevar.def (TV_IELR_PHASE1): New var. (TV_IELR_PHASE2): New var. (TV_IELR_PHASE3): New var. (TV_IELR_PHASE4): New var. * src/local.mk (src_bison_SOURCES): Add AnnotationList.c, AnnotationList.h, InadequacyList.c, InadequacyList.h, Sbitset.c, Sbitset.h, ielr.c, and ielr.h. * src/getargs.h, src/getargs.c (enum trace, trace_args, trace_types): Add trace_ielr. * src/lalr.h, src/lalr.c (ngotos): Export it. (F): Rename to... (goto_follows): ... this, update all uses, and export it. (set_goto_map): Export it. (map_goto): Export it. (compute_lookahead_tokens): Don't free goto_follows yet. Now handled in ielr. (initialize_LA): Export it. Move lookback allocation to... (lalr): ... here because, for canonical LR, initialize_LA must be invoked but lookback and much of the rest of LALR isn't needed. * main.c (main): Instead of lalr, invoke ielr, which invokes lalr. * src/reader.c (reader): Default lr.type to "LALR". Default lr.default_rules to "accepting" if lr.type is "canonical LR". Leave the default as "all" otherwise. Check for a valid lr.type value. * src/state.h, src/state.c (struct state_list): Add state_list member. (state_new): Initialize state_list member to NULL. (state_new_isocore): New function, exported. * tests/existing.at (AT_TEST_EXISTING_GRAMMAR): New macro that exercises all values of lr.type. (GNU AWK Grammar): Rename test group to... (GNU AWK 3.1.0 Grammar): ... this, and extend to use AT_TEST_EXISTING_GRAMMAR. (GNU Cim Grammar): Extend to use AT_TEST_EXISTING_GRAMMAR. (GNU pic Grammar): Rename test group to... (GNU pic (Groff 1.18.1) Grammar): ... this, and extend to use AT_TEST_EXISTING_GRAMMAR. * tests/reduce.at (AT_TEST_LR_TYPE): New macro that exercises all values of lr.type. (Single State Split): New test groups using AT_TEST_LR_TYPE. (Lane Split): Likewise. (Complex Lane Split): Likewise. (Split During Added Lookahead Propagation): Likewise.
60 lines
2.5 KiB
C
60 lines
2.5 KiB
C
/* This file contains the definitions for timing variables used to -*- C -*-
|
|
measure run-time performance of the compiler.
|
|
Copyright (C) 2002, 2007, 2009 Free Software Foundation, Inc.
|
|
Contributed by Akim Demaille <akim@freefriends.org>.
|
|
|
|
This file is part of Bison, the GNU Compiler Compiler.
|
|
|
|
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 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 this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
|
|
/* This file contains timing variable definitions, used by timevar.h
|
|
and timevar.c.
|
|
|
|
Syntax:
|
|
|
|
DEFTIMEVAR (id, name)
|
|
|
|
where ID is the enumeral value used to identify the timing
|
|
variable, and NAME is a character string describing its purpose. */
|
|
|
|
/* The total execution time. */
|
|
DEFTIMEVAR (TV_TOTAL , "total time")
|
|
|
|
/* Time spent in the reader. */
|
|
DEFTIMEVAR (TV_READER , "reader")
|
|
DEFTIMEVAR (TV_SCANNING , "scanner")
|
|
DEFTIMEVAR (TV_PARSING , "parser")
|
|
|
|
/* Time spent handling the grammar. */
|
|
DEFTIMEVAR (TV_REDUCE , "reducing the grammar")
|
|
DEFTIMEVAR (TV_SETS , "computing the sets")
|
|
DEFTIMEVAR (TV_LR0 , "LR(0)")
|
|
DEFTIMEVAR (TV_LALR , "LALR(1)")
|
|
DEFTIMEVAR (TV_IELR_PHASE1 , "IELR(1) Phase 1")
|
|
DEFTIMEVAR (TV_IELR_PHASE2 , "IELR(1) Phase 2")
|
|
DEFTIMEVAR (TV_IELR_PHASE3 , "IELR(1) Phase 3")
|
|
DEFTIMEVAR (TV_IELR_PHASE4 , "IELR(1) Phase 4")
|
|
DEFTIMEVAR (TV_CONFLICTS , "conflicts")
|
|
|
|
/* Time spent outputing results. */
|
|
DEFTIMEVAR (TV_REPORT , "outputing report")
|
|
DEFTIMEVAR (TV_GRAPH , "outputing graph")
|
|
DEFTIMEVAR (TV_XML , "outputing xml")
|
|
DEFTIMEVAR (TV_ACTIONS , "parser action tables")
|
|
DEFTIMEVAR (TV_PARSER , "outputing parser")
|
|
DEFTIMEVAR (TV_M4 , "running m4")
|
|
|
|
/* Time spent by freeing the memory :). */
|
|
DEFTIMEVAR (TV_FREE , "freeing")
|