|Installing||Sample Session with Dialog System|
This tutorial session will help you become familiar with using the components of Object COBOL. Using the sample program Tictac (a Tic-Tac-Toe game, also known as Noughts and Crosses), you will learn the basic steps to edit, compile, animate, and run or link a program.
All the features covered are described in detail in the manuals.
Dialog System is covered in a separate tutorial, in the chapter Sample Session with Dialog System.
Note: Remember to consult the appendix UNIX Key Usage Chart in your Object COBOL User Guide to find out how the keys shown in this chapter map onto those you must use.
This sample session illustrates all the essential steps in preparing an application for use in Object COBOL:
You do all these steps within the Object COBOL Development Environment, also known as the Toolbox Development Environment.
See the section Packaging for how to prepare a program to run outside the Object COBOL system so you can deliver it to your users.
The tutorial programs supplied with Object COBOL are in subdirectory demo in the directory pointed to by the $COBDIR environment variable.
Before you use any of them, we recommend you copy them to your own work directory to avoid the danger of other users working with them at the same time.
The Object COBOL Development Environment is loaded. It displays its main screen, as shown in Figure 3-1.
Figure 3-1: The Object COBOL Development Environment Screen
This screen consists of four parts:
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. Many of the menus in the system have more functions than there is room for on the screen. On these menus, pressing Alt displays more functions (the Alt menu) and Ctrl displays yet more (the Ctrl menu).
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/input area is below the menu, on the bottom line of your display. This is where the system displays messages and you enter information such as file-names.
At this point the text area contains the Object COBOL banner, which displays information about the new features in this release.
This format of screen is used in most of the Object COBOL tools. A function key may serve one of three purposes:
The Escape key on a menu usually leaves the menu and takes you back up to the one you invoked it from.
You can get Help on every menu by pressing F1=help.
The text area is replaced by text. There is more information than fits on one screen, and if you press F1 again the next page appears. The information presented is relevant to the menu from which you start Help; here you see general information about Object COBOL and the main functions because you pressed F1 on the main menu.
You're now going to start the COBOL Editor. This editor is designed especially for COBOL programs, although it can be used for any type of source file.
The work area clears and a new menu appears, shown in Figure 3-2.
Figure 3-2: The COBOL Editor Main Menu
The COBOL Editor enables you either to type in COBOL source, or to load in a file created previously. If you were creating a new program you would type it now. However, the source of Tictac is supplied on disk for you. You simply load it into the COBOL Editor, as follows.
Accessible from the main menu are two more menus - the Alt menu and the Ctrl menu - which you get to by pressing Alt and Ctrl.
(From now on we will write this as simply "press Alt+F3"; similarly, holding down the Ctrl key while pressing F3 will be written as "press Ctrl+F3".)
The Load File menu appears. It includes a line on which to type the name of the file to load. The directory you are in is already displayed on this line.
You need not specify the extension .cbl; the COBOL Editor assumes .cbl if no extension is specified.
The source code is displayed with the cursor positioned under the first statement on line 1. The main menu of the COBOL Editor returns.
You may have noticed that the Object COBOL main menu has keys for the Compile and Animate functions. However, you can also access these functions from within the COBOL Editor, and we will do it this way in this tutorial.
The COBOL menu appears.
The COBOL menu appears. On this menu, F2 is a toggle selecting whether you will compile, animate, or both. Its setting is shown on the information line, and changes each time you press.
The COBOL Editor screen disappears. The Compiler checks the program for syntax errors and produces intermediate code.
The Compiler outputs the intermediate code in a file with extension .int and produces extra information needed by the Animator in a .idy file. When it has finished the Animator screen appears.
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.
The Animator screen is shown in Figure 3-3.You use Animator to watch the source code executing.
Figure 3-3: The Animator Screen
The Animate main menu appears at the bottom of the screen. It displays an information line containing the program name Tictac, and 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.
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.
The source code is initially displayed with the cursor positioned under the first executable statement:
perform with test after
One of the letter commands on the Animate menu is Step.
The cursor is now positioned under the next executable statement:
This executes the CALL statement, and leaves the cursor on the next statement.
This executes the DISPLAY statement, and leaves the cursor on the next statement.
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 CALL statement executed a library routine that cleared the user screen, and the DISPLAY statement then displayed a text. You can now see the user screen with that text:
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.
Each time you press Step another statement is executed, and you can see what is actually happening in the program.
In Go mode, your program is automatically executed at the speed you select, and you can watch exactly what is happening in the program.
The Go menu shown in Figure 3-4 appears at the bottom of the screen as execution begins. The program is currently executing at a speed of 5, the default setting.
Figure 3-4: The Go Menu
The 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 (except during an ACCEPT statement) by pressing a key between 0 and 9.
Execution halts when an ACCEPT statement is reached. The system now pauses on the user screen after executing the ACCEPT statement on line 114. It is prompting you to enter data.
The system continues animation in Go mode and pauses after the next ACCEPT, displaying the user screen and prompting again for data.
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 screen.
Execution stops again when you are prompted to select another square. Notice that the system has placed a 0 in square 5.
You can temporarily halt execution at any time except while the program is executing an ACCEPT statement. The message:
appears at the bottom of the screen. The cursor is positioned on the next executable statement.
The program resumes execution at full speed and displays only the user screen. Continue playing until the game is complete. Then the message:
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.
Exit from animator? Y/N
appears at the bottom of the screen.
The source listing again appears in the text area, ready for further editing should it be required.
This returns you to the main menu of Object COBOL .
Generation of native code is optional in Object COBOL. The .int file created when you are compiling contains intermediate code, required by the Animator. This can also be run without further preparation, using the Run option as described in the section Running below.
However, you can use the Generate function on the Object COBOL main menu to create a file with extension .gnt containing native machine code, which executes faster than intermediate code. Both the .int file and the .gnt file can be run using the Run option.
You create an optimized tictac.gnt as follows.
A menu appears enabling you to specify the program to compile. Because you have just been working with tictac, its name is already set there as default; and the default settings of the menu are what we want. So you do not type anything on this menu.
The system displays a banner identifying the Generator and some directives that Object COBOL has automatically set. The function finishes after just a few seconds.
You are then returned to the Object COBOL main menu .
You run a program in the same way whether you are running intermediate code or generated code.
A menu appears enabling you to specify the program to be run and giving you access to various functions and options useful at this point. However, because you have just been working with tictac, its name is already set there as default; and the default settings of the menu are what we want. So you do not enter anything on this menu.
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!
At the end of the game, Tictac displays the message:
You are returned to the Object COBOL main menu .
If you do not want to go on to the next part of the tutorial at the moment, leave Object COBOL as follows:
Object COBOL displays a message asking you to confirm that you want to leave.
Object COBOL exits, and you are returned to the operating system.
When your application is working you may want to make it independent of the Object COBOL system so you can distribute it for use on other binary-compatible machines. To do this you use the UNIX system linker, which can be accessed from the Object COBOL main menu.
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.
If you have left the Object COBOL Development Environment, load it by using the tbox command as before.
The Generator menu appears as before. This time you use the Generator to produce an .o file instead of a .gnt file.
but do not press Enter yet. If you remained in Object COBOL since the previous part of this sample session, the word tictac is already there.
The program is generated, but this time an .o file is produced.
A menu appears enabling you to specify the program to be linked and giving you access to various functions and options useful at this point. Because you have just been working with tictac its name is already set there, with the extension .o assumed; and the default settings of the menu are what we want. So you do not enter anything on this menu.
The command line that Object COBOL will pass to the system linker is displayed, and then linking begins. A list headed "Entry points defined in module: tictac.o" is displayed, after which there may be a pause before the linking finishes and you are returned to the Object COBOL main menu.
The program now runs independently of the COBOL system and you can play the Tic-Tac-Toe game.
You have now learned how to perform the main task which Object COBOL facilitates - create, test, and run a program.
This part of the sample session examines some other commonly used features of Object COBOL which will improve your productivity.
This section shows you how to change the syntax allowed by the Compiler, and the output it produces, by setting some directives.
Load the Object COBOL Development Environment by using the tbox command, and load the file tictac.cbl into the COBOL Editor as before.
This will cause the source code to be listed on the screen, with any error messages.
osvs flag(osvs) list()
Ensure that the bottom part of your display looks like Figure 3-5.
The final directive, LIST, means you want the source listing that the Compiler produces sent to a file. The parentheses mean you want to use the default name, which is your program name with an extension of of .lst, so this creates tictac.lst.
Figure 3-5: The Directives Menu
Some messages are displayed, too quickly for you to read. With this indication that there could be something wrong, you can load the listing file you have created (tictac.lst) into the COBOL Editor at some future time to see what they are. In fact, the messages are indicating the lines of code that do not conform to OSVS syntax. These are not errors that prevent the creation of usable code, so you can go on to animate the code again.
There are many different directives available, and this is just one way of setting them. See your Object COBOL User Guide for more information about setting directives.
If you do not want to go on to the next part of the tutorial at the moment, leave Object COBOL as before.
Structure Animator extends the Animator display and functions to allow you to see your program executing as a diagram. You can also print this diagram as part of your program documentation.
Analyzer performs a coverage analysis of your program.
The first few steps in this section prepare the program both for structure animation and for the Analyzer, described in the next section. You compile the program with special toggles set to make the Compiler create the extra files that these two facilities need.
If you have left the Object COBOL Development Environment, load it by using the tbox command, and load the file tictac.cbl into the COBOL Editor as before.
When compiling has finished, Animator will be loaded.
In Animator, Alt+F3=structure/code is a toggle that turns structure animation on or off. If structure animation is on, there is an extra window on the Animator listing, as shown in Figure 3-6.
Figure 3-6: The Structure Animation Screen
The extra window shows the structure of your program. Your cursor is positioned in this window. You can execute your program using the structure diagram instead of the source code.
Each step executes one block of the structure diagram.
This moves you back to the code. Pressing Alt+F3 switches between code and structure - when you are in the structure the cursor is positioned there and the border of the structure window is highlighted.
Numbers appear on the right-hand side of the text area. They represent the number of times each line of code has been executed. They are updated as the program executes.
This Sample Session chapter has introduced you to the most essential features of Object COBOL. There are many other useful tools and features described in your Object COBOL User Guide.
Copyright © 1999 MERANT International Limited. All rights reserved.
This document and the proprietary marks and names used herein are protected by international law.
|Installing||Sample Session with Dialog System|