summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--grammar-ll1.txt18
1 files changed, 10 insertions, 8 deletions
diff --git a/grammar-ll1.txt b/grammar-ll1.txt
index 23c1abf..4e97893 100644
--- a/grammar-ll1.txt
+++ b/grammar-ll1.txt
@@ -12,14 +12,16 @@ 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 ")"
+ 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'