<> DIRECTORY RunRegressions, XMesaCmplr10Defs1, XMesaProcs; XMesaCmplr10b: PROGRAM IMPORTS RunRegressions, XMesaCmplr10Defs1, XMesaProcs = BEGIN XMesaCall10: PROCEDURE = { testRecord: XMesaCmplr10Defs1.SimplRecord ¬ [18,18,18.0,'r,FALSE]; iTestArray: XMesaCmplr10Defs1.iArray ¬ ALL[2]; cTestArray: XMesaCmplr10Defs1.cArray ¬ ALL[2]; rTestArray: XMesaCmplr10Defs1.rArray ¬ ALL[2.0]; charTestArray: XMesaCmplr10Defs1.charArray ¬ ALL['b]; bTestArray: XMesaCmplr10Defs1.bArray ¬ ALL[FALSE]; XMesaProcs.PrintCR[]; XMesaProcs.PrintS["ModB compiler tests."]; XMesaProcs.PrintCR; XMesaProcs.Isequal[XMesaCmplr10Defs1.i1,1,100,"Defs CONSTANT INT."]; XMesaCmplr10Defs1.i2 ¬ 1; XMesaProcs.Isequal[XMesaCmplr10Defs1.i2,1,101,"INT var."]; XMesaCmplr10Defs1.i2 ¬ XMesaCmplr10Defs1.Geti[]; XMesaProcs.Isequal[XMesaCmplr10Defs1.i2,2,102,"Imported GetINT"]; XMesaProcs.IsCardequal[XMesaCmplr10Defs1.c1,1,110,"Defs CONSTANT CARD."]; XMesaCmplr10Defs1.c2 ¬ 1; XMesaProcs.IsCardequal[XMesaCmplr10Defs1.c2,1,111,"CARD var."]; XMesaCmplr10Defs1.c2 ¬ XMesaCmplr10Defs1.Getc[]; XMesaProcs.IsCardequal[XMesaCmplr10Defs1.c2,2,112,"Imported GetCARD"]; XMesaProcs.Isrealequal[XMesaCmplr10Defs1.r1,1.0,120,"Defs CONSTANT REAL."]; XMesaCmplr10Defs1.r2 ¬ 1.0; XMesaProcs.Isrealequal[XMesaCmplr10Defs1.r2,1.0,121,"REAL var."]; XMesaCmplr10Defs1.r2 ¬ XMesaCmplr10Defs1.Getr[]; XMesaProcs.Isrealequal[XMesaCmplr10Defs1.r2,2.0,122,"Imported GetREAL"]; XMesaProcs.Ischarequal[XMesaCmplr10Defs1.char1,'a,130,"Defs CONSTANT CHARACTER."]; XMesaCmplr10Defs1.char2 ¬ 'a; XMesaProcs.Ischarequal[XMesaCmplr10Defs1.char2,'a,131,"CHARACTER var."]; XMesaCmplr10Defs1.char2 ¬ XMesaCmplr10Defs1.Getchar[]; XMesaProcs.Ischarequal[XMesaCmplr10Defs1.char2,'b,132,"Imported GetCHARACTER"]; XMesaProcs.Isboolequal[XMesaCmplr10Defs1.b1,TRUE,140,"Defs CONSTANT BOOLEAN."]; XMesaCmplr10Defs1.b2 ¬ TRUE; XMesaProcs.Isboolequal[XMesaCmplr10Defs1.b2,TRUE,141,"BOOLEAN var."]; XMesaCmplr10Defs1.b2 ¬ XMesaCmplr10Defs1.Getb[]; XMesaProcs.Isboolequal[XMesaCmplr10Defs1.b2,FALSE,142,"Imported GetBOOLEAN"]; XMesaProcs.Isequal[testRecord.anInt,18,103,"INT in REC"]; XMesaProcs.IsCardequal[testRecord.aCard,18,113,"CARD in REC"]; XMesaProcs.Isrealequal[testRecord.aReal,18.0,123,"REAL in REC"]; XMesaProcs.Ischarequal[testRecord.aChar,'r,133,"CHAR in REC"]; XMesaProcs.Isboolequal[testRecord.aBool,FALSE,143,"BOOL in REC"]; FOR i: INTEGER IN [0..5] DO XMesaProcs.Isequal[iTestArray[i],2,104,"INT in ARRAY"]; ENDLOOP; FOR i: INTEGER IN [0..5] DO XMesaProcs.IsCardequal[cTestArray[i],2,114,"CARD in ARRAY"]; ENDLOOP; FOR i: INTEGER IN [0..5] DO XMesaProcs.Isrealequal[rTestArray[i],2.0,124,"REAL in ARRAY"]; ENDLOOP; FOR i: INTEGER IN [0..5] DO XMesaProcs.Ischarequal[charTestArray[i],'b,134,"CHAR in ARRAY"]; ENDLOOP; FOR i: INTEGER IN [0..5] DO XMesaProcs.Isboolequal[bTestArray[i],FALSE,144,"BOOL in ARRAY"]; ENDLOOP; XMesaProcs.PrintS["Done."]; }; RunRegressions.RegisterTest[XMesaCall10, "test10"]; END. * XMesaCmplr10b.mesa 17-Aug-87 18:36:08 Jim Foote January 22, 1988 1:49:38 pm PST Mna, April 17, 1991 3:28 pm PDT initialization of record and arrays. integer tests. cardinal tests. real tests. character tests boolean tests. testRecord is initialized above. #TestArrays are initialized above. ÊN•NewlineDelimiter ™J™%J™)J™J˜J˜€J˜šÏk ˜ J˜J˜J˜ J˜—šÏn œ˜Jšœ0˜7—Jš˜˜Jšž œ œ˜J™$Jšœ;œ˜BJšœ(œ˜/Jšœ(œ˜/Jšœ(œ˜1Jšœ.œ˜6Jšœ(œœ˜3J˜J˜J˜,J˜J˜J™J˜DJ˜J˜:J˜0J˜AJ˜J™J˜IJ˜J˜?J˜0J˜FJ˜J™ J˜LJ˜J˜AJ˜0J˜HJ˜J™J˜RJ˜J˜HJ˜6J˜OJ˜J™Jšœ,œ˜OJšœœ˜Jšœ,œ˜EJ˜0Jšœ,œ˜MJ˜J™ J˜9J˜>J˜@J˜>Jšœ(œ˜AJ˜J™"šœœœœ˜J˜7—Jšœ˜šœœœœ˜J˜<—Jšœ˜šœœœœ˜J˜>—Jšœ˜šœœœœ˜J˜@—Jšœ˜šœœœœ˜Jšœ%œ˜@—Jšœ˜J˜J˜J˜J˜J˜3—Jšœ˜—…— ˜