$JOB MARK EXAMPLES 1200 $! $! ON ERROR CONTINUE $! $! $! THIS BATCH JOB DEMONSTRATES THE USE OF SOME TCS MACROS VIA $! A FORTRAN INTERFACE. THE EXAMPLES ARE COMPLETELY ARTIFICIAL, $! THEIR ONLY GOAL BEING TO SHOW AS MANY MACROS AS POSSIBLE IN AS $! SHORT SPACE AS POSSIBLE. THE JOB HAS TWO SEPARATE EXAMPLES: $! 1. SUBTASKING $! 2. CHAINING AND SENDING/RECEIVING. $! $! THIS BATCH STREAM WAS ALLOCATED USING: $! SCI> ALLOCATE TERMINAL/RUN/BATCH/MAX:3 BA0 PDS $! $! USER 'MARK' HAS A UPF ENTRY CONTAINING (INTER ALIA): $! TP1 = 6 $! TP2 = 177777 $! MTS = 3 $! $! FIRST ASSEMBLE SUBTASK $RENAME SUBTAS.MAC SUBTASK.MAC $MACRO SUBTASK $! $! S U B T A S K I N G $! - - - - - - - - - - $! $! IN THIS EXAMPLE, 'EXAMPLE1' INITIATES A SUBTASK CALLED $! 'SUBTASK1', WHICH FIRST SUSPENDS ITSELF THEN WAITS FOR $! EVENT FLAG #1 THEN EXITS. 'EXAMPLE1' DETECTS THE SUSPENSION, $! RESUMES 'SUBTASK1' AND SETS ITS EVENT FLAG #1. IT THEN WAITS $! FOR THE EXIT FLAG. $! $! FIRST COMPILE AND BUILD THE TASKS $! $RENAME EXMPL1.FTN EXAMPLE1.FTN $FORTRAN/LIST EXAMPLE1 $RENAME SUBTS1.FTN SUBTASK1.FTN $FORTRAN/LIST SUBTASK1 $LINK EXAMPLE1 SUBTASK $LINK SUBTASK1 $! $! $! NOW RUN EXAMPLE1 $! $RUN EXAMPLE1 $! $! $! $! C H A I N I N G & S E N D I N G / R E C E I V I N G $! - - - - - - - - - - - - - - - - - - - - - - - - - - - - $! $! IN THIS EXAMPLE, 'EXAMPLE2' INITIATES A SUBTASK CALLED $! 'SUBTASK2' AND DECLARES A CHAIN TASK CALLED 'CHAIN'. $! 'EXAMPLE2' SENS MESSAGES TO BOTH OTHER TASKS. 'SUBTASK2' $! SENDS THE MESSAGE BACK. $! $! $! FIRST COMPILE AND BUILD THE TASKS $! $RENAME EXMPL2.FTN EXAMPLE2.FTN $FOR/LIST EXAMPLE2 $RENAME SUBTS2.FTN SUBTASK2.FTN $FOR/LIST SUBTASK2 $FOR/LIST CHAIN $LINK EXAMPLE2 SUBTASK $LINK SUBTASK2 SUBTASK $LINK CHAIN SUBTASK $! $! $! NOW RUN EXAMPLE2 $! $RUN EXAMPLE2 $! $! $EOJ