# kestrelEBNF.gr the ebnf grammar for Kestrel # Auhor: Douglas W. Jones # Date: Oct. 14, 2016 -- added enum keyword # Taken from http://homepage.cs.uiowa.edu/~dwjones/compiler/kestrel/definition.shtml > / ::= ::= { [ ";" ] } ::= | ::= ":" [ "private" | "restricted" ] ::= | | | | | ::= "const" | "final" ::= "type" | "type" "-" ::= "exception" ::= "var" ::= "procedure" [ ] ::= "function" [ ] ::= "end" | "-" | "external" ::= "(" ")" | "[" "]" | "{" "}" ::= { [ "," ] } ::= ":" ::= | "var" | "final" ::= | | | | | | ::= "enum" "(" { [ "," ] } ")" | "enum" "[" { [ "," ] } "]" | "enum" "{" { [ "," ] } "}" ::= ".." ::= "@" ::= "array" [ "of" ] | "array" "of" ::= "set" [ "of" ] ::= "record" [ "+" ] "end" ::= | | | | | | | ::= "do" "end" ::= "if" [ "then" ] [ "else" ] "end" ::= "select" [ "in" ] { "case" { [ "," ] } ":" } [ "else" ] "end" ::= [ ".." ] ::= | | ::= "while" [ "do" ] "end" ::= "do" "until" ::= "for" "in" [ "do" ] "end" ::= "catch" "in" { "case" ":" } [ "else" ] "end" ::= { [ "," ] } ::= "raise" ::= ::= "=" ::= [ ] ::= { } ::= { } ::= "=" | "/=" | ">" | ">=" | "<" | "<=" | "in" ::= "+" | "-" | "|" ::= "*" | "/" | "%" | "&" ::= [ "-" | "~" ] ::= | | "null" | | ::= "(" ")" | "[" "]" | "{" "}" ::= ::= | "@" | "." | ::= "(" ")" | "[" "]" | "{" "}" ::= { [ "," ] }