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> )