Installing | Sample Session with Dialog System |
This tutorial session will help you become familiar with using the components of Server Express. 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 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 Server Express:
You do all these steps within the Server Express Development Environment.
See the section Packaging for details on how to prepare a program to run outside the Server Express system so you can deliver it to your users.
Use the Infomgr tool to locate the tictac.cbl demonstration program. Infomgr is described in the chapter Infomgr in your Utilities Handbook.
Before you use a demonstration program, we recommend you copy it to your own work directory to avoid the danger of other users working with it at the same time.
sde
The Server Express Development Environment is loaded. It displays its main screen, as shown in Figure 3-1.
Figure 3-1: The Server Express 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 filenames.
At this point the text area contains the Server Express banner, which displays information about the new features in this release.
This format of screen is used in most of the Server Express tools. A function key can 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 Server Express 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 described in the next step.
Accessible from the main menu are two more menus - the Alternate menu and the Control menu - which you get to by pressing Alt and Ctrl. See the appendix UNIX Key Usage Chart for details on actual keystrokes required for these keys.
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.
tictac
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 might have noticed that the Server Express 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.
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 creates 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.
Intermediate code can also be run without further preparation, using the Run option as described in the section Running.
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:
call clear-screen
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 some 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.
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:
Keyboard interrupt
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:
Play again?
appears.
The source code returns to the screen with the cursor positioned under STOP RUN, indicating that the program has completed execution.
To exit from Animator:
The message:
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 Server Express .
You can use the Generate option on the Server Express main menu to create a file with extension .gnt containing native machine code, which executes faster than intermediate code. The .gnt file can be run using the Run option as described in the section Running below.
To create tictac.gnt:
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 Server Express has automatically set. The function finishes after just a few seconds.
You are then returned to the Server Express main menu .
You can use the CSO option on the Server Express main menu to create a callable shared object file with the extension .so; this contains native machine code, which executes faster than intermediate code. Callable shared objects can be run using the Run option as described in the section Running below. Unlike .int and .gnt files, however, callable shared object can contain more than one COBOL program and can also contain other language programs, such as C and C++. Callable shared objects can also be linked with third party object files or shared libraries. This behavior is similar to system executables and shared libraries but differs from .int files and .gnt files, where each file corresponds to a single COBOL program.
To create tictac.so:
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 Server Express has automatically set. The function finishes after just a few seconds.
You are then returned to the Server Express main menu .
You run a program in the same way whether you are running intermediate code, generated code or callable shared objects.
To run a program:
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:
Play again?
You are returned to the Server Express main menu .
If you do not want to go on to the next part of the tutorial at the moment, exit from Server Express:
Server Express displays a message asking you to confirm that you want to leave.
Server Express exits, and you are returned to the operating system.
When your application is working you might want to make it independent of the Server Express 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 Server Express main menu.
Notes:
If you have left the Server Express Development Environment, load it by using the sde command as before. To link a tictac:
The Generator menu appears as before. This time you use the Generator to produce an .o file instead of a .gnt file.
tictac
but do not press Enter yet. If you remained in Server Express 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 Server Express 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 might be a pause before the linking finishes and you are returned to the Server Express main menu.
To run the linked program, enter:
./tictac
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 Server Express facilitates - create, test, and run a program.
This part of the sample session examines some other commonly used features of Server Express which will improve your productivity.
Compiler directives enable you to control the way in which your source code is compiled.
The following example shows you how to use Compiler directives to change the syntax allowed by the Compiler, and the output it produces.
Load the Server Express Development Environment by using the sde command, and load the file tictac.cbl into the COBOL Editor as before.
To set the Compiler directives:
This causes 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 .lst, so this creates tictac.lst.
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 use Animator with the code again.
There are many different directives available, and this is just one way of setting them. See your Server Express User's Guide for more information about setting directives.
This Sample Session chapter has introduced you to the most essential features of Server Express. There are many other useful tools and features described in your Server Express User's Guide and Utilities Handbook.
Copyright © 2000 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 |