File: test21.1.ott

package info (click to toggle)
ott 0.32%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 6,420 kB
  • sloc: ml: 25,065; makefile: 1,393; awk: 736; lisp: 183; sh: 14; sed: 4
file content (42 lines) | stat: -rw-r--r-- 667 bytes parent folder | download | duplicates (4)
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
metavar n ::=

grammar

e :: e_ ::= 
| n             ::   :: num
| - e           ::   :: neg
| e1 + e2       ::   :: add
| e1 - e2       ::   :: sub
| e1 e2         ::   :: mul
| e1 / e2       ::   :: div
| e1 , .. , e2  ::   :: tup
| ( e )         :: M :: par {{ icho [[e]] }}

parsing

e_add left e_add   % #1
e_sub left e_sub
e_add left e_sub   % #3
e_sub left e_add

e_mul left e_mul
e_div left e_div
e_mul left e_div
e_div left e_mul

e_neg <= e_add     % #9
e_neg <= e_sub
e_neg <= e_mul
e_neg <= e_div
e_neg <= e_tup

e_add <= e_div
e_add <= e_mul     % #15
e_add <= e_tup
e_sub <= e_div
e_sub <= e_mul
e_sub <= e_tup

e_mul <= e_tup     % #20
e_div <= e_tup