mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-10 12:53:03 +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.
129 lines
3.2 KiB
Makefile
129 lines
3.2 KiB
Makefile
## Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
|
|
## Free Software Foundation, Inc.
|
|
|
|
## 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/>.
|
|
|
|
AUTOMAKE_OPTIONS = subdir-objects
|
|
|
|
AM_CPPFLAGS += -I$(top_srcdir)/lib
|
|
# Find builddir/src/scan-code.c etc.
|
|
AM_CPPFLAGS += -I$(top_builddir)
|
|
|
|
LDADD = $(top_builddir)/lib/libbison.a $(LIBINTL)
|
|
|
|
# Use our own Bison to build the parser. Of course, you ought to
|
|
# keep a sane version of Bison nearby...
|
|
BISON = $(top_builddir)/tests/bison
|
|
YACC = $(BISON) -y
|
|
AM_YFLAGS = -dv --warnings=all,error --report=all
|
|
|
|
bin_PROGRAMS = src/bison
|
|
bin_SCRIPTS = $(YACC_SCRIPT)
|
|
EXTRA_SCRIPTS = src/yacc
|
|
|
|
src_bison_CFLAGS = $(AM_CFLAGS) $(WERROR_CFLAGS)
|
|
src_bison_SOURCES = \
|
|
src/AnnotationList.c \
|
|
src/AnnotationList.h \
|
|
src/InadequacyList.c \
|
|
src/InadequacyList.h \
|
|
src/LR0.c \
|
|
src/LR0.h \
|
|
src/Sbitset.c \
|
|
src/Sbitset.h \
|
|
src/assoc.c \
|
|
src/assoc.h \
|
|
src/closure.c \
|
|
src/closure.h \
|
|
src/complain.c \
|
|
src/complain.h \
|
|
src/conflicts.c \
|
|
src/conflicts.h \
|
|
src/derives.c \
|
|
src/derives.h \
|
|
src/files.c \
|
|
src/files.h \
|
|
src/flex-scanner.h \
|
|
src/getargs.c \
|
|
src/getargs.h \
|
|
src/gram.c \
|
|
src/gram.h \
|
|
src/graphviz.c \
|
|
src/graphviz.h \
|
|
src/lalr.c \
|
|
src/lalr.h \
|
|
src/ielr.c \
|
|
src/ielr.h \
|
|
src/location.c \
|
|
src/location.h \
|
|
src/main.c \
|
|
src/muscle-tab.c \
|
|
src/muscle-tab.h \
|
|
src/nullable.c \
|
|
src/nullable.h \
|
|
src/output.c \
|
|
src/output.h \
|
|
src/parse-gram.h \
|
|
src/parse-gram.y \
|
|
src/print-xml.c \
|
|
src/print-xml.h \
|
|
src/print.c \
|
|
src/print.h \
|
|
src/print_graph.c \
|
|
src/print_graph.h \
|
|
src/reader.c \
|
|
src/reader.h \
|
|
src/reduce.c \
|
|
src/reduce.h \
|
|
src/relation.c \
|
|
src/relation.h \
|
|
src/scan-code-c.c \
|
|
src/scan-code.h \
|
|
src/scan-gram-c.c \
|
|
src/scan-gram.h \
|
|
src/scan-skel-c.c \
|
|
src/scan-skel.h \
|
|
src/state.c \
|
|
src/state.h \
|
|
src/symlist.c \
|
|
src/symlist.h \
|
|
src/symtab.c \
|
|
src/symtab.h \
|
|
src/system.h \
|
|
src/tables.c \
|
|
src/tables.h \
|
|
src/uniqstr.c \
|
|
src/uniqstr.h
|
|
|
|
EXTRA_src_bison_SOURCES = \
|
|
src/scan-code.l \
|
|
src/scan-gram.l \
|
|
src/scan-skel.l
|
|
|
|
BUILT_SOURCES += \
|
|
src/parse-gram.c \
|
|
src/parse-gram.h \
|
|
src/scan-code.c \
|
|
src/scan-gram.c \
|
|
src/scan-skel.c
|
|
|
|
MOSTLYCLEANFILES += src/yacc
|
|
|
|
src/yacc:
|
|
rm -f $@ $@.tmp
|
|
echo '#! /bin/sh' >$@.tmp
|
|
echo "exec '$(bindir)/bison' -y "'"$$@"' >>$@.tmp
|
|
chmod a+x $@.tmp
|
|
mv $@.tmp $@
|