mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
glr2.cc: fork glr.cc to a c++ version
This is a fork of glr.cc to be c++-first instead of a wrapper around glr.c. * data/skeletons/glr2.cc: New. * data/skeletons/bison.m4, data/skeletons/c++.m4: Adjust. * data/skeletons/c.m4 (b4_user_args_no_comma): New. * src/reader.c (grammar_rule_check_and_complete): glr2.cc is C++. * tests/actions.at, tests/c++.at, tests/calc.at, tests/conflicts.at, * tests/input.at, tests/local.at, tests/regression.at, tests/scanner.at, * tests/synclines.at, tests/types.at: Also check glr2.cc.
This commit is contained in:
committed by
Akim Demaille
parent
a1b7fef045
commit
ef09bf065a
@@ -371,6 +371,7 @@ AT_TEST([glr.c])
|
||||
AT_TEST([glr.c], [%define api.pure])
|
||||
AT_TEST([lalr1.cc])
|
||||
AT_TEST([glr.cc])
|
||||
AT_TEST([glr2.cc])
|
||||
|
||||
## A very different test, based on PostgreSQL's implementation of the
|
||||
## locations. See
|
||||
@@ -474,7 +475,7 @@ AT_CLEANUP
|
||||
])
|
||||
|
||||
## FIXME: test Java and D.
|
||||
m4_map_args([AT_TEST], [yacc.c], [glr.c], [lalr1.cc], [glr.cc])
|
||||
m4_map_args([AT_TEST], [yacc.c], [glr.c], [lalr1.cc], [glr.cc], [glr2.cc])
|
||||
|
||||
m4_popdef([AT_TEST])
|
||||
|
||||
@@ -1055,6 +1056,9 @@ AT_CHECK_PRINTER_AND_DESTRUCTOR([%defines %skeleton "lalr1.cc"], [ with union])
|
||||
AT_CHECK_PRINTER_AND_DESTRUCTOR([%defines %skeleton "glr.cc"])
|
||||
AT_CHECK_PRINTER_AND_DESTRUCTOR([%defines %skeleton "glr.cc"], [ with union])
|
||||
|
||||
AT_CHECK_PRINTER_AND_DESTRUCTOR([%defines %skeleton "glr2.cc"])
|
||||
AT_CHECK_PRINTER_AND_DESTRUCTOR([%defines %skeleton "glr2.cc"], [ with union])
|
||||
|
||||
|
||||
|
||||
## ----------------------------------------- ##
|
||||
@@ -1852,7 +1856,7 @@ AT_BISON_OPTION_POPDEFS
|
||||
AT_CLEANUP
|
||||
])
|
||||
|
||||
m4_map_args([AT_TEST], [yacc.c], [glr.c], [lalr1.cc], [glr.cc])
|
||||
m4_map_args([AT_TEST], [yacc.c], [glr.c], [lalr1.cc], [glr.cc], [glr2.cc])
|
||||
m4_popdef([AT_TEST])
|
||||
|
||||
## -------------------------------------------------- ##
|
||||
|
||||
@@ -1062,6 +1062,7 @@ AT_CLEANUP
|
||||
|
||||
AT_TEST([%skeleton "lalr1.cc"])
|
||||
AT_TEST([%skeleton "glr.cc"])
|
||||
AT_TEST([%skeleton "glr2.cc"])
|
||||
|
||||
m4_popdef([AT_TEST])
|
||||
|
||||
|
||||
@@ -1204,6 +1204,7 @@ AT_BANNER([[GLR C++ Calculator.]])
|
||||
|
||||
# Again, we try also using %skeleton.
|
||||
AT_CHECK_CALC([%skeleton "glr.cc"])
|
||||
AT_CHECK_CALC([%skeleton "glr2.cc"])
|
||||
|
||||
m4_define([AT_CHECK_CALC_GLR_CC],
|
||||
[AT_CHECK_CALC([%language "C++" %glr-parser] $@)])
|
||||
|
||||
@@ -1093,7 +1093,7 @@ AT_CLEANUP
|
||||
])
|
||||
|
||||
## FIXME: test Java and D.
|
||||
m4_map_args([AT_TEST], [yacc.c], [glr.c], [lalr1.cc], [glr.cc])
|
||||
m4_map_args([AT_TEST], [yacc.c], [glr.c], [lalr1.cc], [glr.cc], [glr2.cc])
|
||||
|
||||
m4_popdef([AT_TEST])
|
||||
|
||||
|
||||
@@ -2865,6 +2865,7 @@ AT_BISON_CHECK([[-d input.y]])
|
||||
AT_BISON_CHECK([[-d -S glr.c input.y]])
|
||||
AT_BISON_CHECK([[-d -S lalr1.cc input.y]])
|
||||
AT_BISON_CHECK([[-d -S glr.cc input.y]])
|
||||
AT_BISON_CHECK([[-d -S glr2.cc input.y]])
|
||||
AT_BISON_CHECK([[ -S lalr1.java input.y]])
|
||||
])
|
||||
|
||||
|
||||
@@ -237,7 +237,7 @@ m4_pushdef([AT_LANG],
|
||||
m4_pushdef([AT_C_IF],
|
||||
[m4_if(AT_LANG, [c], [$1], [$2])])
|
||||
m4_pushdef([AT_GLR_IF],
|
||||
[m4_bmatch([$3], [%glr-parser\|%skeleton "glr\..*"], [$1], [$2])])
|
||||
[m4_bmatch([$3], [%glr-parser\|%skeleton "glr.*"], [$1], [$2])])
|
||||
m4_pushdef([AT_LALR1_CC_IF],
|
||||
[AT_CXX_IF([AT_GLR_IF([$2], [$1])], [$2])])
|
||||
m4_pushdef([AT_GLR_CC_IF],
|
||||
|
||||
@@ -1557,6 +1557,7 @@ AT_TEST([yacc.c])
|
||||
AT_TEST([glr.c])
|
||||
AT_TEST([lalr1.cc])
|
||||
AT_TEST([glr.cc])
|
||||
AT_TEST([glr2.cc])
|
||||
|
||||
m4_popdef([AT_TEST])
|
||||
|
||||
|
||||
@@ -333,7 +333,7 @@ AT_BISON_OPTION_POPDEFS
|
||||
AT_CLEANUP
|
||||
])
|
||||
|
||||
m4_foreach([b4_skel], [[yacc.c], [glr.c], [lalr1.cc], [glr.cc], [lalr1.java], [lalr1.d]],
|
||||
m4_foreach([b4_skel], [[yacc.c], [glr.c], [lalr1.cc], [glr.cc], [glr2.cc], [lalr1.java], [lalr1.d]],
|
||||
[AT_TEST([%skeleton "]b4_skel["])
|
||||
AT_TEST([%skeleton "]b4_skel[" %define api.token.raw])])
|
||||
|
||||
|
||||
@@ -437,7 +437,7 @@ AT_BISON_OPTION_POPDEFS
|
||||
AT_CLEANUP
|
||||
])
|
||||
|
||||
m4_map_args([AT_TEST], [yacc.c], [glr.c], [lalr1.cc], [glr.cc])
|
||||
m4_map_args([AT_TEST], [yacc.c], [glr.c], [lalr1.cc], [glr.cc], [glr2.cc])
|
||||
|
||||
m4_popdef([AT_TEST])
|
||||
|
||||
@@ -494,7 +494,7 @@ AT_BISON_OPTION_POPDEFS
|
||||
AT_CLEANUP
|
||||
])
|
||||
|
||||
m4_map_args([AT_TEST], [yacc.c], [glr.c], [lalr1.cc], [glr.cc])
|
||||
m4_map_args([AT_TEST], [yacc.c], [glr.c], [lalr1.cc], [glr.cc], [glr2.cc])
|
||||
|
||||
m4_popdef([AT_TEST])
|
||||
|
||||
|
||||
@@ -135,7 +135,7 @@ m4_pushdef([AT_TEST],
|
||||
_AT_TEST([$1 %defines], [$2], [$3], [$4], [$5], [$6], [$7])
|
||||
])
|
||||
|
||||
m4_foreach([b4_skel], [[yacc.c], [glr.c], [lalr1.cc], [glr.cc]],
|
||||
m4_foreach([b4_skel], [[yacc.c], [glr.c], [lalr1.cc], [glr.cc], [glr2.cc]],
|
||||
[# A built-in type.
|
||||
AT_TEST([%skeleton "]b4_skel["
|
||||
%define api.value.type {double}],
|
||||
|
||||
Reference in New Issue
Block a user