[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 11/11] api.namespace: demonstrate and use {...} values instead of
From: |
Akim Demaille |
Subject: |
[PATCH 11/11] api.namespace: demonstrate and use {...} values instead of "..." values |
Date: |
Thu, 4 Apr 2013 17:36:28 +0200 |
* tests/c++.at, tests/input.at: Use "%define api.namespace {foo}" instead
of using quotes.
* tests/local.at (AT_SETUP_STRIP, AT_NAME_PREFIX): Recognize uses of
braces instead of quotes.
* doc/bison.texi: Use braces for api.namespace's values.
---
doc/bison.texi | 8 ++++----
tests/c++.at | 4 ++--
tests/input.at | 6 +++---
tests/local.at | 10 ++++++----
4 files changed, 15 insertions(+), 13 deletions(-)
diff --git a/doc/bison.texi b/doc/bison.texi
index aad2b8c..1351a6c 100644
--- a/doc/bison.texi
+++ b/doc/bison.texi
@@ -5586,7 +5586,7 @@ Summary,,%skeleton}).
Unaccepted @var{variable}s produce an error.
Some of the accepted @var{variable}s are described below.
address@hidden Directive {%define api.namespace} "@var{namespace}"
address@hidden Directive {%define api.namespace} @address@hidden@}
@itemize
@item Languages(s): C++
@@ -5594,7 +5594,7 @@ Some of the accepted @var{variable}s are described below.
For example, if you specify:
@example
-%define api.namespace "foo::bar"
+%define api.namespace @{foo::address@hidden
@end example
Bison uses @code{foo::bar} verbatim in references such as:
@@ -5627,7 +5627,7 @@ api.namespace} so that @code{%name-prefix} @emph{only}
affects the
lexical analyzer function. For example, if you specify:
@example
-%define api.namespace "foo"
+%define api.namespace @address@hidden
%name-prefix "bar::"
@end example
@@ -5894,7 +5894,7 @@ More user feedback will help to stabilize it.)
@end deffn
@c ================================================== namespace
address@hidden Directive %define namespace @var{namespace}
address@hidden Directive %define namespace @address@hidden@}
Obsoleted by @code{api.namespace}
@c namespace
@end deffn
diff --git a/tests/c++.at b/tests/c++.at
index e7048ac..3300352 100644
--- a/tests/c++.at
+++ b/tests/c++.at
@@ -361,10 +361,10 @@ AT_CHECK_DOXYGEN([Private])
# is specified, then Bison should accept the input, but compilation will fail,
# so don't check compilation.
m4_pushdef([AT_TEST],
-[AT_BISON_OPTION_PUSHDEFS([%language "C++" %define api.namespace "$1"])
+[AT_BISON_OPTION_PUSHDEFS([%language "C++" %define api.namespace {$1}])
AT_DATA_GRAMMAR([[input.y]],
[[%language "C++"
-%define api.namespace "]$1["
+%define api.namespace {]$1[}
%union { int i; }
%define global_tokens_and_yystype
%locations
diff --git a/tests/input.at b/tests/input.at
index 8a677fa..322bbe8 100644
--- a/tests/input.at
+++ b/tests/input.at
@@ -1448,7 +1448,7 @@ AT_DATA([[input.y]],
[[%define api.push_pull both
%define lr.keep_unreachable_states maybe
%define namespace "foo"
-%define api.namespace "foo"
+%define api.namespace {foo}
%define variant
%%
start: %empty;
@@ -1464,7 +1464,7 @@ input.y:3.9-17: warning: deprecated directive, use
'%define api.namespace foo' [
%define namespace "foo"
^^^^^^^^^
input.y:4.9-21: error: %define variable 'api.namespace' redefined
- %define api.namespace "foo"
+ %define api.namespace {foo}
^^^^^^^^^^^^^
input.y:3.9-17: previous definition
%define namespace "foo"
@@ -1523,7 +1523,7 @@ m4_define([AT_CHECK_NAMESPACE_ERROR],
AT_DATA([[input.y]],
[[%language "C++"
%defines
-%define api.namespace "]$1["
+%define api.namespace {]$1[}
%%
start: %empty;
]])
diff --git a/tests/local.at b/tests/local.at
index d5ef808..46bbfed 100644
--- a/tests/local.at
+++ b/tests/local.at
@@ -37,7 +37,7 @@ m4_define([AT_SETUP_STRIP],
[m4_bpatsubsts([$1],
[%\(language\|skeleton\) "?\([^\" ]*\)"?],
[\2],
- [%define "?\([-A-Za-z0-9_.]+\)"? \("[^\"]+"\|[-A-Za-z0-9_.]+\)],
+ [%define "?\([-A-Za-z0-9_.]+\)"?
\({[^\}]+}\|"[^\"]+"\|[-A-Za-z0-9_.]+\)],
[\1=\2],
[%define "?\([-A-Za-z0-9_.]+\)"?],
[\1],
@@ -182,9 +182,11 @@ m4_pushdef([AT_PURE_IF],
[$2])])
# AT_NAME_PREFIX: also consider api.namespace.
m4_pushdef([AT_NAME_PREFIX],
-[m4_bmatch([$3], [\(%define api\.\(namespace\|prefix\)\|%name-prefix\) ".*"],
- [m4_bregexp([$3], [\(%define
api\.\(namespace\|prefix\)\|%name-prefix\) "\([^""]*\)"], [\3])],
- [yy])])
+[m4_bmatch([$3], [\(%define api\.\(namespace\|prefix\)\|%name-prefix\) .*],
+ [m4_bregexp([$3],
+ [\(%define api\.\(namespace\|prefix\)\|%name-prefix\)
[\{\"]\([^""]*\)[\"\}]],
+ [\3])],
+ [yy])])
m4_pushdef([AT_TOKEN_CTOR_IF],
[m4_bmatch([$3], [%define api\.token\.constructor], [$1], [$2])])
m4_pushdef([AT_TOKEN_PREFIX],
--
1.8.2
- [PATCH 00/11] support "%define variable {value}", Akim Demaille, 2013/04/04
- [PATCH 05/11] grammar: style changes, Akim Demaille, 2013/04/04
- [PATCH 07/11] style: fix comments, Akim Demaille, 2013/04/04
- [PATCH 11/11] api.namespace: demonstrate and use {...} values instead of "..." values,
Akim Demaille <=
- [PATCH 04/11] grammar: split %union to group together related aspects, Akim Demaille, 2013/04/04
- [PATCH 02/11] style: comment changes, Akim Demaille, 2013/04/04
- [PATCH 08/11] grammar: record the kind of %define variable values, Akim Demaille, 2013/04/04
- [PATCH 01/11] muscle: minor refactoring, Akim Demaille, 2013/04/04
- [PATCH 10/11] grammar: do not add a \n at the end of blocks of code, Akim Demaille, 2013/04/04
- [PATCH 03/11] muscle: refactor, Akim Demaille, 2013/04/04
- [PATCH 09/11] regen, Akim Demaille, 2013/04/04
- [PATCH 06/11] regen, Akim Demaille, 2013/04/04
- Re: [PATCH 00/11] support "%define variable {value}", Joel E. Denny, 2013/04/07