Formattering av OO termer
Termer i objekt-orienterte systemer kan fort bli uleselige hvis de ikke blir vist p? en "fin" m?te. Jeg har et litt grovt forslag til hvordan man f?r man fin output p? OO termer. Legg til f?lgende tre "format (...)" attributter til modulen CONFIGURATION nederst i filen "prelude.maude", som hos meg da blir:
mod CONFIGURATION is
sorts Attribute AttributeSet .
subsort Attribute < AttributeSet .
op none : -> AttributeSet [ctor] .
op _,_ : AttributeSet AttributeSet -> AttributeSet
[format (o m nssssssso o) ctor assoc comm id: none] .
sorts Oid Cid Object Msg Portal Configuration .
subsort Object Msg Portal < Configuration .
op <_:_|_> : Oid Cid AttributeSet -> Object [ctor object
special (
id-hook ObjectConstructorSymbol
op-hook attributeSetSymbol (_,_ : AttributeSet AttributeSet ~> AttributeSet))
format (b r b g b nssssssso b o)] .
op none : -> Configuration [ctor] .
op __ : Configuration Configuration -> Configuration [format (o n o)
ctor config assoc comm id: none] .
op <> : -> Portal [ctor portal] .
op getClass : Object -> Cid .
eq getClass(< O:Oid : C:Cid | A:AttributeSet >) = C:Cid .
endm
Dette er i Maude 3.5. Man kan sikkert pr?ve seg frem til formattering man selv synes er finere. Hvis din prelude.maude fil ser annerledes ut, bare legg til de tre "format (...)" deklarasjonene til de samme funksjonsymboldeklarasjonene.