blob: 9487bd1c661898698cf8410b52ec797cac5640c8 (
plain)
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
|
start-symbol PROGRAM
context-free syntax
PROGRAM ::= "begin" DECLS "|" STATEMENTS "end"
DECLS ::= "declare" IDLIST
STATEMENTS ::= STATEMENT ";"
STATEMENTS ::=
IDLIST ::= ID ","
IDLIST ::=
context-free syntax
STATEMENT ::= ID ":=" EXP
context-free syntax
EXP ::= ID
EXP ::= NAT
EXP ::= EXP "+" EXP {left}
EXP ::= EXP "*" EXP {left}
EXP ::= "-" EXP
EXP ::= "(" EXP ")"
lexical syntax
ID ::= [a-z] ID'
ID' ::= [a-z0-9] ID'
ID' ::=
lexical syntax
NAT ::= [0]
NAT ::= [1-9] NAT'
NAT' ::= [0-9] NAT'
NAT' ::=
lexical syntax
LAYOUT ::= " " LAYOUT
LAYOUT ::= "\n" LAYOUT
LAYOUT ::=
context-free priorities
EXP ::= "-" EXP >
EXP ::= EXP "*" EXP >
EXP ::= EXP "+" EXP
|