1
2
|
PACKETobjektDEFINES OBJEKT,variable,ergebnis,parameter,formel,zeit,nil,:=,=,typ,typbezeichner,typkennzeichen,new,name,variablenname,ergaenzungsvariablenname,parametername,formelname,langname,kurzname,ausdruck,elanname:LETtypbezeichnervariable=511,typbezeichnerergebnis=512,typbezeichnerparameter=513,typbezeichnerformel=514,typbezeichnerzeit=515;LETelannamederzeit="zeit";TYPE TYP=INT;TYPE OBJEKT=STRUCT(TYPtyp,TEXTlangname,kurzname,elanname);TYP CONSTnil:=0,variable:=1,ergebnis:=2,parameter:=3,formel:=4,zeit:=5;OP:=(TYP VARt,INT CONSTi):CONCR(t):=iENDOP:=;OP:=(TYP VARl,TYP CONSTr):CONCR(l):=CONCR(r)ENDOP:=;BOOL OP=(TYP CONSTl,TYP CONSTr):CONCR(l)=CONCR(r)ENDOP=;TEXT PROCtypbezeichner(OBJEKT CONSTobj):TYP VARobjekttyp:=obj.typ;IFobjekttyp=variableTHENanwendungstext(typbezeichnervariable)ELIFobjekttyp=ergebnisTHENanwendungstext(typbezeichnerergebnis)ELIFobjekttyp=parameterTHENanwendungstext(typbezeichnerparameter)ELIFobjekttyp=formelTHENanwendungstext(typbezeichnerformel)ELIFobjekttyp=zeitTHENanwendungstext(typbezeichnerzeit)ELSE""FI END PROCtypbezeichner;TEXT PROCtypkennzeichen(OBJEKT CONSTobj):TYP VARobjekttyp:=obj.typ;IFobjekttyp=variableTHEN"v"ELIFobjekttyp=ergebnisTHEN"e"ELIFobjekttyp=parameterTHEN"p"ELIFobjekttyp=formelTHEN"f"ELIFobjekttyp=zeitTHEN"z"ELSEwaagerechtFI END PROCtypkennzeichen;OBJEKT PROCnew(TYP CONSTtyp):OBJEKT VARo;IFtyp=zeitTHENnewtimeELSE CONCR(o.typ):=CONCR(typ);o.langname:="";o.kurzname:="";o.elanname:="";oFI END PROCnew;OBJEKT PROCnewtime:OBJEKT VARo;CONCR(o.typ):=CONCR(zeit);o.langname:=anwendungstext(typbezeichnerzeit);o.kurzname:=o.langname;o.elanname:=elannamederzeit;oEND PROCnewtime;OP:=(OBJEKT VARl,OBJEKT CONSTr):CONCR(l):=CONCR(r);END OP:=;TEXT PROCname(OBJEKT CONSTo):o.langnameEND PROCname;TYP PROCtyp(OBJEKT CONSTo):o.typEND PROCtyp;TEXT PROClangname(OBJEKT CONSTo):o.langnameEND PROClangname;TEXT PROCkurzname(OBJEKT CONSTo):o.kurznameEND PROCkurzname;TEXT PROCausdruck(OBJEKT CONSTo):o.kurznameEND PROCausdruck;TEXT PROCelanname(OBJEKT CONSTo):o.elannameEND PROCelanname;PROCname(OBJEKT VARo,TEXT CONSTt):o.langname:=tEND PROCname;PROCvariablenname(OBJEKT VARo,TEXT CONSTl,k,e):IFo.typ=variableTHENo.langname:=l;o.kurzname:=k;o.elanname:=eFI END PROCvariablenname;PROCergaenzungsvariablenname(OBJEKT VARo,TEXT CONSTl,k,e):IFo.typ=ergebnisTHENo.langname:=l;o.kurzname:=k;o.elanname:=eFI END PROCergaenzungsvariablenname;PROCparametername(OBJEKT VARo,TEXT CONSTl,e):IFo.typ=parameterTHENo.langname:=l;o.elanname:=eFI END PROCparametername;PROCformelname(OBJEKT VARo,TEXT CONSTl,e,a):IFo.typ=formelTHENo.langname:=l;o.elanname:=e;o.kurzname:=aFI END PROCformelname;END PACKETobjekt;
|