; $GBLINI macro modified for generating "definition files": ; calls to JL_EMIT added ; [after STARLET.MLB, $GBLINI unchanged since VMS V3.5] ; ; original idea: w.j.m. may 85 (VMS V3.5) ; change nov 85 wjm: generate fortran output directly via .PRINT ; mod 07-apr-1987 wjm: use separate JL_EMIT macro (after Jerry Leichter) ; chg 26-nov-1990 wjm: make generic by splitting off JL_EMIT ; .MACRO $GBLINI GBL=LOCAL .IF IDN .MACRO $DEF SYM,ALLOC,SIZ .IIF NB,SYM, SYM:: .IIF NB,SYM, jl_emit SYM,\SYM .IIF NB,ALLOC, ALLOC SIZ .ENDM $DEF .MACRO $EQU SYM,VAL SYM==VAL jl_emit SYM,\SYM .ENDM $EQU .MACRO $VIELD1 MOD,SEP,SYM,SIZ,MSK SIZ...=1 .IIF NB,SIZ, SIZ...=SIZ .IF NB,SYM MOD'SEP'V_'SYM==BIT... jl_emit MOD'SEP'V_'SYM,\MOD'SEP'V_'SYM .IIF NB,SIZ, MOD'SEP'S_'SYM==SIZ .IIF NB,SIZ, jl_emit MOD'SEP'S_'SYM,\MOD'SEP'S_'SYM .IIF NB,MSK, MOD'SEP'M_'SYM==<<<1@SIZ...>-1>@BIT...> .IIF NB,MSK, jl_emit MOD'SEP'M_'SYM,\MOD'SEP'M_'SYM .ENDC BIT...=BIT...+SIZ... .ENDM $VIELD1 .IFF .IIF DIF ,.ERROR ;ARG MUST BE "GLOBAL","LOCAL",OR NULL .MACRO $DEF SYM,ALLOC,SIZ .IIF NB,SYM, SYM: .IIF NB,SYM, jl_emit SYM,\SYM .IIF NB,ALLOC, ALLOC SIZ .ENDM $DEF .MACRO $EQU SYM,VAL SYM=VAL jl_emit SYM,\SYM .ENDM $EQU .MACRO $VIELD1 MOD,SEP,SYM,SIZ,MSK SIZ...=1 .IIF NB,SIZ, SIZ...=SIZ .IF NB,SYM MOD'SEP'V_'SYM=BIT... jl_emit MOD'SEP'V_'SYM,\MOD'SEP'V_'SYM .IIF NB,SIZ, MOD'SEP'S_'SYM=SIZ .IIF NB,SIZ, jl_emit MOD'SEP'S_'SYM,\MOD'SEP'S_'SYM .IIF NB,MSK, MOD'SEP'M_'SYM=<<<1@SIZ...>-1>@BIT...> .IIF NB,MSK, jl_emit MOD'SEP'M_'SYM,\MOD'SEP'M_'SYM .ENDC BIT...=BIT...+SIZ... .ENDM $VIELD1 .ENDC .ENDM $GBLINI