mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 20:33:03 +00:00
* origin/maint: (29 commits) regen synclines: remove spurious empty line also support $<foo>$ in the %initial-action skeletons: b4_dollar_pushdef and popdef to simpify complex definitions regen printer/destructor: translate only once factor the handling of m4 escaping news: schedule the removal of the ";" hack style changes in the scanners regen support $<tag>$ in printers and destructors scan-code: factor the handling of the type in $<TYPE>$ muscles: fix another occurrence of unescaped type name glr.cc: fix the handling of yydebug gnulib: update formatting changes tests: fix an assertion tests: adjust to GCC 4.8, which displays caret errors be sure to properly escape type names obstack_quote: escape and quote for M4 muscles: shuffle responsabilities muscles: make private functions static muscles: rename private functions/macros obstack_escape: escape M4 characters remove dead macro maint: style changes doc: avoid problems with case insensitive file systems configure: fix botched quoting news: fix typo. Conflicts: NEWS data/c.m4 data/glr.cc data/lalr1.cc examples/rpcalc/local.mk src/muscle-tab.h src/output.c src/parse-gram.c src/parse-gram.h src/parse-gram.y src/scan-code.l src/symlist.c src/symlist.h src/symtab.h tests/calc.at
44 lines
1.6 KiB
Plaintext
44 lines
1.6 KiB
Plaintext
-*- Autoconf -*-
|
|
|
|
# Common code for C-like languages (C, C++, Java, etc.)
|
|
|
|
# Copyright (C) 2012 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/>.
|
|
|
|
# b4_dollar_dollar_(VALUE, FIELD, DEFAULT-FIELD)
|
|
# ----------------------------------------------
|
|
# If FIELD (or DEFAULT-FIELD) is non-null, return "VALUE.FIELD",
|
|
# otherwise just VALUE. Be sure to pass "(VALUE)" is VALUE is a
|
|
# pointer.
|
|
m4_define([b4_dollar_dollar_],
|
|
[b4_symbol_value([$1],
|
|
m4_if([$2], [[]],
|
|
[[$3]], [[$2]]))])
|
|
|
|
# b4_dollar_pushdef(VALUE-POINTER, DEFAULT-FIELD, LOCATION)
|
|
# b4_dollar_popdef
|
|
# ---------------------------------------------------------
|
|
# Define b4_dollar_dollar for VALUE and DEFAULT-FIELD,
|
|
# and b4_at_dollar for LOCATION.
|
|
m4_define([b4_dollar_pushdef],
|
|
[m4_pushdef([b4_dollar_dollar],
|
|
[b4_dollar_dollar_([$1], m4_dquote($][1), [$2])])dnl
|
|
m4_pushdef([b4_at_dollar], [$3])dnl
|
|
])
|
|
m4_define([b4_dollar_popdef],
|
|
[m4_popdef([b4_at_dollar])dnl
|
|
m4_popdef([b4_dollar_dollar])dnl
|
|
])
|