Question & Answer
Question
What is the procedure to change the parameters to compilers, preprocessors, or other translators defined in SCLM?
Answer
There are several ways to change a parameter to a translator.
Update the options in the language definition. This would change the parameters for everyone that uses that translator. Find the FLMTRNSL statement in the language definition, and update the OPTIONS= keyword.
--COBOL 5 INTERFACE-- * FLMTRNSL CALLNAM='COBOL 5 COMPILER', C FUNCTN=BUILD, C COMPILE=IGYCRCTL, C GOODRC=4, C PORDER=3, C VERSION=5.2, C DSNAME=COBOL.V5R2M0.SIGYCOMP, C OPTIONS=(XREF(FULL),APOST,NODYNAM,LIST,NONUMBER,NOSEQ,REC GION=200M)
Add parameters to an archdef. You can use the PARM keyword to add parameters to all the build translators in a language. For example, if you have a language that does a compile and a link edit, you could have a PARM statement like this:
INCLD COB91994 SOURCE
PARM RMODE(24),AMODE(31)
LOAD COB91994 LOAD
LMAP COB91994 LMAP
Since the RMODE and AMODE parameters can be used by both the compiler and the binder, PARM is a good choice.
Add specific parameters to a translator using PARMx keywords. If you have parameters that you want to use for only one of the translators, you can add a PARMx keyword to the FLMTRNSL statement in the language definition, like this:
FLMTRNSL CALLNAM='C/C++ COMPILE', C FUNCTN=BUILD, C COMPILE=CCNDRVR, C GOODRC=4, C PORDER=3, C PARMKWD=PARM1, C OPTIONS=(SOURCE,LIST,MARGINS(1,80),NOSEQ,LO,RENT, C LOC(EN_US.IBM-037))
Then the archdef for the build would need a matching PARM1, like this:
SINC PMR80359 C * INPUT TO THE COMPILER
OBJ PMR80359 OBJ * OBJECT
OUT1 PMR80359 DBRMLIB * SQL OUTPUT
PARM1 CRUN='MSGF(CEEOUT),RPTO(ON)'
Using the PARMx keywords allows flexibility for the developers to change the compile parameters in the archdefs as needed.
Was this topic helpful?
Document Information
Modified date:
28 June 2017
UID
dwa1383767