blob: 4e97893fd2c0c0b7e862a9b2417451fbc85ad02d (
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
|
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 ::= PROD-EXP PLUS-EXP'
PLUS-EXP' ::= "+" PROD-EXP PLUS-EXP'
PLUS-EXP' ::=
PROD-EXP ::= SINGLE-EXP PROD-EXP'
PROD-EXP' ::= "*" SINGLE-EXP PROD-EXP'
PROD-EXP' ::=
SINGLE-EXP ::= "-" SINGLE-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 ::=
|