| |
September 2002 PL/I, das Spezifikation Abbildet: Diagramm für Valuetypes 2-15 2 Da PL/I nicht das Konzept der Mitglieder der allgemeinen und privaten Daten stützt, sind alle Daten gespeichert innerhalb des PL-/ivaluetypezeigers. Dieses umfaßt den Bezugszählimpuls für valuetype sowie den Inhalt der privaten und allgemeinen Datenmitglieder für valuetype. Jedes valuetypeverfahren nimmt einen valuetypezeiger als sein erster Parameter für Extrahieren/Einsetzen von Daten. Der andere Parameter soll verwendetes/Satz die Daten in erhalten gegebenes valuetype und dieses wird zum Verfahren als die Adresse des Verfahrens geführt Datenstruktur. Dieses wird im Beispiel veranschaulicht, das unten gegeben wird. 2,12,2 DatencBeispiel Valuetype Die umreiß zu einer PL-/iversion eines valuetype wird unten gegeben. Ein kompletteres Beispiel wird in Abschnitt 2,12,4, "Beispiel Valuetype," auf Seite 2-16, die Version gezeigt ist hier, die oben genannten Beschreibungen in Kontext zu setzen. Das ' %include VALUEBASE; ' Aussage wird für jedes valuetype erzeugt und der Inhalt von diesem schließt Akte ist mit ein beschrieben unter Abschnitt 2,12,5, "generische Verfahren Valuetype," auf Seite 2-19. valuetype Val { allgemeines Val t; privates langes v; allgemeine Zeichenkette W; }; /* PL-/i*/ %include VALUEBASE; Position von allgemeinem valuetypeprocs*/ vt_Val_get_t: PROC(vtptr, p_vtargs); ... ENDENVT_Val_get_t; vt_Val_set_t: PROC(vtptr, p_vtargs); ... vt_Val_get_w: PROC(vtptr, p_vtargs); ... vt_Val_set_w: PROC(vtptr, p_vtargs); ... vt_Val_init: PROC(vtptr); ... vt_Val_delete: PROC(vtptr); ... dcl 1 Val_t_vtype gegründet, PTRINIT(SYSNULL() mit 3 Resultaten); dcl 1 Val_w_vtype gegründet, type(string)init(sysnull() mit 3 Resultaten); dcl 1 Val_vtype gegründet, PTRINIT(SYSNULL() mit 3 ctl); refct 3 regelte bin(31) init(0), |  |
|
| |
|
|