Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!rutgers!labrea!jade!ucbvax!DB0TUI11.BITNET!VOSSLOH From: VOSSLOH@DB0TUI11.BITNET (Klaus Vossloh) Newsgroups: comp.lang.modula2 Subject: Re: Good Modula Style Message-ID: Date: Mon, 16-Nov-87 08:07:02 EST Article-I.D.: DB0TUI11.INFO-M2%87111613494632 Posted: Mon Nov 16 08:07:02 1987 Date-Received: Wed, 18-Nov-87 00:53:07 EST Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: Info-Modula2 Distribution List Organization: The ARPA Internet Lines: 84 MODULE LAYOUT; (*---------------------------------------------*) (* We made good experiences with the following *) (* layout in combination with *) (* grouping related objects and algorithm. *) (* The layout is not very compact but seems to*) (* be readable. *) (*---------------------------------------------*) FROM PCIO IMPORT Con, WriteString; CONST Co1 = 12; Co2 = 17; TYPE Ty1 = (El1, El2); Ty2 = (El3, El4); VAR Va1 : Ty1; Va2 : Ty2; PROCEDURE Pr1(Pa1 : Ty1; Pa2 : Ty2); CONST Co3 = 24; Co4 = 37; TYPE Ty3 = (El5, El6); Ty4 = (El7, El8); VAR Va3 : Ty3; Va4 : Ty4; PROCEDURE Pr2(Pa3 : Ty3; Pa4 : Ty4); CONST Co5 = 98; Co6 = 45; TYPE Ty5 = (El9, El10); Ty6 = (El11, El12); VAR Va5 : Ty5; Va6 : Ty6; Va7 : ARRAY [1..4711] OF REAL; PROCEDURE Pr3(Pa5 : Ty5; Pa6 : Ty6); VAR I, J : CARDINAL; BEGIN (* Pr3 *) FOR I:=1 TO 12 BY 2 DO REPEAT WHILE FALSE DO IF TRUE THEN J := I + 1 ELSIF NOT TRUE THEN J := I - 1; RETURN ELSE WriteString(Con, "Aha.$"); Va7[13] := 1.0 END (* If *) END (* While *); Pr1(Va1, Va2) UNTIL TRUE END (* For *) END Pr3; BEGIN (* Pr2 *) END Pr2; BEGIN (* Pr1 *) END Pr1; BEGIN (* LAYOUT *) END LAYOUT.