The syntax definition for JADE methods and schema files uses the Extended Backus Naur Formalism (EBNF). An EBNF specification is a sequence of syntax rules.
EBNF symbols are used to precisely and concisely specify the syntax. The symbols used in EBNF are:
Parentheses (that is, the ( and ) symbols) group alternative terms
The vertical bar (|) separates alternative terms
Brackets ([]) identify optional expressions
Braces ({ }) identify expressions that can occur zero or more times
Character sequences enclosed in double quotes ("") identify terminal symbols, or keywords, of the JADE language
An identifier is a sequence of letters and digits, beginning with a letter
The following example shows meals that are defined with a sequence of EBNF symbols.
appetizer = "artichoke" | "oysters"
dessert = "ice cream" | "fruit"
fruit = "apple" | "orange" | "pear"
meat = "beef" | "lamb" | "fish"
vegetable = "broccoli" | "carrots" | "peas"
meal = [appetiser] meat ("potatoes" | "rice") {vegetable} [dessert]
Examples of meals defined by these rules are:
beef potatoes artichoke fish rice peas broccoli ice cream lamb rice carrots carrots carrots peas broccoli pear oysters beef rice orange
A JADE method has the following syntax.
method-name ([parameters]) [: return-type] [method-options];
[constants
constant-declarations]
[vars
variable-declarations]
begin
JADE-instructions
[epilog
epilog-instructions]
end;