next up previous contents
Next: Syntax of the Assertion Up: Syntax Specifications Previous: Syntax Specifications

Syntax Specifications for Telos Objects

 

<object>        --> <objectname> <objectname> <inspec> <isaspec> <withspec> <endspec>
                 |  <objectname> <inspec> <isaspec> <withspec> <endspec>

<objectname>    --> ( <objectname>  )
                 |   <label> <bindings>
                 |   <objectname>  SELECTOR1 <label>
                 |   <objectname>  SELECTOR2 <objectname>

<bindings>      -->  <empty>
                 |   [ <bindinglist>  ]

<bindinglist>   -->  <singlebinding>
                 |   <bindinglist>  , <singlebinding>

<singlebinding> -->  <objectname> / <label>
                 |   <label> : <objectname>

<inspec>        -->  <empty>
                 |   in <classlist>

<isaspec>       -->  <empty>
                 |   isA <classlist>

<classlist>     -->  <objectname>
                 |   <objectname>  , <classlist>

<withspec>      -->  <empty>
                 |   with <decllist>

<decllist>      -->  <empty>
                 |   <declaration>
                 |   <decllist> <declaration>

<declaration>   -->  <attrcatlist> <proplist>

<attrcatlist>   -->  <label>
                 |   <attrcatlist>  , <label>

<proplist>      -->  <property>
                 |   <proplist>  ; <property>

<property>      -->  <label>  : <objectname>
                 |   <label>  : <complexref>
                 |   <label>  : <enumeration>
                 |   <label>  : <pathexpression>

<complexref>    -->  <objectname> <withspec> <endspec>

<enumeration>   -->  [ <classlist>  ]

<pathexpression>-->  <objectname>  SELECTORB <pathargument>

<pathargument>  -->  <label>
                 |   <label>  SELECTORB <pathargument>
                 |   <restriction>
                 |   <restriction>  SELECTORB <pathargument>

<restriction>   -->  ( <label>  : <enumeration>  )
                 |   ( <label>  : <pathexpression>  )
                 |   ( <label>  : <objectname>  )

<endspec>       -->  end

<label>         -->  ALPHANUM
                 |   LABEL
                 |   NUMBER



ConceptBase Team