Qedify
Some CM programs can be converted to read Qedit workfiles by running them through the same Qedify program used to make the MPE compilers smarter. This does not work for all programs; they must be sequential processors and must only call the intrinsics that the Qedit Interface Library “traps” (i.e., no calls to Freaddir on Qedit files and no calls to the Pascal run-time library). A number of programs have been successfully “qedified”: DBSCHEMA, Basic Interpreter, RJE, and MRJE (be certain to disable Control-Y), and Fastran.
The first step is to build a new group in your account called Q. To convert a program, copy the program file into the Pub group of your account, then
run qedify.pub.robelle,q;parm=1.
You are prompted for the file name, an option that determines how to interpret Qedit files, whether to process $include, whether to disable the Control-Y “Abort” message, and whether to always run the program in DS priority. Then Qedify modifies the program file to contain calls to the CM compiler interface.
Here is an example of Qedify:
run qedify.pub.robelle,q;parm=1 {,Q and Parm=1} What is the name of the program file? DBSCHEMA You have five options for how to interpret Qedit files for your program. Remember that there are many types of Qedit files (COB,COBX,SPL,FTN,RPG,JOB,TEXT,PASC) Which input-format option do you select? 1. Like COBOL, sequence numbers in columns 1 through 6. 2. Pascal-Fortran source, numbers in columns 73-80. 3. RPG, no sequence numbers, $control in column 6. 4. No sequence numbers at all, 80 data columns. 5. Take format from type of input file (max 80). Input-format option = 4 The Qedit library can look for and process $include and $qdebug commands. By default, it leaves this to your program. Enable $include processing? [no]: N Would you like to disable the Control-Y abort question of the Qedit interface? [no]: Y Always run this program in DS priority? [no]: N DBSCHEMA CONVERTED FROM PUB TO Q
The improved program file now resides in the Q group of your account, and has the same file name as the Pub file. To run the converted program, you must link it to the Qedit interface routines. For example:
:segmenter -sl sl.q,400,2 -buildusl tempusl,400,4 -auxusl qcompusl.pub.robelle -copy segment,qeditlib -addsl qeditlib -exit :run yourprog.q;lib=g