mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-13 06:13:02 +00:00
Merge branch 'maint'
* origin/maint: tests: check %no-lines tests: minor simplification graphs: stylistic changes. graphs: minor style changes graphs: show reductions graphs: style: prefix state number with "state" graphs: style: use left justification for states graphs: style: prefix rules and change shapes obstack: import obstack_finish0 from master c++: api.location.type muscles: a function for backward compatibility maint: more macros Conflicts: data/glr.cc data/java.m4 data/lalr1.cc doc/bison.texi src/muscle-tab.c src/system.h tests/calc.at
This commit is contained in:
@@ -716,7 +716,7 @@ m4_define([AT_CHECK_CALC_LALR1_CC],
|
||||
|
||||
AT_CHECK_CALC_LALR1_CC([])
|
||||
AT_CHECK_CALC_LALR1_CC([%locations])
|
||||
AT_CHECK_CALC_LALR1_CC([%locations %define location_type Span])
|
||||
AT_CHECK_CALC_LALR1_CC([%locations %define api.location.type Span])
|
||||
AT_CHECK_CALC_LALR1_CC([%defines %locations %define parse.error verbose %name-prefix "calc" %verbose %yacc])
|
||||
|
||||
AT_CHECK_CALC_LALR1_CC([%locations %define parse.error verbose %define api.prefix "calc" %verbose %yacc])
|
||||
@@ -750,7 +750,7 @@ m4_define([AT_CHECK_CALC_GLR_CC],
|
||||
|
||||
AT_CHECK_CALC_GLR_CC([])
|
||||
AT_CHECK_CALC_GLR_CC([%locations])
|
||||
AT_CHECK_CALC_GLR_CC([%locations %define location_type Span])
|
||||
AT_CHECK_CALC_GLR_CC([%locations %define api.location.type Span])
|
||||
AT_CHECK_CALC_GLR_CC([%defines %define parse.error verbose %name-prefix "calc" %verbose %yacc])
|
||||
AT_CHECK_CALC_GLR_CC([%define parse.error verbose %define api.prefix "calc" %verbose %yacc])
|
||||
|
||||
|
||||
@@ -131,7 +131,7 @@ AT_SETUP([Several parsers])
|
||||
# self-contained, and can be compiled by a C++ compiler.
|
||||
m4_pushdef([AT_TEST],
|
||||
[AT_BISON_OPTION_PUSHDEFS([%define api.prefix "$1_" $2])
|
||||
AT_DATA_GRAMMAR([$1.AT_SKEL_CC_IF([yy], [y])],
|
||||
AT_DATA_GRAMMAR([$1.y],
|
||||
[[%define api.prefix "$1_"
|
||||
$2
|
||||
%error-verbose
|
||||
@@ -161,7 +161,7 @@ exp:
|
||||
]AT_YYLEX_DEFINE(["$1"])[
|
||||
]])
|
||||
|
||||
AT_BISON_CHECK([-d -o AT_SKEL_CC_IF([$1.cc $1.yy], [$1.c $1.y])])
|
||||
AT_BISON_CHECK([-d -o $1.AT_SKEL_CC_IF([cc], [c]) $1.y])
|
||||
|
||||
# Check there is no 'yy' left.
|
||||
# C++ output relies on namespaces and still uses yy a lot.
|
||||
|
||||
@@ -751,7 +751,7 @@ AT_SETUP([Java stype, position_class and location_class])
|
||||
AT_CHECK_JAVA_MINIMAL([[
|
||||
%define stype "java.awt.Color"
|
||||
%type<java.awt.Color> start;
|
||||
%define location_type "MyLoc"
|
||||
%define api.location.type "MyLoc"
|
||||
%define position_type "MyPos"
|
||||
%code { class MyPos {} }]], [[$$ = $<java.awt.Color>1;]], [[MyPos]])
|
||||
AT_CHECK([[grep 'java.awt.Color' YYParser.java]], [0], [ignore])
|
||||
@@ -761,7 +761,7 @@ AT_CHECK([[$EGREP -v ' */?\*' YYParser.java | grep 'Location']], [1], [ignore])
|
||||
AT_CHECK_JAVA_MINIMAL_W_LEXER([[
|
||||
%define stype "java.awt.Color"
|
||||
%type<java.awt.Color> start;
|
||||
%define location_type "MyLoc"
|
||||
%define api.location.type "MyLoc"
|
||||
%define position_type "MyPos"
|
||||
%code { class MyPos {} }]], [], [[return EOF;]], [],
|
||||
[[$$ = $<java.awt.Color>1;]],
|
||||
|
||||
@@ -137,7 +137,7 @@ m4_pushdef([AT_LEXPARAM_IF],
|
||||
m4_pushdef([AT_LOCATION_IF],
|
||||
[m4_bmatch([$3], [%locations], [$1], [$2])])
|
||||
m4_pushdef([AT_LOCATION_TYPE_IF],
|
||||
[m4_bmatch([$3], [%define location_type], [$1], [$2])])
|
||||
[m4_bmatch([$3], [%define \(api\.location\.type\|location_type\)], [$1], [$2])])
|
||||
m4_pushdef([AT_PARAM_IF],
|
||||
[m4_bmatch([$3], [%parse-param], [$1], [$2])])
|
||||
m4_pushdef([AT_PURE_IF],
|
||||
|
||||
@@ -216,4 +216,54 @@ exp: '0';
|
||||
[input.y:8: #error "8"
|
||||
])
|
||||
|
||||
## -------------------- ##
|
||||
## %code top syncline. ##
|
||||
## -------------------- ##
|
||||
|
||||
AT_TEST([%code top syncline],
|
||||
[[%code top {
|
||||
#error "2"
|
||||
}
|
||||
%{
|
||||
]AT_YYERROR_DECLARE_EXTERN[
|
||||
]AT_YYLEX_DECLARE_EXTERN[
|
||||
%}
|
||||
%%
|
||||
exp: '0';
|
||||
%%
|
||||
]],
|
||||
[input.y:2: #error "2"
|
||||
])
|
||||
|
||||
m4_popdef([AT_TEST])
|
||||
|
||||
## ----------- ##
|
||||
## %no-lines. ##
|
||||
## ----------- ##
|
||||
|
||||
m4_pushdef([AT_TEST],
|
||||
[AT_SETUP([%no-lines])
|
||||
|
||||
AT_BISON_OPTION_PUSHDEFS([%skeleton "$1" %defines])
|
||||
AT_DATA_GRAMMAR([input.y],
|
||||
[%skeleton "$1" %defines
|
||||
%{
|
||||
]AT_YYERROR_DECLARE_EXTERN[
|
||||
]AT_YYLEX_DECLARE_EXTERN[
|
||||
%}
|
||||
%%
|
||||
exp: '0'
|
||||
])
|
||||
AT_BISON_CHECK([--no-lines -o input.AT_SKEL_CC_IF([cc], [c]) -d input.y])
|
||||
AT_CHECK([[grep '#line' ]AT_SKEL_CC_IF([*.cc *.hh], [*.c *.h])], 1)
|
||||
AT_BISON_OPTION_POPDEFS
|
||||
|
||||
AT_CLEANUP
|
||||
])
|
||||
|
||||
AT_TEST([yacc.c])
|
||||
AT_TEST([glr.c])
|
||||
AT_TEST([lalr1.cc])
|
||||
AT_TEST([glr.cc])
|
||||
|
||||
m4_popdef([AT_TEST])
|
||||
|
||||
Reference in New Issue
Block a user