型の記法
内部部分型化 ::= WITH COMPONENTS 単一型制限 | WITH COMPONENTS 複数型制限
単一型制限 ::= 部分型仕様
複数型制限 ::= { 型制限 } | { ... , 型制限 }
型制限 ::= 名前付き制限リスト
名前付き制限リスト ::= 名前つき制限 | 名前つき制限 , 名前付き制限リスト
名前付き制限 ::= 識別子 制限 | 識別子
制限 ::= 値制限 存在制限
値制限 ::= 部分型仕様 | empty
存在制限 ::= PRESENT | ABSENT | empty
PRESENT : 対応する要素値が存在
ABSENT : 対応する要素値が存在しない
empty : { 型制限 }の場合、PRESENTと同じ意味
{ ... , 型制限 }の場合、特別な制限はない
型の記法の例
Envelope ::= SET {
typeA TypeA,
typeB TypeB OPTIONAL,
typeC TypeC OPTIONAL
}
ABEnvelope ::= Envelope ( WITH COMPONENTS {
... ,
typeB PRESENT,
typeC ABSENT })
ACEnvelope ::= Envelope ( WITH COMPONENTS {
... ,
typeB ABSENT,
typeC PRESENT })
ABEnvelope ::= Envelope ( WITH COMPONENTS { typeA, typeB } )
ACEnvelope ::= Envelope ( WITH COMPONENTS { typeA, typeC } )
0 件のコメント:
コメントを投稿