HP 3000 Manuals

Preparing and Using a Program [ COBOL/HP-UX Getting Started for the Series 700 and 800 ] MPE/iX 5.0 Documentation


COBOL/HP-UX Getting Started for the Series 700 and 800

Preparing and Using a Program 

This sample session illustrates all the essential steps in preparing an
application for use:

   *   compiling - checking its syntax and producing intermediate code

   *   animating - testing and debugging it

   *   generating - producing an object program in native machine code

   *   running it

   *   linking - producing a single executable file containing the object
       program, plus the support modules it needs from the Micro Focus
       Run-Time Environment

Compiling 

   1.  Copy the source file tictac.cbl into one of your work directories.
       You will find this file in the directory containing the tutorial
       programs supplied with the COBOL system.  They are in subdirectory
       "demo" within the directory pointed to by the $COBDIR environment
       variable.

   2.  Enter the following command:

            cob -av tictac.cbl

       The explanation of this command line is:

       cob                   tells the system to check the syntax and
                             compile your source code.

       -                     indicates the start of the flags that you
                             set to control compilation.

       a                     is a flag that tells cob that you will be
                             using Animator to test the program.

       v                     is a flag that sets "verbose" mode, in which
                             cob displays messages to show progress.

       tictac.cbl            is the name of the program source file to
                             compile.  The Compiler looks for the file
                             tictac with the extension .cbl or .cob.

       You could in fact omit the "a" flag, as it is the default; we have
       included it here for clarity.

       The Compiler banner appears, including the version number of the
       COBOL system.  The Compiler then checks the source code for syntax
       errors and creates intermediate code, displaying a number of
       messages indicating its progress.  The system then outputs the
       intermediate code in the .int file, and extra information needed
       by the Animator in a .idy file.  When compiling is complete, the
       following message appears:

            Data=xxxxxxxxx Code=yyyyyyyyy

       This means the compilation produced an object program needing
       xxxxxxxxx bytes of data storage and yyyyyyyyy bytes of storage for
       Procedure Division code.

       You could run the .int program now, using cobrun.  However, there
       is a very powerful tool available for testing and debugging the
       logic of your program, and it's a good idea to use this tool next.

Animating 

Now use Animator to watch the source code executing.

Note:    Animator animates .int files; if it finds a .gnt file, it runs
         it without animation.  If you run through this sample session a
         second time, make sure you have no tictac.gnt file left from the
         previous time.

3.  Enter:

     anim tictac

The system displays the Animator banner, including the version number 
and copyright information, and then displays the Animator main menu
screen, shown in Figure 3-1  

