File: rpndecl.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 (17 lines) | stat: -rw-r--r-- 940 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Here are the directives that are used for the reverse polish notation
calculator. As in bf(C++), end-of-line comments may be used.
        verbinsert(//DECL rpn/parser/grammar)
    The grammar file's first (directive) configures b() by specifying the
tokens (see section The b() Declarations Section). Each terminal symbol that
is not a single-character literal must be declared here (Single-character
literals are normally not declared, but are represented by literal character
constants). In the current example, all arithmetic operators are designated by
single-character literals, so the only terminal symbol that needs to be
declared is tt(NUM), the token type for numeric constants. As b() by default
uses the type tt(int) as the semantic value type, but a calculator usually
uses floating point values the directive tt(%stype double) is used to indicate
that the calculator uses `tt(double)' as the type for its semantic values.