source: trunk/PL0 grammer.ebnf

Last change on this file was 1, checked in by chronos, 5 years ago
  • Added: Modified PL/0 compiler and interpreter for better readability.
File size: 664 bytes
Line 
1program = block "." .
2
3block = [ "const" ident "=" number {"," ident "=" number} ";"]
4 [ "var" ident {"," ident} ";"]
5 { "procedure" ident ";" block ";" } statement .
6
7statement = [ ident ":=" expression | "call" ident
8 | "?" ident | "!" expression
9 | "begin" statement {";" statement } "end"
10 | "if" condition "then" statement
11 | "while" condition "do" statement ].
12
13condition = "odd" expression |
14 expression ("="|"#"|"<"|"<="|">"|">=") expression .
15
16expression = [ "+"|"-"] term { ("+"|"-") term}.
17
18term = factor {("*"|"/") factor}.
19
20factor = ident | number | "(" expression ")".
Note: See TracBrowser for help on using the repository browser.