Section 4.9 BNF Notation


The Extended Backus-Naur Formalism (BNF) notation makes use of several special symbols. These are listed below, together with their meanings:

Symbol Usage

Note that in SAIFtalk end-of-line characters are insignificant and are ignored, with the following exception. In either CSN or OSN a comment line may be given starting with a // pair, followed by any number of characters, and ending with an end-of-line character. Note that characters and text are assumed to be ANSI X3.4.

Token definitions

< openDefinition>  ::= <  
< closeDefinition>  ::= >  
< openBracket>  ::= [
< closeBracket>  ::= ]
< openParen>  ::= (
< closeParen>  ::= )
< openBrace>  ::= {
< closeBrace>  ::= }
< doubleQuote>  ::= "
< setTo>  ::= :
< selector>  ::= .
< comma>  ::= ,
< chooser>  ::= |
< excludedType>  ::= ~
< forceType>  ::= ^
< wildCard>  ::= *
< lowerCaseLetter>  ::= "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"
< upperCaseLetter>  ::= "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"
< sym>  ::=  "_"
< digit>  ::= "0"|"1"|"2"|"3"|"4"
   | "5"|"6"|"7"|"8"|"9"
< otherSym>  ::=  "!"|"#"|"$"|"%"|"&"|"'"|"("|")"|"*"
   | "+"|","|"-"|"."|"/"|":"|";"|""|"="
   | ""|"?"|"@"|"["|"\"|"]"|"^"|"_"|"`"
   | "{"|"|"|"}"|"~"
< whitespace>  ::=  " "
< letter>  ::= < upperCaseLetter>  < lowerCaseLetter>  
< character>  ::= < letter> 
   | < digit>  
   | < sym> 
< textString ::= < doubleQuote>  < text>  < doubleQuote> 
< text>  ::= < character>  | < whitespace>  | < otherSym> 
   { { < character>  } {whitespace }
    { < otherSym>  } }
< lowerName>  ::= < lowerCaseLetter>  {< character> }
< upperName ::= < upperCaseLetter>  {< character> }
< unsignedInteger>  ::= < digit>   {< digit> }
< integer ::= ["+"|"-"]  < unsignedInteger> 
< exponent>  ::= "E"  < integer> 
< float>  ::= (["+"|"-"]{< digit> }"."< digit> 
  {< digit> }[< exponent> ]) 
   | (["+"|"-"]< digit> {< digit> }"."
  {< digit> }[< exponent>  )



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