Actual ::=
Expression
Wordreference
Destination
Name
Actuallist ::=
Actual
Actual ,
Actuallist
Addoperator ::=
+
-
Alternative ::=
Statement
Answerspec ::=
Numbertype
Void
Answerstatement ::=
ANSWER
Expression
Arraydec ::=
Numbertype
ARRAY
Arraylist
Presetlist
Arrayitem ::=
Idlist [
Sizelist ]
Arraylist ::=
Arrayitem
Arrayitem ,
Arraylist
Assignmentstatement ::=
Variable :=
Expression
Base ::=
(
Id )
Id [
Signedinteger ]
Bitposition ::=
Integer
Block ::=
BEGIN
Declist ;
Statementlist
END
Booleanword ::=
Booleanword2
Booleanword4
DIFFER
Booleanword5
Booleanword2 ::=
Booleanword3
Booleanword5
UNION
Booleanword6
Booleanword3 ::=
Booleanword6
MASK
Typedprimary
Booleanword4 ::=
Booleanword
Typedprimary
Booleanword5 ::=
Booleanword2
Typedprimary
Booleanword6 ::=
Booleanword3
Typedprimary
Bracketedcomment ::=
( any sequence of characters in which round
brackets are matched )
Codesequence ::=
defined in a particular
implementation
Codestatement ::=
CODE BEGIN Codesequence END
Commentsentence ::=
COMMENT any sequence of characters not including a
semi-colon
;
Commoncommunicator ::=
COMMON (
Commonitemlist )
Commonitem ::=
Datadec
Overlaydec
Placespec
Procedurespec
Void
Commonitemlist ::=
Commonitem
Commonitem ;
Commonitemlist
Comparator ::=
<
<=
=
>=
>
<>
Comparison ::=
Simpleexpression
Comparator
Simpleexpression
Compoundstatement ::=
BEGIN
Statementlist
END
Condition ::=
Condition
OR
Subcondition
Subcondition
Conditionalexpression ::=
IF
Condition
THEN
Expression
ELSE
Expression
Conditionalstatement ::=
IF
Condition
THEN
Consequence
IF
Condition
THEN
Consequence
ELSE
Alternative
Consequence ::=
Simplestatement
Label :
Consequence
Constant ::=
Number
Addoperator
Number
Constantlist ::=
Group
Group ,
Constantlist
Datadec ::=
Numberdec
Arraydec
Tabledec
Dec ::=
Datadec
Overlaydec
Switchdec
Proceduredec
Declist ::=
Dec
Dec ;
Declist
Destination ::=
Label
Switch [
Index ]
Digit ::= 0 1 2 3 4 5 6 7 8 9
Digitlist ::=
Digit
Digit
Digitlist
Dimension ::=
Lowerbound :
Upperbound
Dummystatement ::=
void
Elementdec ::=
Id
Numbertype
Wordposition
Id
Partwordtype
Wordposition ,
Bitposition
Elementdeclist ::=
Elementdec
Elementdec ; Elementdeclist
Elementpresetlist ::=
PRESET
Constantlist
Void
Elementscale ::=
(
Totalbits ,
Fractionbits )
(
Totalbits )
Endcomment ::=
Id
Expression ::=
Unconditionalexpression
Conditionalexpression
Factor ::=
Primary
Booleanword
Forelement ::=
Expression
Expression
WHILE
Condition
Expression
STEP
Expression
UNTIL
Expression
Forlist ::=
Forelement
Forelement ,
Forlist
Formalpair ::=
Id :
Id
Formalpairlist ::=
Formalpair
Formalpair ,
Formalpairlist
Forstatement ::=
FOR
Wordreference := Forlist
DO
Statement
Fractionbits ::=
Signedinteger
Gotostatement ::=
GOTO
Destination
Group ::=
Constant
(
Constantlist )
Void
Id ::=
Letter
Letterdigitstring
Idlist ::=
Id
Id ,
Idlist
Index ::=
Expression
Integer ::=
Digitlist
OCTAL ( Octallist )
LITERAL ( printing
character )
Label ::=
Id
Labellist ::=
Label
Label ,
Labellist
Length ::=
Integer
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
Letterdigitstring ::=
Letter
Letterdigitstring
Digit
Letterdigitstring
Void
Lowerbound ::=
Signedinteger
Macrobody ::=
any sequence of
characters in which string quotes are
matched
Macrocall ::=
Macroname
Macroname ( Macrostringlist )
Macrodefinition ::=
DEFINE
Macroname "
Macrobody "
DEFINE
Macroname (
Idlist ) " Macrobody " ;
Macrodeletion ::=
DELETE
Macroname ;
Macroname ::=
Id
Macrostring ::=
any sequence of characters in which commas are
protected by round or square brackets and in which such
brackets are properly matched and
nested
Macrostringlist ::=
Macrostring ,
Macrostringlist
Macrostring
Multoperator ::=
*
/
Name ::=
Id
Number ::=
Real
Integer
Numberdec ::=
Numbertype
Idlist
Presetlist
Numbertype ::=
FLOATING
FIXED
Scale
INTEGER
Octaldigit ::= 0 1 2 3 4 5 6 7
Octallist ::=
Octaldigit
Octaldigit
Octalist
Overlaydec ::=
OVERLAY
Base WITH Datadec
Parameterspec ::=
VALUE
Formalpairlist
LOCATION
Formalpairlist
Specifier
Idlist
etc
Parameterspec ::=
Specifier
Idlist
Tablespec
Procedurespec
Parameterspeclist ::=
Parameterspec
Parameterspec ;
Parameterspeclist
Partword ::=
Id [
Index ]
BITS [
Totalbits , Bitposition] Typedprimary
Partwordreference ::=
Id [
Index ]
BITS [
Totalbits ,
Bitposition ]
Wordreference
Partwordtype ::=
Elementscale
UNSIGNED
Elementscale
Placespec ::=
LABEL
Idlist
SWITCH
Idlist
Presetlist ::=
:=
Constantlist
Void
Primary ::=
Untypedprimary
Typedprimary
Procedurecall ::=
Id
Id (
Actuallist )
Proceduredec ::=
Answerspec
PROCEDURE
Procedureheading ; Statement
Answerspec
RECURSIVE
Procedureheading ; Statement
Procedureheading ::=
Id
Id (
Parameterspeclist )
Procedurespec ::=
Answerspec
PROCEDURE
Procparamlist
Procparameter ::=
Id
Id (
Typelist )
Procparamlist ::=
Procparameter
Procparameter ,
Procparamlist
Real ::=
Digitlist .
Digitlist
Digitlist 10 Signedinteger
10
Signedinteger
Digitlist .
Digitlist 10 Signedinteger
OCTAL ( Octallist . Octallist )
Scale ::= (
Totalbits ,
Fractionbits )
Sign ::=
+
-
Void
Signedinteger ::=
Integer
Addoperator
Integer
Simpleexpression ::=
Term
Addoperator
Term
Simpleexpression
Addoperator
Term
Simplestatement ::=
Assignmentstatement
Gotostatement
Procedurecall
Answerstatement
Codestatement
Compoundstatement
Block
Dummystatement
Sizelist ::=
Dimension
Dimension ,
Dimension
Specifier ::=
VALUE
Numbertype
LOCATION
Numbertype
Numbertype
ARRAY
LABEL
SWITCH
Specimen ::=
ALPHA
Sign
BETA
Sign
Statement ::=
Label :
Statement
Simplestatement
Conditionalstatement
Forstatement
Statementlist ::=
Statement
Statement ;
Statementlist
String ::=
" sequence of characters with quotes matched "
Subcondition ::=
Subcondition
AND
Comparison
Comparison
Switch ::=
Id
Switchdec ::=
SWITCH
Switch :=
Labellist
Tabledec ::=
TABLE
Id [
Width ,
Length ]
[Elementdeclist Elementpresetlist ] Presetlist
Tablespec ::=
TABLE
Id [
Width,
Length ] [
Elementdeclist ]
Term ::=
Factor
Term
Multoperator
Factor
Totalbits ::=
Integer
Type ::=
Specifier
TABLE
Answerspec
PROCEDURE
Typedprimary ::=
Wordreference
Partword
LOCATION (
Wordreference )
Numbertype (
Expression )
Procedurecall
Integer
Typelist ::=
Type
Type ,
Typelist
Unconditionalexpression ::=
Simpleexpression
String
Untypedprimary ::=
Real
(
Expression )
Upperbound ::=
Signedinteger
Variable ::=
Wordreference
Partwordreference
Width ::=
Integer
Wordposition ::=
Signedinteger
Wordreference ::=
Id
Id [
Index ]
Id [
Index ,
Index]
[ ]