Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / vax / mimlib / jcl.mud
diff --git a/mim/development/mim/vax/mimlib/jcl.mud b/mim/development/mim/vax/mimlib/jcl.mud
new file mode 100644 (file)
index 0000000..2fad220
--- /dev/null
@@ -0,0 +1,37 @@
+<PACKAGE "JCL"> 
+
+<ENTRY JCLARGS? READARGS> 
+
+<DEFINE HNDLR (IGNORE)
+  <GUNASSIGN SAVED-JCL>>
+
+<COND (<AND <NOT <GASSIGNED? JCL-HANDLER>>
+           <GASSIGNED? HNDLR>
+           <LOOKUP "INTERRUPT" <ROOT>>
+           <GASSIGNED? <LOOKUP "INTERRUPT" <ROOT>>>
+           <==? <TYPEPRIM FIX> FIX>>
+       <ON <SETG JCL-HANDLER <HANDLER "SAVE" ,HNDLR>>>)>
+
+<DEFINE GETJCL ("AUX" JCL)
+  #DECL ((JCL) <OR FALSE VECTOR>)
+  <COND (<GASSIGNED? SAVED-JCL>
+        ,SAVED-JCL)
+       (<SET JCL <CALL GETS ARGV>>
+        <MAPR <>
+          <FUNCTION (V)
+            <1 .V <I$STD-STRING!-INTERNAL <1 .V> T>>>
+          .JCL>
+        <SETG SAVED-JCL .JCL>)>>
+
+<DEFINE JCLARGS? ("AUX" (JCL <GETJCL>))
+  <COND (<OR <NOT .JCL>
+            <L? <LENGTH .JCL> 2>>
+        <>)
+       (T)>>
+
+<DEFINE READARGS ("AUX" (JCL <GETJCL>))
+  #DECL ((JCL) <OR FALSE <VECTOR [REST STRING]>>)
+  <COND (<AND .JCL <G? <LENGTH .JCL> 1>>
+        <REST .JCL>)>>
+
+<ENDPACKAGE>