Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <program> ::= <block> "."
- <block> ::= ["const" <identifier> "=" <number> (";" | ({"," <identifier> "=" <number>} ";") )]
- ["var" <identifier> (";" | ({"," <identifier>} ";") )]
- [{ ["proced" <identifier> ";" <block> ";"] ["function" <identifier> "of" "type" <type> ";" <block> ";"] }]
- <statement>
- <statement list> ::= <statement> {";" <statement>}
- <statement> ::= [ (<identifier> "=" <expression>) |
- ("call" <identifier>) |
- ("begin" <statement list> "end") |
- ("if" <condition> "then" <statement>) |
- ("for" <identifier> ":=" <expression> "to" <expression> "do" "begin" <statement list> "end") |
- ("while" <conditional> "do" <statement>) ]
- <expression> ::= ["+" | "-"] <term> {("+" | "-") <term>}
- <term> ::= <factor> {("*" | "/") <factor>}
- <factor> ::= <identifier> | <number> | ("(" <expression> ")")
- <type> ::= "integer" | "real" | "char"
- <conditional> ::= (("odd") | (<expression> ("$"|"%"|"="|"<"|">"|"#"))) <expression>
- <uppercase letter> ::= (A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z)
- <lowercase letter> ::= (a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z)
- <identifier> ::= <lowercase letter> | <uppercase letter> {<lowercase letter> | <uppercase letter> | <number>}
- <number> ::= (0|1|2|3|4|5|6|7|8|9)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement