File: expr.mly

package info (click to toggle)
pxp 1.2.9-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 7,844 kB
  • sloc: ml: 28,666; xml: 2,597; makefile: 822; sh: 691
file content (27 lines) | stat: -rw-r--r-- 425 bytes parent folder | download | duplicates (11)
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
26
27

%token Space Newline Stop
%token Add Sub Mult Div LParen RParen
%token<int> Number

%start topexpr
%type<int> topexpr

%left Add Sub
%left Mult Div
%nonassoc Number LParen RParen

%%

topexpr:
  expr Stop { $1 }
;

expr:
  expr Add expr        { $1 + $3 }
| expr Sub expr        { $1 - $3 }
| expr Mult expr       { $1 * $3 }
| expr Div expr        { $1 / $3 }
| LParen expr RParen   { $2 }
| Number               { $1 }
;