Hacker News new | ask | show | jobs
by lboc 646 days ago
Seems to be replicating mainframe JCL and in-stream data sets. Processing instructions and input are combined in a single file. Used all the time for compiling, running utilities etc.

I'm guessing that this (IBM) example is setting the delimeter to '@@' to avoid problems with the comment - JCL also understands the '/*' sequence. I've not seen it used with other languages (Cobol etc.)

    //jobname    JOB   acctno,name...
    //COMPILE    EXEC  PGM=CCNDRVR,
    // PARM='/SEARCH(''CEE.SCEEH.+'') NOOPT SO OBJ'
    //STEPLIB    DD    DSNAME=CEE.SCEERUN,DISP=SHR
    //           DD    DSNAME=CEE.SCEERUN2,DISP=SHR
    //           DD    DSNAME=CBC.SCCNCMP,DISP=SHR
    //SYSLIN     DD    DSNAME=MYID.MYPROG.OBJ(MEMBER),DISP=SHR
    //SYSPRINT   DD    SYSOUT=*
    //SYSIN      DD    DATA,DLM=@@
      #include <stdio.h>
      ⋮
      int main(void)
      {
      /*  comment   */
      ⋮
      }
    @@
    //SYSUT1     DD    DSN=...
    ⋮
    //*
https://en.wikipedia.org/wiki/Job_Control_Language#In-stream...*