Section 4.11 OSN BNF


The BNF of OSN follows.

< instances>  ::= < tuple>  {< tuple> }
< expression>  ::= < integer> 
   | < float> 
   | < testString> 
   | < enumTag> 
   | true
   | false
   | nil
   | < tuple> 
   | < multiset> 
   | < list> 
   | < set> 
   | < isolist> 
   | < isoset> 
   | < relation> 
   | < identifier> 
< attribute>  ::= < lowerName>  < setTo>  < expression> 
< attributeList>  ::= < attribute>  {< attribute> }
< expressionList>  ::= < expression>  {< expression> }
< tupleList>  ::= < tuple>  {< tuple> }
< openTuple>  ::= < openParen> 
< closeTuple>  ::= < closeParen> 
< openMultiset>  ::= Multiset < openBrace> 
< closeMultiset>  ::= < closeBrace> 
< openList>  ::= List < openBrace> 
< closeList>  ::= < closeBrace> 
< openSet ::= Set < openBrace> 
< closeSet>  ::= < closeBrace> 
< openIsoList>  ::= IsoList < openBrace> 
< closeIsoList>  ::= < closeBrace> 
< openIsoSet>  ::=  IsoSet < openBrace> 
< closeIsoSet>  ::= < closeBrace> 
< openRelation>  ::= Relation < openBrace> 
< closeReation>  ::= < closeBrace> 
< tuple>  ::= < upperName>  < openTuple>  < attributeList>  < closeTuple> 
< multiset>  ::= < openMultiset>  < expressionList>  < closeMultiset> 
< list>  ::= < openList>  < expressionList>  < closeList> 
< set>  ::= < openSet>  < expressionList>  < closeSet> 
< isolist>  ::= < openIsoList>  < expressionList>  < closeIsoList> 
< isoSet>  ::= < openIsoSet>  < expressionList>  < closeIsoSet> 
< relation>  ::= < openRelation>  < tupleList>  < closeRelation> 
< identifier>  ::= * (< integer>  | < textString>  )



Links to the SAIF 3.1 Specification document and the complete SAIF class list