SiroccoCourierSyntax.tioga
Copyright © 1986 by Xerox Corporation. All rights reserved.
Bhargava, August 13, 1986 0:17:14 am PDT
Bill Jackson (bj) August 15, 1986 3:18:40 am PDT
Program::= identifier : PROGRAM numberD VERSION numberD = BEGIN <DependencyList> <DeclarationList> END.
DependencyList::= <EMPTY> |
DEPENDS UPON <ReferencedProgramList> ;
ReferencedProgramList::= <ReferencedProgram> |
<ReferencedProgramList> , <ReferencedProgram>
ReferencedProgram::= identifier ( numberD ) VERSION numberD
DeclarationList::= <EMPTY> |
<DeclarationList> Declaration
Declaration::= identifier : TYPE = <Type> |
identifier : <Type> = Constant ; |
identifier : <Type> = identifier;
Type::= SimpleType |
ConstructedType
SimpleType::= PredefinedType |
ReferencedType
PredefinedType::= BOOLEAN |
CARDINAL |
LONG CARDINAL |
INTEGER |
LONG INTEGER |
STRING |
UNSPECIFIED |
SOURCE |
SINK
ConstructedType::= { <CorrespondenceList> } |
ARRAY <MandatoryNumber> OF <SimpleType> |
RECORD [ <FieldList> ] | RECORD [ ] |
CHOICE <ReferencedType> OF { <CandidateList> } |
PROCEDURE <ArgumentList> <ResultList> <ErrorList> |
ERROR <ArgumentList>
ReferencedType::= identifier |
identifier . identifier
CorrespondenceList::= <Correspondence> |
<Correspondence> , <CorrespondenceList>
Correspondence::= identifier ( <MandatoryNumber> )
OptionalNumber::= <EMPTY> |
<Constant> |
identifier
MandatoryNumber::= <Constant> |
identifier
CandidateList::= <Candidate> |
<Candidate> , <CandidateList>
Candidate::= <NameList> => <SimpleType> |
<NameList> ( <number> ) => <SimpleType>
ArgumentList::= <EMPTY> |
[ <FieldList> ] |
[ ]
ResultList::= <EMPTY> |
RETURNS [ <FieldList> ] |
RETURNS [ ]
ErrorList::= <EMPTY> |
REPORTS [ <NameList> ]
FieldList::= <Field> |
<Field> , <FieldList>
Field::= <NameList> : <SimpleType>
Constant ← <PredefinedConstant> |
<ConstructedConstant> |
identifier <Constant> |
identifier identifier |
identifier. identifier
PredefinedConstant::= TRUE |
FALSE |
<number> |
- <number> |
<Rope>
ConstructedConstant::= [ <ElementList> ] |
[ <ComponentList> ] |
[]
ElementList::= <Constant> |
<Constant> , <ElementList> |
identifier |
identifier , <ElementList>
ComponentList::= <Component> |
<Component> , <ComponentList>
Component::= <NameList> : <Constant> |
<NameList> : identifier
NameList::= identifier |
identifier , <NameList>
number::= numberD |
numberO |
numberH
EMPTY::=