JES: Just Educational Services

Jonathan E. Sisk's
Pick/BASIC: A Programmer's Guide

Glossary

Click to enlarge

Glossary of Pick Terms

<cr> -- The standard abbreviation for carriage return. On some keyboards, this key is called "Enter" or "Newline" or "Line Feed." This is the key that you typically press to let the system know that your command or input is to be considered finished, and is ready for processing.

ABS frames -- A frame which contains the executable object code of the Pick Operating System. The name is derived from ABSolute location, since everything within the frame is addressable by an absolute location, derived by taking the frame number (fid) and displacement (offset) into the frame.

ACCESS -- The data retrieval language used to produce reports with English-like sentences; also called RECALL, ENGLISH, INFO/ACCESS, etc. Not covered in this book.

accounts -- Accounts are collections of logically related files, much like departments within a company. Each department has its own set of file cabinets. The name of the account is also the logon, that is, it is entered at the "LOGON PLEASE" message to gain access to the system. In the account's MD also are verbs, miscellaneous connectives and modifiers, and PROCs.

amc.expression -- Abbreviation for Attribute Mark Count expression. An expression or constant that derives a number which indicates the position of an attribute within an item.

array -- An array is a fancy name for an item, as seen in PICK/BASIC. The Pick System allows its "three-dimensional" record structure: items are composed of attributes, which are in turn composed of values, and they in turn may be composed of subvalues. A dynamic array, accomplished in a program with a READ statement, is a means of dealing with an item that may have a variable number of array elements. A dimensioned array is characterized by having a predetermined number of elements, declared with the DIM statement.

array.variable -- A variable used to contain an item, whether a dynamic or dimensioned array. Loaded through a READ or MATREAD statement.

attribute -- An attribute is usually an object or a collection of logically related objects, like an address or list of addresses, within an item.

attribute mark -- The reserved character from the ASCII character set used to indicate the end of an attribute and the beginning of another. Normally, these characters are "transparent," meaning that, for the most part, you will never see them. If you went looking for them, however, here's what you would find: In its conventional display form, it looks like an "up- arrow" ( ^ ) in hexadecimal, its representation is FE, but it is output as 5E; and in decimal, its representation is 254.

To produce an attribute mark from the keyboard requires "control up-arrow," i.e., <control>^. Sometimes the up-arrow key is located as an uppercase character (usually when the ^ symbol appears above the 6 key on the numeric keys above the alphabetic keys). In this case, it takes a "control-shift-^" to produce the attribute mark. Fortunately, you won't have to do this very often.

attribute mark count -- The relative number of an attribute within an item.

base fid -- This is the "first" frame of the block of contiguous frames set aside for a file.

bit -- Actually a contraction for binary digit. The logical representation of either a 1 or 0. When eight of these gang together, they are called a byte.

byte -- A collection of eight bits, which together represent one of the 256 possible characters in the ASCII character set.

conversion -- A code native to the ACCESS and PICK/BASIC languages which perform a "reversible mapping," according to the new definition of SMA. More practically, these are the special codes which alter or change the data from one format to another. For example, a money amount may be "externally converted" so that it displays the dollar sign, commas, and decimal point.

conversion.expression -- An expression which derives a valid conversion code. Used exclusively in the ICONV and OCONV intrinsic functions.

correlative -- According to SMA, not a reversible mapping. The basic difference between conversions and correlatives has classicly been where they were placed in attribute defining items. The general consensus is that if it has to be placed on line 7, then it is a conversion. If it only works on line 8, then it must be a correlative. Some of these codes work on both attributes. We are left to decide what to call these. "Convelatives," perhaps? The bottom line is that, currently, all of the codes, with the exception of the "A" (algebraic) and "F" (function) correlatives, may be used in the PICK/BASIC ICONV and OCONV functions, although most of them are not needed since there are specific instructions in PICK/BASIC to emulate their features.

CRT -- Abbreviation for cathode ray tube. Better known as a "tube."

