THE CHAPROLA LANGUAGE

Introduction

Chaprola is a high level computer language which was designed for use by individuals who have had little computer experience. Even though it is a small language with few commands, it is more powerful than one would expect , able to handle vast amounts of data quickly and efficiently.

The Chaprola Language and the compilers for this language were designed and implemented by John H. Letcher , Professor of Computer Science of the University of Tulsa and President of Synergistic Consultants Incorporated.

The syntax for chaprola commands is straightforward. Except for a statement number a chaprola verb must be the first word encountered in a line. The rest of the command must follow the syntax for that verb. There are some notations that must be explained at the beginning. When [text] is used that means that the user/programmer is to supply the information whether it is a [filename] or something else.

There are some single character notations that are used in CHAPROLA. It is important that the commands follow the syntax. When a period is used for designating a comment there must be a space before and after it. The terminator for an IF statement is a semi-colon (;). There must always be a space before it or the program will not be compiled correctly.

Basic Definitions

In data processing situations the information is broken down into files, logical categories based on usage. A file is a mass of information or stream of characters, loosely associated, which alone or in conjunction with other files is useful in processing or manipulating data. The data file used by the SCI computer system is a collection of character strings, each called a data record. The length of the records within a data file are fixed but can vary from file to file. The record length is an important aspect of the Chaprola Language. A collection of files within the computer or within a storage device is called a data base. With removable storage devices there may be many data bases even within the one device.

If a change needs to be made on a different record in a different file, using the information in the present file the second file can be moved into user accessible memory. With the Chaprola Language it is possible to open a second data file, called a secondary data file, modify it or even create it, and then close the second file if the user wishes so that he can open a third or a fourth and so on. Only one secondary data file can be open at one time but the number of times it can be opened is unlimited.

The commands which are detailed in this document are not in a form which the computer can understand. Using the programs CHAPTRAN and CHAPCOMP a user written program is translated and compiled into computer readable form useable in SCIENTRY or CHAPRPG.

The user written program is put into a Chaprola Source file with a filename suffix or extension of .CS . Once the file is translated and compiled the file that is used by the computer is a procedure file designated by the filename used for the Chaprola Procedure file followed by the suffix .PR . Chaprola is a Programming language that is active in three main programs in the SCIOS system, SCIENTRY, CGIENTRY and CHAPRPG. The three programs have two different but useful applications.

CHAPRPG is useful when large scale data manipulation is called for. None of the information that is within the data files is accessible during the use of CHAPRPG.

The program SCIENTRY is useful for the input of the main initial information in a data file and that is done by the use of user generated screen displays. Anything that can be done with a Chaprola program are useable when the F-10, the Ctrl X command, is pressed. Within the SCIENTRY program there are many files that are required and many that are optional. The main files that are needed ar the display file, data file and the procedure file. These files are designated by the suffixes of .DI, .DA, and .PR respectively. The non-optional files are the print file and the debug file. The print file is usually designated by the suffix of .P so that it is not confused with the procedure file suffix.

The R-Variables

The R-variable is a set of fifty registers, initially set to equal 0 by the computer, but are usable in fundamental calculations by the user. The variables are the letter "R" followed by a number between 1 and 50 (Example R27 is register 27). The R-variable's value can be changed at any time but can only contain a number.

Statement Numbers

Statement numbers are not necessary for the execution or compilation of Chaprola programs. They are used for line markers for the CALL or GOTO statements. Statement numbers must be the first characters encountered in a line and must be followed by a valid Chaprola verb. There are some rules and limitations that must be followed when using statement numbers. When programming a given number can only be used once, there can be no duplication within one program. The limitation is that the statement numbers can only be from 1 - 1999.

Comments in the Chaprola Language

Within Chaprola Programs a programmer may wish to place comments. A comment can be placed almost anywhere but must start with a blank space, a period and then a blank space. Anything following the comment flag (the blank-period-blank) to the end of the line will not be compiled as a command. Therefor a command cannot follow a comment on a line. Even if the comment is at the beginning of the line the comment flag must be a blank then a period and then a blank. In the compiling of the program if there is a comment on a line by itself then the line is counted when an error message is reported in Chaptran and Chapcomp.

Files and Memory Areas

Within the computer there are four divided areas of memory usable by the Chaprola language so that they can be accessed by use of a single number. With commands such as MOVE, GET or PUT these four areas can be changed by the user. These four areas are:


   Primary Data File       1 to 5000
   Secondary Data File    -1 to-5000
   User Buffer Area     5001 to 5896
   System Text Area     6001 to 6054
In CHAPRPG the input file is to be considered the Primary Data file where as in SCIENTRY any change in the Primary Data File will automatically be updated on the screen display that is in use. The Secondary Data File is a file that can be accessed with the OPEN command. Only one Secondary File can be open at time but there is no limit as to how many can be opened and closed during the execution of a Chaprola program making manipulation between data files easy. The User Buffer Area is an area of memory that is set aside for the Programmer to use as he sees fit. It can be used to store character strings before they are put into the print file or for holding numbers for large numerical calculations. The Area is designed as a staging area only accessible through user commands. The System Text Area is a string of 54 characters that are set by the computer but are modifiable by the user.

