I haven't done anything with PL/I on MUSIC but from my experience
with other languages on MUSIC and reading the online help (HELP /LOAD
and HELP LKED), the following is my guess at what you need:
For compilation, you need a line like this to generate the object file:
/FILE SYSPUNCH NAME(PLITEST-2.OBJ) NEW(REPLACE)
(It will work if you call the object file something.lmod but it will
end up causing confusion!)
For link edit, I think you need a file something like this for example:
/FILE LMOD NAME(PLITEST-2.LMOD) NEW(REPLACE) LRECL(128) RECFM(F)
/file sublibos pds(*pl1f,*mus,*os)
/load lked
/job map,nogo,print,stats,mode=os,name=PLITEST2
/INCLUDE PLITEST-2.OBJ
Be sure not to have /JOB before /LOAD in any of the files
Finally, to execute the program link edited above, use a file something
like this:
/FILE LMOD NAME(PLITEST-2.LMOD) SHR
/LOAD XMPLI
PLITEST2
A=1 B=2 C=3;
I don't know enough PL/I to test this so it's just guesswork.
It might be useful as a starting point.
Regards,
Peter Coghlan
toggle quoted message
Show quoted text
HI ! I was working? on some batches to compile PL/I programs.
My first approach, was very primitive, a batch with all sources and data, like the time of punched cards, and it worked well:
/SYS REGION=500
/FILE SYSPRINT N(PLITEST-2.PRN)? NEW(REPL) LRECL(133)
/COM /file SYSPUNCH N(PLITEST-2.LMOD) NEW(REPL)
/COM /FILE SYSUT3? ?N(PLITEST-2.SUT3) NEW(REPL) LRECL(80)
/INC PL1F
/OPT NOSOURCE,DECK,NONEST,NOATTR
/INC PLITEST-2.PLI
/DATA
A=1 B=2 C=3;
/END
Then I made three different batches, one to compile, other to linkedit. and other to run, that worked OK.
Since I Intend to compile several modules on dis, I wrote a jcl batch, to compile, ling and run, in separe sections, but it give some error.
Thing is, the compiler does not stop, and keeps reading JCL statements as part of the program:
PLITEST-2 is the compiler Output and MYPROG.LMOD is the loadable module to be run.
(compilation part)
/SYS REGION=500
/FILE SYSPRINT N(PLITEST-2.PRN)? NEW(REPL) LRECL(133)
/file SYSPUNCH N(PLITEST-2.LMOD) NEW(REPL)
/INC PL1F
/OPT NOSOURCE,DECK,NONEST,NOATTR,PRINT
/JOB NOGO
/INC PLITEST-2.PLI
(LINKEDIT PART)
/JOB
/file lmod n(MYPROG.LMOD) NEW(REP) lr(128) recfm(f) space(100)
/file sublibos pds(*pl1f,*mus,*os)
/load lked
/job map,nogo,print,stats,mode=os,name=MYPROG
.org 4a00
/INC PLITEST-2.LMOD
(Execution part)
/JOB
/inc xmpl1f
MYPROG n(MYPROG.lmod)
(DATA SECTION)
A=1? B=2? C=3 ;
/END
Can you give me any suggestion gentlemen ?
--
Carlos
Argentina