mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-18 16:53:02 +00:00
doc: motivate named references.
Suggested by Hans Aberg at
<http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
* doc/bison.texinfo (Named References): Explain briefly how
they're better than the traditional positional references.
(cherry picked from commit 7d31f09289)
This commit is contained in:
@@ -1,3 +1,11 @@
|
|||||||
|
2011-05-29 Joel E. Denny <joeldenny@joeldenny.org>
|
||||||
|
|
||||||
|
doc: motivate named references.
|
||||||
|
Suggested by Hans Aberg at
|
||||||
|
<http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
|
||||||
|
* doc/bison.texinfo (Named References): Explain briefly how
|
||||||
|
they're better than the traditional positional references.
|
||||||
|
|
||||||
2011-05-29 Joel E. Denny <joeldenny@joeldenny.org>
|
2011-05-29 Joel E. Denny <joeldenny@joeldenny.org>
|
||||||
|
|
||||||
doc: discuss named references after locations.
|
doc: discuss named references after locations.
|
||||||
|
|||||||
@@ -4092,10 +4092,16 @@ statement when it is followed by a semicolon.
|
|||||||
@section Using Named References
|
@section Using Named References
|
||||||
@cindex named references
|
@cindex named references
|
||||||
|
|
||||||
While every semantic value can be accessed with positional references
|
As described in the preceding sections, the traditional way to refer to any
|
||||||
@code{$@var{n}} and @code{$$}, it's often much more convenient to refer to
|
semantic value or location is a @dfn{positional reference}, which takes the
|
||||||
them by name. First of all, original symbol names may be used as named
|
form @code{$@var{n}}, @code{$$}, @code{@@@var{n}}, and @code{@@$}. However,
|
||||||
references. For example:
|
such a reference is not very descriptive. Moreover, if you later decide to
|
||||||
|
insert or remove symbols in the right-hand side of a grammar rule, the need
|
||||||
|
to renumber such references can be tedious and error-prone.
|
||||||
|
|
||||||
|
To avoid these issues, you can also refer to a semantic value or location
|
||||||
|
using a @dfn{named reference}. First of all, original symbol names may be
|
||||||
|
used as named references. For example:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
@group
|
@group
|
||||||
@@ -4105,8 +4111,7 @@ invocation: op '(' args ')'
|
|||||||
@end example
|
@end example
|
||||||
|
|
||||||
@noindent
|
@noindent
|
||||||
The positional @code{$$}, @code{@@$}, @code{$n}, and @code{@@n} can be
|
Positional and named references can be mixed arbitrarily. For example:
|
||||||
mixed with @code{$name} and @code{@@name} arbitrarily. For example:
|
|
||||||
|
|
||||||
@example
|
@example
|
||||||
@group
|
@group
|
||||||
|
|||||||
Reference in New Issue
Block a user