//SIMULA JOB ,MSGLEVEL=(1,1),REGION=1024K //* //* This job compiles and runs a simula program //* A simpler version of it is //* //* BEGIN outtext("Hello world"); outimage; END //* // EXEC PGM=SIMULA,PARM='INDENT=3,SYMBDUMP=3,RESWD=4,LIST,XREF' //* //* indent the listing 3 cols after each begin //* creation symbolic dump information //* uppercase reserved words, an first char uppercase known functions //* show aseember listing //* and cross references //* //STEPLIB DD DSN=HERC01.SIMULA.LINKLIB,DISP=SHR //SYSPRINT DD SYSOUT=A //SYSTERM DD SYSOUT=A //SYSUT1 DD UNIT=VIO,DISP=(NEW,DELETE),SPACE=(3200,(20,20)) //SYSUT2 DD UNIT=VIO,DISP=(NEW,DELETE),SPACE=(3200,(20,20)) //SYSUT3 DD UNIT=VIO,DISP=(NEW,DELETE),SPACE=(3200,(20,20)) //SYSUT4 DD UNIT=SYSDA,DISP=(NEW,DELETE),SPACE=(1024,256), // DCB=DSORG=DA //SYSGO DD DSN=&&OBJ,DISP=(NEW,PASS,DELETE), // UNIT=SYSDA,SPACE=(CYL,(1,1)), // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3120,DSORG=PS) begin class word(t); value t; text t; begin while true do begin detach; outtext(t); end end *** word ***; ref(word) h,w; h :- new word("Hello"); w :- new word("world"); resume(h); outchar(' '); resume(w); outimage; end of program //GO EXEC PGM=LOADER, // PARM='EP=ZYQENT,MAP,PRINT/DUMP=5,SYMBDUMP=6,TERM,TRACE=1' //* //* maximum postmoretm dump in case of error //* and symbolic dumps also //* all debugging output to systerm //* allow trace facility //* //SYSLIN DD DSN=&&OBJ,DISP=(OLD,DELETE) //SYSLIB DD DISP=SHR,DSN=HERC01.SIMULA.LINKLIB //SYSLOUT DD SYSOUT=A //SYSOUT DD SYSOUT=A //SYSTERM DD SYSOUT=A //