Rosemary>RoseGrammar.Tioga
Last Edited by: Spreitzer, March 14, 1984 10:50:38 am PST
Terminals are in bold face; syntactic categories and meta-characters are plain.
Syntactic categories whose names begin with "Cedar" are from the Cedar language, unless otherwise noted.
CompilationUnit: ModuleStatement ( ; ModuleStatement)*
ModuleStatement: Reference | ChildrenCedar | CellDef
All of the References must come before any of the others.
Reference: (Directory | Open | Imports | Library) IDList
IDList: ID ( , ID)*
ChildrenCedar: CEDAR <children:> CedarDeclarationSeries CedarStatementSeries
CellDef: IDList : CellConstructor
CellConstructor: CELL CellInterface CellStatement* ENDCELL
CellInterface: NULL | [ [Port ( , Port)*] ]
Port: IDList DirectionFlag NodeTypeConstructor Switch*
DirectionFlag: < | = | >
Switch: - ID
NodeTypeConstructor: ID [[ [ArgList] ]]
ArgList: Arg ( , Arg)*
Arg: ID | CedarRopeLiteral | CedarIntegerLiteral
CellStatement: StateDef | InitDataDef | DefaultInitDef | Initializer | Expansion | Tester | Behavior
StateDef: (State | InittableState) <children:> CedarVariantFieldList
InitDataDef: InitData <children:> CedarVariantFieldList
DefaultInitDef: (DefaultInitExpr CedarExpressionTerminatedWithVerticalBar) | (DefaultInitData <children:> CedarComponentList)
CedarExpressionTerminatedWithVerticalBar:
A Cedar expression, with vertical bars doubled, followed by a vertical bar.
Example:
"This is a rope literal containing a single `||' (vertical bar)" |
Initializer: Initializer <children:> CedarDeclarationSeries CedarStatementSeries
Tester: (BlackBoxTest | TestStateToo) <children:> CedarDeclarationSeries CedarStatementSeries
Behavior: EvalName <children:> CedarDeclarationSeries CedarStatementSeries
EvalName: ValsChanged | InitQ | PropQ | InitUD | PropUD | FinalUD | EvalSimple | FindVicinity
Expansion: Expand ExpansionStatement ( ; ExpansionStatement)*
ExpansionStatement: NodeInstantiation | CellInstantiation | ChildrenCedar
NodeInstantiation: IDList : NodeTypeConstructor [ ← RopeLiteral ]
CellInstantiation: IDList : CellInstanceConstructor
CellInstanceConstructor: ID [[ [ArgList] ]] [ InitDataConstructor ]
InitDataConstructor: init CedarExpressionTerminatedWithVerticalBar