blob: 23c1abf9521f6017531db19da1425c30d73922c6 (
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
|
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 ::= EXP "+" PROD-EXP
EXP ::= PROD-EXP
PROD-EXP ::= EXP "*" SINGLE-EXP
PROD-EXP ::= SINGLE-EXP
SINGLE-EXP ::= "-" EXP
SINGLE-EXP ::= ID
SINGLE-EXP ::= NAT
SINGLE-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 ::=
|