[]
Figure 3-1. The Animator Screen This screen consists of four parts: * the text area * the information line * the menu * the message area The text area means the main body of the screen. The menu, at the bottom of the screen, shows the functions available at this point. Each function has a function key (shown as Fnn=) associated with it; pressing the key activates the function. Above the menu is the third part of the screen, the information line. This line contains a mixture of fixed and variable information. For example, the information line can contain the menu name, the name of the program you are working with, the status of the Insert, Caps, Num Lock and Scroll Lock keys, and toggle settings. A toggle is a key that selects between options. The message area is below the menu, on the bottom line of your display, and is where messages are usually displayed. The source code is displayed with the cursor positioned under the first executable statement: perform with test after The Animate main menu appears at the bottom of the screen. It displays an information line containing the program name Tictac, together with level, speed, Ins, Caps, Num and Scroll indicators. The next two lines contain the function and letter key options you use to control the way the program is animated. Controlling the Speed. You can execute your program in one of three modes: Step, Go and Zoom. When you execute your program in Step mode, you manually control the execution of each statement. In Go mode, you initially set the speed of execution, then watch as each statement is automatically executed. Zoom mode executes the entire program without displaying the source until it reaches the end of the program (you can interrupt it, or set a breakpoint where it will stop). These modes of execution are described in the following sections. Stepping Through the Program. The first letter command on the Animate menu is Step. 4. Press S to begin stepping through your program. The cursor is now positioned under the next executable statement: call clear-screen 5. Press Step again twice. This positions the cursor on the DISPLAY statement and then executes the statement. This causes a brief display of the user screen in its current state. The user screen is the screen displayed by the program itself, that is, the screen that would be seen by the user if you were running the program without Animator. The screen showing the source is called the Animator screen. The user screen briefly appears each time you execute a DISPLAY statement. The cursor then moves to the beginning of the statement: perform init 6. Now press F2=view. The user screen appears showing the text displayed by the executed DISPLAY statement: To select a square type a number between 1 and 9 You can use the view facility to view the user screen at any time during animation. 7. Press any key to return to the Animator screen. 8. Now execute the next three statements in the program by pressing Step three times. Each time you press Step another statement is executed, and you can see what is actually happening in the program. Executing in Go Mode. In Go mode, your program is automatically executed at the speed you select, and you can watch exactly what is happening in the program. 9. To start Go mode, press G. The Go menu shown in Figure 3-2 appears at the bottom of the screen as execution begins. The program is currently executing at a speed of 5, the default setting. 10. Press 7 to increase the speed.
[]
Figure 3-2. The Go Menu This change in speed is displayed on the information line. You can set execution speed from either the Animate main menu or the Go menu. The range of speeds is from 0 to 9, with 0 the slowest speed. You can change this speed at any time during execution by pressing a key between 0 and 9. Program execution halts when an ACCEPT statement is encountered. The system now pauses on the user screen after executing the ACCEPT statement on line 114 anticipating data entry. 11. Respond by typing N to indicate that you will be the one to start the game. The system continues animation in Go mode at a speed of 7 and pauses after the next ACCEPT, displaying the user screen and prompting again for data entry. 12. Select square 9 by pressing 9 on your keyboard. This places an "X" in square 9 and resumes program execution in Go mode. Remember, you can press F2=view at any time to see the user program's screen. Execution stops again when you are prompted to select another square. Notice that the system has placed a 0 in square 5. 13. Press 8 to select the square and to resume execution. You can temporarily halt execution at any time. 14. Press Escape. The message: Keyboard interrupt appears at the bottom of the screen. The cursor is positioned on the next executable statement. Executing in Zoom Mode. 15. Now press Z to begin execution in Zoom mode. The program resumes execution at full speed and displays only the user screen. Continue playing until the game is complete. Then the message: Play again? appears. 16. Respond by typing N (No). The source code returns to the screen with the cursor positioned under STOP RUN, indicating that the program has completed execution. The message: STOP RUN encountered with RETURN-CODE=+00000: use Escape to terminate appears at the bottom of the screen. Exiting Animator. 17. Press Escape to terminate your Animator session. The message: Exit from animator? Y/N appears at the bottom of the screen. 18. Press Y (Yes) to return to the operating system. Generating Native Code Having animated the program, you will now want to convert it to optimized native code in a .gnt file. 1. Enter: cob -uv tictac.cbl In this command line, all is as before, except: u is a flag that tells cob to process the program through to producing dynamically loadable generated code. This time, cob invokes the Compiler and the Generator. The last message displayed comes from the Generator, and is similar to the Compiler's message giving data and code sizes, but also shows space taken by literals. Since you had already produced a tictac.int in your previous call of cob (see the section "Compiling" , above), you could have omitted the Compiler step by specifying .int instead of .cbl. Running 2. To run Tictac, enter: cobrun tictac You need not specify an extension, as cobrun will automatically look for the .gnt file. The system runs the program, which starts off by displaying the first message of the game on your screen. Have fun playing it; it can be beaten! You could run the intermediate code instead by specifying an extension of .int (also, if cobrun does not find a .gnt file it will run the .int file). The above call of cob to produce generated code would then be unnecessary. However, although the difference is not apparent in a small program such as Tictac, generated code runs much faster than intermediate code. Linking As an alternative to using cobrun, you can create an optimized .o file and link it to form an executable file. Note: You can link your program only if you have a "C"/Operating System Development System installed on your machine. This provides the system tools that cob needs, like ld, the system linker. 1. Enter: cob -xv tictac.cbl In this command line, all is as before, except: x is a flag that tells cob to process the program all the way through to producing an executable file. This time cob invokes the Compiler, Generator, and UNIX system linker, one after the other. The last thing displayed is a list headed "Entry points defined in module: tictac.o", after which there may be a long pause before the operating system prompt appears. Since you had already produced a tictac.int in your previous call of cob (see the section "Compiling" , above), you could have omitted the Compiler step here; if you had specified .int instead of .cbl, cob would have used the existing .int file and just invoked the Generator and Linker. The end effect would have been the same. Running the Linked Program 2. To run Tictac, simply enter: ./tictac The system runs the program.


MPE/iX 5.0 Documentation