]> git.saurik.com Git - bison.git/commitdiff
api.namespace: demonstrate and use {...} values instead of "..." values
authorAkim Demaille <akim@lrde.epita.fr>
Thu, 4 Apr 2013 15:27:36 +0000 (17:27 +0200)
committerAkim Demaille <akim@lrde.epita.fr>
Fri, 5 Apr 2013 08:43:44 +0000 (10:43 +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
tests/c++.at
tests/input.at
tests/local.at

index aad2b8c35eb3eb460b89987381caaa71529e61d0..1351a6c1c4d4858c73d18fb97e64f70ea3929e8f 100644 (file)
@@ -5586,7 +5586,7 @@ Summary,,%skeleton}).
 Unaccepted @var{variable}s produce an error.
 Some of the accepted @var{variable}s are described below.
 
-@deffn Directive {%define api.namespace} "@var{namespace}"
+@deffn Directive {%define api.namespace} @{@var{namespace}@}
 @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::bar@}
 @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 @{foo@}
 %name-prefix "bar::"
 @end example
 
@@ -5894,7 +5894,7 @@ More user feedback will help to stabilize it.)
 @end deffn
 
 @c ================================================== namespace
-@deffn Directive %define namespace @var{namespace}
+@deffn Directive %define namespace @{@var{namespace}@}
 Obsoleted by @code{api.namespace}
 @c namespace
 @end deffn
index e7048ac2e786b3d3608dcded1c7eafea6012f8b0..3300352d8cfcaf326f3e46eb94f7b69d8045efd0 100644 (file)
@@ -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
index 8a677fa0b73a37fdb5e90a4ca86be0c4a9eedc2d..322bbe8775b00ceeaf11010c7381597e5e54fb1b 100644 (file)
@@ -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;
 ]])
index d5ef80849144c8399c15f14ad597d6ca34beaf91..46bbfeda76f313f947a426b06d86b219c188bd26 100644 (file)
@@ -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],