summaryrefslogtreecommitdiff
path: root/grammar-ll1.txt
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 ::=