File: nonterms.yo

package info (click to toggle)
bisonc%2B%2B 6.09.02-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,984 kB
  • sloc: cpp: 9,375; ansic: 1,505; fortran: 1,134; makefile: 1,062; sh: 526; yacc: 84; lex: 60
file content (25 lines) | stat: -rw-r--r-- 1,264 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Syntax: bf(%type) tt(<type> symbol-list)

    To associate (non-)terminals with specific semantic value types
the bf(%type) directive is used.

    When tt(%polymorphic) is used to specify multiple semantic value types,
(non-)terminals can be associated with one of the semantic value types
specified with the tt(%polymorphic) directive.

    When tt(%union) is used to specify multiple semantic value types,
(non-)terminals can be associated with one of the tt(union) fields specified
with the tt(%union) directive.

    With this directive, tt(symbol-list) defines of one or more blank or comma
delimited grammatical symbols (i.e., terminal and/or nonterminal symbols);
tt(type) is either a polymorphic type-identifier or a field name defined in
the tt(%union) specification. The specified nonterminal(s) are automatically
associated with the indicate semantic type. The pointed arrows are part of the
type specification.

    When the semantic value type of a terminal symbol is defined the
em(lexical scanner) rather than the parser's actions must assign the
appropriate semantic value to link(d_val_)(DVAL) just prior to returning the
token. To associate terminal symbols with semantic values, terminal symbols
can also be specified in a tt(%type) directive.