mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-21 02:03:03 +00:00
doc: clearly state that %yacc only makes sense with yacc.c
* doc/bison.texi: here. * tests/calc.at: Stop testing %yacc with non yacc.c skeletons.
This commit is contained in:
@@ -5821,7 +5821,10 @@ states and what is done for each type of lookahead token in that state.
|
|||||||
|
|
||||||
@deffn {Directive} %yacc
|
@deffn {Directive} %yacc
|
||||||
Pretend the option @option{--yacc} was given, i.e., imitate Yacc, including
|
Pretend the option @option{--yacc} was given, i.e., imitate Yacc, including
|
||||||
its naming conventions. @xref{Tuning the Parser}, for more.
|
its naming conventions. Only makes sense with the @file{yacc.c}
|
||||||
|
skeleton. @xref{Tuning the Parser}, for more.
|
||||||
|
|
||||||
|
Of course @code{%yacc} is a Bison extension@dots{}
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
|
||||||
@@ -10924,11 +10927,10 @@ different diagnostics to be generated (it implies @option{-Wyacc}), and may
|
|||||||
change behavior in other minor ways. Most importantly, imitate Yacc's
|
change behavior in other minor ways. Most importantly, imitate Yacc's
|
||||||
output file name conventions, so that the parser implementation file is
|
output file name conventions, so that the parser implementation file is
|
||||||
called @file{y.tab.c}, and the other outputs are called @file{y.output} and
|
called @file{y.tab.c}, and the other outputs are called @file{y.output} and
|
||||||
@file{y.tab.h}. Also, if generating a deterministic parser in C, generate
|
@file{y.tab.h}. Also, generate @code{#define} statements in addition to an
|
||||||
@code{#define} statements in addition to an @code{enum} to associate token
|
@code{enum} to associate token numbers with token names. Thus, the
|
||||||
numbers with token names. Thus, the following shell script can substitute
|
following shell script can substitute for Yacc, and the Bison distribution
|
||||||
for Yacc, and the Bison distribution contains such a script for
|
contains such a script for compatibility with POSIX:
|
||||||
compatibility with POSIX:
|
|
||||||
|
|
||||||
@example
|
@example
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
@@ -10936,9 +10938,9 @@ bison -y "$@@"
|
|||||||
@end example
|
@end example
|
||||||
|
|
||||||
The @option{-y}/@option{--yacc} option is intended for use with traditional
|
The @option{-y}/@option{--yacc} option is intended for use with traditional
|
||||||
Yacc grammars. If your grammar uses Bison extensions like
|
Yacc grammars. This option only makes sense for the default C skeleton,
|
||||||
@samp{%glr-parser}, Bison might not be Yacc-compatible even if this option
|
@file{yacc.c}. If your grammar uses Bison extensions Bison cannot be
|
||||||
is specified.
|
Yacc-compatible, even if this option is specified.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@node Output Files
|
@node Output Files
|
||||||
|
|||||||
@@ -1061,26 +1061,25 @@ AT_CHECK_CALC_GLR([%locations %define api.location.type {Span}])
|
|||||||
AT_CHECK_CALC_GLR([%name-prefix "calc"])
|
AT_CHECK_CALC_GLR([%name-prefix "calc"])
|
||||||
AT_CHECK_CALC_GLR([%define api.prefix {calc}])
|
AT_CHECK_CALC_GLR([%define api.prefix {calc}])
|
||||||
AT_CHECK_CALC_GLR([%verbose])
|
AT_CHECK_CALC_GLR([%verbose])
|
||||||
AT_CHECK_CALC_GLR([%yacc])
|
|
||||||
AT_CHECK_CALC_GLR([%define parse.error verbose])
|
AT_CHECK_CALC_GLR([%define parse.error verbose])
|
||||||
|
|
||||||
AT_CHECK_CALC_GLR([%define api.pure %locations])
|
AT_CHECK_CALC_GLR([%define api.pure %locations])
|
||||||
AT_CHECK_CALC_GLR([%define parse.error verbose %locations])
|
AT_CHECK_CALC_GLR([%define parse.error verbose %locations])
|
||||||
|
|
||||||
AT_CHECK_CALC_GLR([%define parse.error custom %locations %defines %name-prefix "calc" %verbose %yacc])
|
AT_CHECK_CALC_GLR([%define parse.error custom %locations %defines %name-prefix "calc" %verbose])
|
||||||
AT_CHECK_CALC_GLR([%define parse.error detailed %locations %defines %name-prefix "calc" %verbose %yacc])
|
AT_CHECK_CALC_GLR([%define parse.error detailed %locations %defines %name-prefix "calc" %verbose])
|
||||||
AT_CHECK_CALC_GLR([%define parse.error verbose %locations %defines %name-prefix "calc" %verbose %yacc])
|
AT_CHECK_CALC_GLR([%define parse.error verbose %locations %defines %name-prefix "calc" %verbose])
|
||||||
|
|
||||||
AT_CHECK_CALC_GLR([%debug])
|
AT_CHECK_CALC_GLR([%debug])
|
||||||
AT_CHECK_CALC_GLR([%define parse.error verbose %debug %locations %defines %name-prefix "calc" %verbose %yacc])
|
AT_CHECK_CALC_GLR([%define parse.error verbose %debug %locations %defines %name-prefix "calc" %verbose])
|
||||||
AT_CHECK_CALC_GLR([%define parse.error verbose %debug %locations %defines %define api.prefix {calc} %define api.token.prefix {TOK_} %verbose %yacc])
|
AT_CHECK_CALC_GLR([%define parse.error verbose %debug %locations %defines %define api.prefix {calc} %define api.token.prefix {TOK_} %verbose])
|
||||||
|
|
||||||
AT_CHECK_CALC_GLR([%define api.pure %define parse.error verbose %debug %locations %defines %name-prefix "calc" %verbose %yacc])
|
AT_CHECK_CALC_GLR([%define api.pure %define parse.error verbose %debug %locations %defines %name-prefix "calc" %verbose])
|
||||||
|
|
||||||
AT_CHECK_CALC_GLR([%define api.pure %define parse.error verbose %debug %locations %defines %name-prefix "calc" %verbose %yacc %parse-param {semantic_value *result}{int *count}{int *nerrs}])
|
AT_CHECK_CALC_GLR([%define api.pure %define parse.error verbose %debug %locations %defines %name-prefix "calc" %verbose %parse-param {semantic_value *result}{int *count}{int *nerrs}])
|
||||||
AT_CHECK_CALC_GLR([%define api.pure %define parse.error verbose %debug %locations %defines %define api.prefix {calc} %verbose %yacc %parse-param {semantic_value *result}{int *count}{int *nerrs}])
|
AT_CHECK_CALC_GLR([%define api.pure %define parse.error verbose %debug %locations %defines %define api.prefix {calc} %verbose %parse-param {semantic_value *result}{int *count}{int *nerrs}])
|
||||||
|
|
||||||
AT_CHECK_CALC_GLR([%no-lines %define api.pure %define parse.error verbose %debug %locations %defines %define api.prefix {calc} %verbose %yacc %parse-param {semantic_value *result}{int *count}{int *nerrs}])
|
AT_CHECK_CALC_GLR([%no-lines %define api.pure %define parse.error verbose %debug %locations %defines %define api.prefix {calc} %verbose %parse-param {semantic_value *result}{int *count}{int *nerrs}])
|
||||||
|
|
||||||
|
|
||||||
# ---------------------- #
|
# ---------------------- #
|
||||||
@@ -1099,18 +1098,18 @@ AT_CHECK_CALC_LALR1_CC([])
|
|||||||
AT_CHECK_CALC_LALR1_CC([%locations])
|
AT_CHECK_CALC_LALR1_CC([%locations])
|
||||||
AT_CHECK_CALC_LALR1_CC([%locations], [$NO_EXCEPTIONS_CXXFLAGS])
|
AT_CHECK_CALC_LALR1_CC([%locations], [$NO_EXCEPTIONS_CXXFLAGS])
|
||||||
AT_CHECK_CALC_LALR1_CC([%locations %define api.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([%defines %locations %define parse.error verbose %name-prefix "calc" %verbose])
|
||||||
|
|
||||||
AT_CHECK_CALC_LALR1_CC([%locations %define parse.error verbose %define api.prefix {calc} %verbose %yacc])
|
AT_CHECK_CALC_LALR1_CC([%locations %define parse.error verbose %define api.prefix {calc} %verbose])
|
||||||
AT_CHECK_CALC_LALR1_CC([%locations %define parse.error verbose %debug %name-prefix "calc" %verbose %yacc])
|
AT_CHECK_CALC_LALR1_CC([%locations %define parse.error verbose %debug %name-prefix "calc" %verbose])
|
||||||
|
|
||||||
AT_CHECK_CALC_LALR1_CC([%locations %define parse.error verbose %debug %define api.prefix {calc} %verbose %yacc])
|
AT_CHECK_CALC_LALR1_CC([%locations %define parse.error verbose %debug %define api.prefix {calc} %verbose])
|
||||||
AT_CHECK_CALC_LALR1_CC([%locations %define parse.error verbose %debug %define api.prefix {calc} %define api.token.prefix {TOK_} %verbose %yacc])
|
AT_CHECK_CALC_LALR1_CC([%locations %define parse.error verbose %debug %define api.prefix {calc} %define api.token.prefix {TOK_} %verbose])
|
||||||
|
|
||||||
AT_CHECK_CALC_LALR1_CC([%defines %locations %define parse.error verbose %debug %name-prefix "calc" %verbose %yacc %parse-param {semantic_value *result}{int *count}{int *nerrs}])
|
AT_CHECK_CALC_LALR1_CC([%defines %locations %define parse.error verbose %debug %name-prefix "calc" %verbose %parse-param {semantic_value *result}{int *count}{int *nerrs}])
|
||||||
|
|
||||||
AT_CHECK_CALC_LALR1_CC([%define parse.error verbose %debug %define api.prefix {calc} %verbose %yacc %parse-param {semantic_value *result}{int *count}{int *nerrs}])
|
AT_CHECK_CALC_LALR1_CC([%define parse.error verbose %debug %define api.prefix {calc} %verbose %parse-param {semantic_value *result}{int *count}{int *nerrs}])
|
||||||
AT_CHECK_CALC_LALR1_CC([%defines %locations %define parse.error verbose %debug %define api.prefix {calc} %verbose %yacc %parse-param {semantic_value *result}{int *count}{int *nerrs}])
|
AT_CHECK_CALC_LALR1_CC([%defines %locations %define parse.error verbose %debug %define api.prefix {calc} %verbose %parse-param {semantic_value *result}{int *count}{int *nerrs}])
|
||||||
|
|
||||||
AT_CHECK_CALC_LALR1_CC([%defines %locations %define api.location.file none])
|
AT_CHECK_CALC_LALR1_CC([%defines %locations %define api.location.file none])
|
||||||
AT_CHECK_CALC_LALR1_CC([%defines %locations %define api.location.file "my-location.hh"])
|
AT_CHECK_CALC_LALR1_CC([%defines %locations %define api.location.file "my-location.hh"])
|
||||||
@@ -1135,18 +1134,18 @@ m4_define([AT_CHECK_CALC_GLR_CC],
|
|||||||
AT_CHECK_CALC_GLR_CC([])
|
AT_CHECK_CALC_GLR_CC([])
|
||||||
AT_CHECK_CALC_GLR_CC([%locations])
|
AT_CHECK_CALC_GLR_CC([%locations])
|
||||||
AT_CHECK_CALC_GLR_CC([%locations %define api.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([%defines %define parse.error verbose %name-prefix "calc" %verbose])
|
||||||
AT_CHECK_CALC_GLR_CC([%define parse.error verbose %define api.prefix {calc} %verbose %yacc])
|
AT_CHECK_CALC_GLR_CC([%define parse.error verbose %define api.prefix {calc} %verbose])
|
||||||
|
|
||||||
AT_CHECK_CALC_GLR_CC([%debug])
|
AT_CHECK_CALC_GLR_CC([%debug])
|
||||||
|
|
||||||
AT_CHECK_CALC_GLR_CC([%define parse.error verbose %debug %name-prefix "calc" %verbose %yacc])
|
AT_CHECK_CALC_GLR_CC([%define parse.error verbose %debug %name-prefix "calc" %verbose])
|
||||||
AT_CHECK_CALC_GLR_CC([%define parse.error verbose %debug %name-prefix "calc" %define api.token.prefix {TOK_} %verbose %yacc])
|
AT_CHECK_CALC_GLR_CC([%define parse.error verbose %debug %name-prefix "calc" %define api.token.prefix {TOK_} %verbose])
|
||||||
|
|
||||||
AT_CHECK_CALC_GLR_CC([%locations %defines %define parse.error verbose %debug %name-prefix "calc" %verbose %yacc %parse-param {semantic_value *result}{int *count}{int *nerrs}])
|
AT_CHECK_CALC_GLR_CC([%locations %defines %define parse.error verbose %debug %name-prefix "calc" %verbose %parse-param {semantic_value *result}{int *count}{int *nerrs}])
|
||||||
AT_CHECK_CALC_GLR_CC([%locations %defines %define parse.error verbose %debug %define api.prefix {calc} %verbose %yacc %parse-param {semantic_value *result}{int *count}{int *nerrs}])
|
AT_CHECK_CALC_GLR_CC([%locations %defines %define parse.error verbose %debug %define api.prefix {calc} %verbose %parse-param {semantic_value *result}{int *count}{int *nerrs}])
|
||||||
|
|
||||||
AT_CHECK_CALC_GLR_CC([%no-lines %locations %defines %define parse.error verbose %debug %define api.prefix {calc} %verbose %yacc %parse-param {semantic_value *result}{int *count}{int *nerrs}])
|
AT_CHECK_CALC_GLR_CC([%no-lines %locations %defines %define parse.error verbose %debug %define api.prefix {calc} %verbose %parse-param {semantic_value *result}{int *count}{int *nerrs}])
|
||||||
|
|
||||||
|
|
||||||
# -------------------- #
|
# -------------------- #
|
||||||
|
|||||||
Reference in New Issue
Block a user