delimiter, reserved -- This is the set of four special characters used to accomodate the variable-length record structure of the Pick System. They are: attribute mark (^), value mark (]), subvalue mark (\), and the segment mark (_). Note that all four of these characters are control characters. Generally, when these characters need to be used in programs, they are obtained through the CHAR function, referring to each character by its decimal equivalent.

delimiter, non-reserved -- A delimiter is simply a predefined character used to separate other characters in a string. For example, each word in this sentence is "delimited" by a space. Any character may be treated as a delimiter.

dictionary -- The level of the file system used to contain the attribute defining items for use in ACCESS sentences, as well as to define the actual location of the data section for a file via its data definition item, commonly called its D- pointer. Dictionaries are hardly ever used by PICK/BASIC programs, although they are capable of being used through the EXECUTE statement.

Editor -- The process through which programs are entered into the computer. It allows items to be created, changed and deleted from any file.

ERRMSG -- This is the file which contains the text of the error messages of the operating system. The messages from this file may be used through the STOP and ABORT statements.

fid -- Contraction for frame-id, the logical address of a frame. The number of frames on a Pick computer is a function of how much disk is present. Each frame is given a unique number between 0 (zero) and maxfid, the "last" addressable frame.

files -- Files are collections of logically related items, much like a file cabinet contains file folders made up of similar types of information. For example, in one file cabinet you may find file folders containing information about your customers, while in another cabinet may be the folders for your suppliers. In the Pick System, the number of items that can be put into a file is limited by the capacity of the disk. We will put all of the PICK/BASIC programs, which are each considered "items," into a file called BP.

file.variable -- The name by which a file is referenced during the OPEN statement and subsequently through READ, MATREAD, READV, WRITE, MATWRITE, and WRITEV statements.

frame -- The basic division of the hard disk. The entire disk is divided into individual pages or frames of a predetermined length. In the classic Pick System, frames were 512 bytes, with the first 12 bytes of each frame being reserved for the "linkage" fields. Frame size now varies on Pick implementations.

frame-id -- See fid.

functions -- Instructions which invoke machine-level microprograms. They usually perform relatively complicated "functions,", like removing all extraneous blanks from a string or converting dates to alternate formats, serving part of a larger statement. See Chapter 1.

GFE -- Abbreviation for Group Format Error, the absolute nemesis of all Pick machines. The presence of one or more GFE's indicate that the data structure has become corrupted for one of about 20 different possible reasons and that data loss may be imminent. As any true-blue programmer will testify, GFE's are almost always caused by hardware and/or power problems. Generally, the appearance of GFE's indicates that it's time to head for your favorite bar while the local team of witch doctors exorcises your machine. Contrary to popular belief, however, you do not have to do a full restore when these appear. Most of them can be corrected by relatively painless surgical procedures.

group -- Typically, this is where GFE's hang out.

hashing -- The method by which items are placed into, and retrieved from, a file. Each item-id is put through a hashing algorithm that mathematically determines which group in the file to look for, or put, an item. An alternate to the industry-standard ISAM (Incredibly Slow Access Method).

id.expression -- An expression which represents an item-id, found in instructions which read, write, or delete items from files.

item -- A collection of logically related attributes.

item-id -- The unique item-identifier or "key" of an item in a file. See Chapter 1.

megabyte -- Contraction of "mega," meaning million, and "byte," from the Latin bitus, which means the feeling it places on your checkbook. Typically used by salespeople to indicate the amount of disk or main memory storage they intend to sell you.

modulo -- The number that indicates the number of groups in a file. Typically, talking about choosing modulo is a good way to start a heated argument in a room full of technical types.

PIB -- Abbreviation for Primary Input Buffer.

PROC -- The procedural language.

Q-pointer -- A "fake" file pointer placed into the Master Dictionary (MD), typically with the Editor. Q-pointers allow access to files that "physically" reside elsewhere, like in another account, but may also be used to refer to files within any account.

