bison-patches
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]