Well, on the off chance that anybody is interested, my creating a JCL parser using Flex and Bison is coming along. My implementation is to read a single JOB and create XML output. Parts of my code are "crufty" because JCL is "crufty". But whoever designed the IF statement needs to be shot! Almost every other JCL statement is in three parts: the label (jobname, stepname, ddname, etc), the verb (JOB, EXEC, DD), then the operands for that verb. The only exceptions are PEND, ELSE, ENDIF, and IF. Now, PEND, ELSE, and ENDIF are easier because they don't have any operands, only comments. But the IF statement! It has the keyword THEN in the area which is the start of comments for all other JCL statements. And my lexer is designed to automatically remove comments. So the THEN part of the IF disappears. For now, I plan to allow the lexer to remove the THEN and just assume it is there. If I can figure out a way to make the lexer EASILY have a special case for the IF statement, then I'll test for it. Since this particular implementation is to encode JCL into XML, then THEN keyword is unneeded. It only exists on the IF statement and adds nothing to the sematics. It is likely there just to make people comfortable.
I vote for replacing JCL again. Preferrably with something that is actually DESIGNED and INTEGRATED? The original OS/360 JCL may have been designed well for the time. But it has grown old and crufty. And I haven't looked as the speciality JCL statements yet (such as the PRINTDEV from PSF?). -- Q: What do theoretical physicists drink beer from? A: An EIN stein. Maranatha! John McKown ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html