segment mark -- The reserved character from the ASCII character set used to indicate the end of an item or group. Normally, these characters are "transparent," meaning that for the most part you will never see them. If you went looking for them, however, here's what you would find: In its conventional display format, it looks like an underline (_); in hexadecimal, its representation is FF; and in decimal, its representation is 255.

To produce a segment mark from the keyboard requires a "control underline", i.e., <control>_. Sometimes the underline key is located as an uppercase character (like when the "_" symbol appears above the "-" key on the numeric keys above the alphabetic keys). In this case, it takes a "control-shift-_" to produce the segment mark.

separation -- The number, which goes hand-in-hand with modulo, to indicate the number of frames in each group. On all Pick systems, this defaults to one. Some schools of thought contend that it should be greater than one in some circumstances, but this again is like discussing religion or politics. Pick Systems (the company) has been trying to remove separation altogether for quite a while; on many implementations, if you change the separation to something other than one, with the intent of resizing the file, the system thinks that you were just kidding and changes it back to one for you.

statements -- A statement is a list of words which comprise the detailed instructions on which the computer makes its decisions and performs its duties. It will normally consist of constants, variables, expressions, and/or the special commands of the PICK/BASIC language. PICK/BASIC allows multiple statements to be put on one physical line (attribute) if each statement is separated by a semicolon (;). See Chapter 1.

string.expression -- An expression which derives a string of characters and/or numbers.

subvalue -- An individual element of a value. Most schools of thought prefer to pretend that these don't even exist, since that's how the ACCESS retrieval language reacts to them.

subvalue mark -- The reserved character from the ASCII character set used to indicate the end of one subvalue and the beginning of another. Normally, these characters are "transparent," meaning that for the most part you will never see them. If, however, you went looking for them, here's what you would find: In its ASCII appearance, it looks like a backslash (\); in hexadecimal, its representation is FC; and in decimal, its representation is 252.

To produce a subvalue mark from the keyboard requires a "control backslash", i.e., <control>\. Sometimes the backslash key is located as an uppercase character. In this case, it takes a "control-shift-\" to produce the subvalue mark.

SYSPROG -- By far, the most powerful, and dangerous account on any Pick system. This is the account from which most maintenance takes place, like the creation and deletion of accounts, backups and occasionally restores, and dealing with the spooler. The SYSPROG account is the only account which contains the full complement of verbs; it thus should be restricted to use by only those with a full appreciation of the unlimited damage it can wreak upon the rest of the system.

SYSTEM -- The "top" level of the Pick file hierarchy. This file contains "pointers" to all accounts and system- level files.

TCL -- Abbreviation for Terminal Control Language, the point from which all operations begin. Indicated with the ">" prompt character.

value -- An individual element of an attribute. An attribute which contains more than one value is typically referred to as a "multivalued" attribute.

value mark -- The reserved character from the ASCII character set used to indicate the end of an attribute and the beginning of another. Normally, these characters are "transparent," meaning that for the most part you will never see them. If you went looking for them, however, here's what you would find: In its ASCII appearance, it looks like a right square bracket; in hexadecimal, its representation is FD; and in decimal, its representation is 253.

To produce a value mark from the keyboard requires a "control right bracket," i.e., "<control>]". Sometimes the right bracket key is located as an uppercase character. In this case, it takes a "control-shift-]" to produce the value mark.

variable -- A variable is a symbol into which data can be stored. As its name implies, the value, or contents, of a variable can change during program execution. In the earliest form of BASIC, variable names were typically single alphabetic characters for variables containing numbers and alphabetic characters preceded by a "$" for "string" variables. A "string" variable is a variable containing alphabetic and/or punctuation characters. In PICK/BASIC, variable names may be of any length and therefore should be descriptively named. Variable names must begin with an alphabetic character and may include alphabetic characters, periods and dollar signs.

 

Creative Commons License
Jonathan E. Sisk's "Pick/BASIC: A Programmer's Guide" by Jonathan E. Sisk is licensed under a Creative Commons Attribution 3.0 Unported License.
Based on a work at jes.com.