The Primary Data File ( 1 to 5000)

The Primary Data File is the file that is displayed on the screen in SCIENTRY or is the input file in CHAPRPG. When memory is accessed with a Chaprola Program the primary data file is in location 1 to 5000. This is only one record at a time. To move from record to record refer to the documentation of the program being used.

The Secondary Data File ( -1 to -5000)

The Secondary Data File is a file that is opened by the OPEN command and can be modified with information from the Primary Data File. This is useful in systems which keep track of information in various files. Information can also be gotten from the Secondary Data File and modify the Primary Data File. The location of the Secondary Data File is starting in location 1 with a minus sign(-) in front of it to 5000 with a minus sign in front of it. Only one Secondary Data File may be open at one time and the length does not have to be the same as the Primary Data File. If a second Secondary Data File is opened the first is automatically closed.

The User Buffer Area (5001 to 5896)

From location 5001 to 5896 is called a buffer. It is for storing information. This area is user assignable and is not disturbed by the system unless instructed through use of a program. If a procedure file is changed during the program execution the user buffer goes unaltered. This is useful for saving useful information when going between Display or Data files. The User is able to place any information into the buffer that he wishes to be used at another time in a program's execution. The User buffer is also used as a staging area for sending character strings to the print file, to place text or information into the user buffer area the move command is used. The buffer can also be used to hold information when going from one secondary file to another.

The System Text Memory Area (6001 to 6054)

Fifty four characters of information are supplied by the computer at all times. Any or all of this information may be accessed or changed by the user at will. To change the value of a desired location the Move command is used. Description of this command is on page 19.


  Location Length Description
  6001  2  Year
  6003  3  Julian Date
  6006  2  Hour Military
  6008  1  Filler (a blank)
  6009  2  Minute
  6011  2  1/100 minute
  6013  3  Terminal Number
  6016  3  Initials of User
  6019  4  Field Number
  6023  1  IVAL (for screen control)
  6024  1  (reserved for future use)
  6025  1  MRTENTRY Command
  6026  5  Record Number
  6031  8  First 8 characters of the Display
            file before .DI
  6039  8  First 8 characters of the Data file
            before .DA
  6047  8  First 8 characters of the
            Procedure file before .PR

Explanation of the locations are as follows;

6001 2 Year

This is the last two digits of the year. If the year is 1990 then 90 would be in location 6001 for a length of 2.

6003 3 Julian Date

This is a three digit number from 1 to 365 or 366 if it is a leap year. Some automatic computer clocks do not handle adding a day in February on leap years but the converter from the system clock into SCIOS does take into consideration leap years and after February 28th one is added to the date. The Julian date on January 1st is 1 on February 1st it is 32. This is used so the date can be subtracted directly from another date.

6006 2 Hour Military

The hour is kept track of in military time from 0 to 23. If the time is 2 pm. then the hour is set at 14.

6008 1 Filler (a blank) 6009 2 Minute

The standard 60 minutes per hour is used so the value of 6009 is from 0 to 59 for a length of 2.

6011 2 1/100 Minute

Seconds are not used, Every six seconds equals a tenth of a minute. If the time is thirty seconds after the minute then 50 would be in 6011 for a length of 2

6013 3 Terminal Number

This is active only when multi-terminal software is being used. The terminal number is automatically set when the user logs on. This is useful for audit trail programs.

6016 3 User Initials

This is active only when multi-terminal software is being used. This is also automatically set when the user logs on. It is useful if a tracer program is used in conjunction with the terminal number.

6019 4 Field Number

This is the field number where the cursor is placed and can be changed by the user. This is used in Scientry and the default, that is if no field is designated is field 1.

6023 1 IVAL

IVAL is a number between zero and seven which represents any change in the display(:DI), data(:DA) or procedure(:PR) files. IVAL is dependant on the combination of files to be changed as follows:

IVAL :DI :DA :PR 0 no change 1 X 2 X 3 X X 4 X 5 X X 6 X X 7 X X X 8 change field

The correspondence is not whimsical, it is a binary translation into base ten where the procedure file is the one's place, the data file is the two's place and the display file is the four's place. IVAL is changed by the user when the corresponding files are placed in the correct system location.

6024 1

Inactive at the moment, is reserved for future use.

6025 1 the MRTENTRY Command

Active only in multi-terminal systems. MRT is synonymous with the prefixes TEK, IBM, VIS, ANSI, etc.

6026 5 Record Number

This is the record number of the Primary File that is being accessed at the time. If a different number is placed in the location then the user will be moved to that record number.

6031 8 First 8 characters before .DI

This is used in conjunction with IVAL. This is the Display file that is currently active and being used. If the display file is changed then the new display file will be active. This is useful for menu generation. Only the Display file is changed if the Data file is to be changed then the information must be placed in the correct system location.

6039 8 First 8 characters before .DA

This is also used in conjunction with IVAL. This changes the data file that is being used by the display file. As before this location is for changing the data file only.

6047 8 First 8 characters before .PR

This is also used in conjunction with IVAL. This changes the active procedure file and only the procedure file.