|Lemon Home Page|
About PIML|
PIML Grammar|
Structure の文法
Structure ::
notes: Notes
relations: Relations;
cloneables: Cloneables;
roles: Roles;
layout: LayoutInfo
<structure>
notes
relations
roles
layout
</structure>
Roles :: Role* ::
<roles>
role ...
</roles>
Role ::
syslabel: Identifier;
abstract, croneable: Boolean;
notes: Notes; operations: Operations;
<role syslabel= syslabel
abstract= abstract
croneable= croneable>
notes
operations
</role>
Relations :: Relation* ::
<relations>
relation ...
</relations>
Relation ::
Inheritance
$|$ Aggregate
$|$ Reference
$|$ Creation
Inheritance ::
target, origin: Identifier
<inheritance target= target
origin= origin >
Aggregate ::
target, origin,
syslabel: Identifier;
plural: Boolean
<aggregate syslabel= syslabel
target= target
origin= origin
plural= true
>
Reference ::
target, origin,
syslabel: Identifier;
croneable: Boolean
<reference syslabel= syslabel
target= target
origin= origin
croneable= croneable
>
Creation ::
target, origin: Identifier
<creation target= target
origin= origin >
Cloneables :: Cloneable* ::
<cloneables>
cloneable ...
</cloneables>
Cloneable ::
CloneElem*
CloneElem ::
type, id: Identifier
<celem type= type id= id>
Operations :: Operation* ::
<operations>
operation ...
</operations>
Operation ::
syslabel, retval: Identifier;
abstract, croneable: Boolean;
access: AccessSpec; notes: Notes;
code: PseudoCode;
<operation syslabel= syslabel
retval= retval
access access
abstract= abstract
croneable= croneable
>
notes
code
</operation>
AccessSpec ::
spec: S
"spec"
Boolean ::
bool: B
"bool"
Mika Ohtsuki <mika@db.is.kyushu-u.ac.jp>
Last modified: Tue Jan 27 18:37:12 JST 1998