BASIC

BASIC


Background/Phantom Processing Pick Manual Home BASIC Debugger
arithmetic operators add, subtract, multiply, and divide numeric operands in arithmetic expressions.
array tables of values of any data type.
arrays, relational expressions Description of array handling.
! Logical "or" operator and remark line indicator.
" String delimiter.
# "not equal to".
$CHAIN chains to another source item
$INCLUDE Alternate method of "include".
INSERT See "include".
$INSERT Alternate method of "insert" (or "include").
$OPTIONS Sets compatibility options for the BASIC compiler.
% Defines built-in C function.
%ACCEPT Accept a connection on a socket.
%ALARM Sends SIGALRM to calling process after given delay.
%BIND Binds a name to a socket.
%CHDIR Changes the current directory.
%CHMOD Changes mode of given file.
%CHOWN Changes owner and group ID.
%CLOSE Closes a Unix file.
%CONNECT Establishes a connection with a host through sockets.
%CREAT Creates new Unix file, or rewrites to existing file.
%DUP Returns new file descriptor.
%FCLOSE Closes stream.
%FDOPEN Associates stream with a file.descriptor.
%FGETC Gets a character from a stream.
%FGETS Reads a C string from a stream.
%FOPEN Opens a stream.
%FPRINTF Writes formatted string on a stream.
%FPUTC Puts a character on a stream.
%FPUTS Writes a string on a stream.
%FREE Frees memory.
%FREOPEN Reopens a stream.
%FSIZE Gets the size of a file.
%GETENV Gets Unix environment variable.
%GETHOSTID Gets the unique identifier of the current host.
%GETPGRP Gets group id.
%GETPID Gets Unix Process id.
%GETPPID Gets parent PID.
%IOCTL Special IO control.
%KILL Sends signal to process ID.
%LISTEN Listens for incoming connections and limits the backlog of incoming connections.
%LSEEK (D3/Unix) Sets Unix file pointer.
%MALLOC Allocates memory.
%MEMCCPY Copies memory up to a delimiter.
%MEMCPY Copies memory.
%MEMXCPY Copies memory and converts to hexadecimal.
%OPEN Opens a Unix file for reading or writing.
%PAUSE Suspends calling process until signal received.
%PCLOSE Closes a stream.
%PGETPID Gets a Pick process PID.
%POPEN Creates pipe between calling process and command.
%PUTENV Assigns value to environment variable.
%RDHEX Reads a Unix file and translates to hexadecimal.
%READ (D3/Unix) Reads from a Unix file.
%READ (AP/DOS) Reads from an MS-DOS file.
%SEMCTL Performs semaphore control operations.
%SEMGET Creates a semaphore set.
%SEMOP Perform semaphore operation.
%SETFLUSH Sets flush period.
%SHMAT Attaches to a shared memory segment.
%SHMDT Detaches from a shared memory segment.
%SHMGET Creates shared memory segment and returns identifier.
%SOCKET Creates a socket.
%TTYNAME Returns a pointer to a terminal name.
%UNLINK Removes a directory entry.
%WAIT Waits for termination of child process.
%WHEX Writes to a Unix file, converting into binary.
%WRITE (D3/Unix) Writes to a Unix file.
& Logical "and" statement.
' String delimiter.
( used to surround arguments within functions, or to enclose subscript refererences within dimensioned arrays. It is also used to override the normal order of precedence evaluation.
) surrounds arguments within functions, encloses subscript refererences within dimensioned arrays, and overrides the normal order of precedence evaluation.
* Remark line indicator.
* Arithmetic multiply operator
* Wildcard array reference.
*= Multiplies numeric expression and assigns to variable.
+ Arithmetic operator (add). Also unary plus.
+= Adds numeric expression and assigns to variable.
, (comma) Used to separate parameters in functions and to print tabstops with the "print" and "crt" statements.
- Mathematical operator (subtract). Also unary minus.
-= Subtracts numeric expression and assigns to variable.
/ Mathematical operator (divide).
/= Divides numeric expression and assigns to variable.
: Concatenation operator.
:= Concatenates expression and assigns to variable.
; Program source line delimiter.
< "Less than" operator and dynamic array reference symbol.
<= "Less than or equal to" operator.
<> "not equal to.
= Logical "equal" operator or variable assignment.
> Dynamic array reference symbol.
> Greater than operator
>< Logical "not equal" operator.
>= "Greater than or equal to" operator.
@ see "@ function".
@ function Special cursor addressing functions.
@AM returns a string containing an attribute mark.
@FM returns a string containing an attribute mark.
@SM returns a string containing a subvalue mark.
@VM returns a string containing a value mark.
ABORT Terminates program and PROC{s}.
ABS Returns absolute value.
ac.expression Derives an attribute count.
ACCESS Interface between Access and FlashBASIC.
ALPHA Determines if string is alphabetic.
AND Boolean operator.
arithmetic expressions Arithmetic expressions.
dimensioned array a table where the contents of the elements can be altered (replaced) but the position of each element is fixed.
dynamic array A string variable delimited by reserved metacharacters.
array references Referencing arrays.
array.variable References a dimensioned array.
ASCII Converts EBCDIC to ASCII.
ASSIGNED Determines if variable has been assigned a value.
assignment Assigns value to variable.
AUX Enables or disables spooling to the auxiliary port
BEGIN CASE
BEGIN WORK Starts a transaction
Boolean expressions
BREAK Enables or disables the break key.
BREAK OFF see "BREAK".
BREAK ON
CALL Calls external FlashBASIC subroutine.
CAPTURING Toggles output capturing.
CAPTURING OFF Disables output capturing.
CAPTURING ON Enables output capturing.
CASE Initiates the case statement.
CASING Enables or disables case sensitivity.
CASING OFF Disables case sensitivity.
CASING ON Enables case sensitivity.
CAT Concatenates string expressions.
c function can be called from a FlashBASIC program or subroutine in AP/DOS and D3/Unix implementations using a syntax similar to that of normal C.
c function, user-defined user-supplied C or Assembly language code integrated into the Pick monitor and then called from BASIC using a C-like syntax.
CFUNCTION Declare a list of C functions.
CHAIN Transfers control to executable TCL expression.
CHANGE
CHAP Provided for licensee compatibility, has no effect on D3 execution.
CHAR Returns ASCII character of numeric expression.
CLEAR Initializes all variables.
CLEARDATA Clears the data stack.
CLEARFILE Clears specified file.variable.
CLEARSELECT clears the specified select list.
CLOSE Closes file.
COL1() Returns beginning position derived from last "field" function.
COL2() Returns ending position derived from last field function.
COM see "common".
COMMIT TRANSACTION
COMMIT WORK Commits a transaction
COMMON Declares common variables.
COMPARE Compares two dynamic arrays.
conv.expression An expression which evaluates to a valid processing code.
CONVERT Converts characters.
CONVERT Converts characters.
COS Returns cosine of numeric expression.
COUNT Counts number of occurences of a string within another string.
CRT Outputs expression to crt.
DATA Stacks strings for subsequent input(s).
DATE Returns system date in internal format.
DCOUNT Returns count of strings delimited by a given delimiter.
DEBUG Invokes FlashBASIC debugger.
default file variables used by any file-access FlashBASIC statement when a specific file variable is not specified.
DEL Alternate method of "delete".
DELETE Deletes element from array.
DELETE Deletes item from file.
DIM Declares a dimensioned array.
DIMENSION see "dim"
DO Part of the "loop" statement.
DQUOTE Extracts a double-quoted string from string.expression.
DTX Converts decimal to hexadecimal.
EBCDIC Converts ASCII to EBCDIC.
ECHO Toggles terminal echo.
ECHO OFF Turns off terminal character echo.
ECHO ON
ELSE In-line initiator.
END Compiler directive.
END CASE Terminates "case" statement.
ENTER Transfers control to cataloged program.
EQ
EQU Declares constants at compile time.
EQUATE Declares constants at compile time.
EREPLACE
ERROR Displays error message.
ERROR Returns TCL command line.
EXCHANGE converts characters
EXECUTE Performs TCL command expression.
EXECUTE (AP/DOS) Executes DOS command.
EXECUTE (D3/Unix) Executes Unix command from FlashBASIC.
EXIT Forces early exit from "loop" or "for ... next" construct.
EXP Returns exponent from numeric expression.
EXTRACT Extracts element from array.
FIELD Returns substring from string expression.
FILE Opens file and dimensions array.
file.variable Defines file location from previous "open" statement.
FILELOCK Sets an exclusive file lock.
FILEUNLOCK Releases an exclusive file lock.
FMT formats a string
FOLD Folds string.
FOOTING Defines report footing.
FOR ... NEXT Incremental loop function.
FOR NEXT ... UNTIL
FOR NEXT ... WHILE see "for ... next".
functions elements in FlashBASIC language expressions, returning a single value in place, as a function of the arguments. A function can be used anywhere a variable or expression is used.
GE "Greater than or equal to" operator.
GET Gets raw characters from another port.
GOTO Transfers execution to statement label.
GOSUB Transfers control to local subroutine.
GT "Greater than" operator.
HEADING Defines report heading.
HUSH Enables or disables hush mode.
ICONV Input conversion function.
id.expression An expression which derives an item-id.
IF Initiates logical expression.
IFR Initiates a multi-attribute logical expression.
IN Inputs single character.
INCLUDE Includes object module within object module.
INDEX Returns numeric starting position of string within string.
INMAT returns information about arrays
INPUT Stops program to accept input.
INPUTCLEAR clears the input buffer
INPUTCTRL toggles ability to enter control characters.
INPUTERR Used with "input" to display error message on status line.
INPUTNULL Defines null input character for input @.
INPUTPARITY toggles status of extended character set.
INPUTTRAP ... GOSUB Sets trap for input@ statement subroutine branches.
INPUTTRAP ... GOTO Sets trap for input@ statement subroutine branches.
INS Alternate method of "insert".
INSERT Inserts element into array.
INT Returns integer portion of numeric expression.
Pick/BASIC
KEY Locates item-id in a b-tree index.
LE "Less than or equal to" operator.
LEN Returns number of characters in a string expression.
LET Optional assignment indicator.
LN Returns natural log of numeric expression.
LOCATE Locates element in string expression.
LOCK Sets execution lock.
LOCKED Takes "locked" path when group/item lock encountered.
logical expressions application of logical (Boolean) operators to relational or arithmetic expressions.
LOOP Conditional loop function.
LOOP ... UNTIL Loops "until" condition is met.
LT "less than" operator.
masking Performs formatting of output data values.
MAT Assigns data to a dimensioned array.
MATBUILD Converts dimensioned array to dynamic array.
MATCH Pattern matching function.
MATCHES Alternate to "match".
MATPARSE Converts dynamic array to dimensioned array.
MATREAD Reads item into dimensioned array.
MATREADU see "matread".
MATWRITE Writes dimensioned array to file.
MATWRITEU see "matwrite".
MAXIMUM Returns the maximum of a list of numbers
MINIMUM Returns the minimum of a list of numbers
MOD Returns remainder from dividing two numeric expressions.
NE "not equal to".
NEXT Terminates for..next loop.
NOT Negates a logical expression.
nuclear tokens Any function or expression may itself be an argument of another function or expression. The compiler evaluates expressions starting with the innermost set of parentheses.
NULL No-op compiler directive.
null, evaluation Evaluation of null.
NUM Determines if string is numeric.
num.expression An expression which evaluates to a number.
OCCURS Locates strings which occur certain number of times.
OCONV Output conversion function.
ON ... GOSUB Calculated gosub.
ON ... GOTO Calculated goto.
ONERR Takes "error" path when media error encountered.
OPEN Opens file for input and output.
operators Operators * ! & = # - + / ^ < > \ [ ] ( )
OR
OUT Outputs single character
PAGE Forces page eject.
pattern matching statements
PERFORM See "execute".
FlashBASIC performance General Performance Tips for the Interpreter or FlashBASIC.
precedence Precedence of compound expressions.
PRECISION Defines precision for calculations.
PRINT Outputs expression to printer or crt.
PRINT ON Directs output to specific report.
PRINTCHAR Outputs single character
PRINTER Toggles crt/Spooler output or closes entry.
PRINTER CLOSE
PRINTER OFF Directs "print" statement output to crt.
PRINTER ON Directs "print" statement output to Spooler.
PROCREAD Reads primary input buffer.
PROCWRITE Writes primary input buffer.
PROGRAM FlashBASIC no-op.
PROMPT Defines input prompt character.
PWR Exponentiates numeric expression.
quotes String delimiter.
READ Reads an item into dimensioned or dynamic array.
READNEXT Retrieves the next item-id from an active list.
READT Reads one tape record.
READTL Reads label from magnetic media.
READTX Reads one tape record and displays in hexadecimal.
READU see "read" or "matread".
READV Reads one attribute and assigns to value.
READVU see "readv".
relational expressions see "relational operators".
relational operators Returns the relationship between two expressions.
RELEASE Releases group/item lock(s).
REM Calculates remainder of two numeric expressions.
REM Defines user-specified remark.
REMOVE removes a substring delimited by a system delimiter
REPEAT see "loop".
REPLACE Replaces element in string expression.
REPLACE Maintains integrity of bridges.
reserved words intrinsic function names cannot be dimensionsed array names and special tokens cannot be used as variable names.
RETURN Returns control from a local or external subroutine.
REWIND Rewinds magnetic media.
RND Generates random number.
ROLLBACK TRANSACTION see "rollback work".
ROLLBACK WORK Rolls back a transaction.
ROOT Loads the root.variable with the root FID of the specified index.
RQM Suspends processing for a specific amount of time.
sc.expression Derives a subvalue count.
SCAN Searches the "string.expression" for attribute marks, value marks, subvalue marks, and up to 3 user specified search.delimiters. The search.delimiters must be separated by a system delimiter (' " \). Returns character position of first match, 0 if no matches.
Boolean Evaluation Evaluation of null and zero.
secondary see "readnext".
SELECT Creates internal active list.
SEND Sends output to a specific port.
SENTENCE gets the tcl line
SEQ Converts ASCII expression to numeric equivalent.
SIN Calculates sine of angle.
SLEEP Suspends processing for a specific amount of time.
SORT Sorts a string of attributes or values.
SOUNDEX Returns soundex value for specified string.
SPACE Generates string of spaces.
special characters Reserved characters and their functions.
SPOOLER Provided for licensee compatibility, always returns 0.
SPOOLQ Enables or disables the spooler entry number message
SQRT Calculates square root.
SQUOTE Extracts a single-quoted string from string.expression.
statement labels used as the destination of a "goto" or "gosub" statement.
statements & functions Definition of statements and functions.
STATUS returns the value of system(0).
STOP Terminates program.
STR Generates string of characters.
string.expression An expression which evaluates to a string.
SUBROUTINE Defines program as external subroutine.
substring assignment Assigns to a substring.
substring expressions Extracts from, or assigns to, a substring.
substring extraction Extracts from a substring.
substring field store Assigns to a substring.
SUM Returns the sum of a list of numbers
SUMMATION Returns the sum of a list of numbers
SWAP searches the "string.expression" for the "start"-th instance of the "search.string", then replaces "search.string" with "replacement.string" for the next "occurances" instances. If occurances is not specified, all occurances are replaced. If start is missing, the replacement starts with the first instance.
SYSTEM Displays status of system-controlled variables.
TA Toggles or resets the type-ahead buffer.
TAN Calculates tangent of angle.
TCL Performs TCL command expression.
TCLREAD Reads TCL command string into variable.
THEN In-line initiator.
THEN | ELSE statement.block provide program flow change based upon a boolean condition.
TIME Returns current time in internal format.
TIMEDATE Returns time and date.
TRANSACTION Enables or disables participation in a transaction.
TRANSACTION ABORT see "rollback work".
TRANSACTION CACHE Enables or disables the transaction read cache.
TRANSACTION COMMIT see "commit work".
TRANSACTION FLUSH Enables or disables the transaction flush mechanism.
TRANSACTION ROLLBACK see "rollback work".
TRANSACTION START
TRIM Trims leading, trailing, and/or redundant characters from a string.
TRIMB Removes trailing spaces from a string.
TRIMF Removes leading spaces from a string.
UNLOCK Resets execution lock.
UNTIL Part of "loop" and "for ... next" constructs.
update locks see "retrieval locks".
user exits, FlashBASIC List of FlashBASIC user exits.
vc.expression Derives a value count.
WEOF Writes an end-of-file mark to tape.
WHILE Part of "loop" and "for ... next".
WRITE Writes dynamic array to file.
WRITET Writes a string to magnetic media.
WRITEU see "write" or "matwrite".
WRITEV Writes one attribute.
WRITEVU Writes one attribute, without unlocking.
XTD Converts hexadecimal number to decimal.
zero, evaluation Evaluation of zero.
[ Substring extraction, assignment, or field store.
\ String delimiter or arithmetic operator.
\= Divides numeric expression and assigns modulo (remainder) to variable.
\ Calculates remainder of two numeric expressions.
] Substring, or text string extraction.
^ Mathematical operator (exponent).
CAPTURING see "execute" and "get".
Compile stamps Obtaining the internal information about compiles in D3.
Compile time/date stamps (R83) Obtaining the time and date of compiles in R83.
data representation two types of data: numeric and string.
error condition Definition of fatal FlashBASIC error conditions.
FlashBASIC converts Pick/BASIC source code into a list of binary instructions called object code.
$log Log file for FlashBASIC compilation errors.
FlashBASIC Differences Differences between Interpreter and FlashBASIC Compiler.
FlashBASIC error logging Compilation error logging in FlashBASIC.
format strings
screen general description of screen utility
global common See "common"
named common a global, common, FlashBASIC variable space used to store variables and arrays in the area identified by "id". Named common space is initialized only at logon and released at logoff.
non-fatal error condition an error which does not force termination of a program.
BASIC, Pick source code files (R83) R83 Pick/BASIC files require a "DC" in attribute 1.
RETURNING see "execute" and "get".
screen.display displays a screen and waits for a selection.
screen.erase erases a screen.
screen.init initializes the screen COMMON workspace.
screen.input input data from a formatted screen.
SETTING see "get" and "locate".
simple variable See "variables".
statement.block one or more statements that follow a FlashBASIC decision-path related token such as, but not limited to, "then", "else", "locked" and "onerr".
string expressions A string of characters.
u$pl.mon.data returns monitor data requested by vendors
u$uex.get.buf Get a block of consecutive memory.
u$uex.rel.buf Release a consecutive block of memory.
u0003 Returns the TCL command invoking the FlashBASIC program.
u0004 Returns term type in dynamic array format.
u0005 Clears the type-ahead buffer
u000e Gets the name of the currently logged-to account.
u0010 Creates a phantom process
u0011 Gets the port number of the scheduler process.
u001c Gets the number of attributes after a "matread".
u001f Returns the last "shutdown" status.
u0033 Converts a decimal number into a roman numeral.
u0039 Performs a disk read (PC BIOS "INT 13" call).
u005b Clears the internal Basic heading and footing so that subsequent heading and footing statements will display properly at the top of the next page.
u0079 Returns "where" status.
u007A updates a binary item.
u0089 Converts a hex string to a binary string.
u009d Encodes or decodes a string of characters.
u009e Scans and replaces text.
u00b9 Returns a soundex value for a specified string.
u00ba Performs a write to the video controller card (PC BIOS "INT 10" call).
u014a Performs a disk read (PC BIOS "INT 13" call).
u014b Performs a disk write (PC BIOS "INT 13" call).
u017e Allow output of any character.
u01b6 Converts a numeric expression to the number of units as defined by the set-units, set-dozens, set-decimal or set-thousands verbs.
u0209 returns alphabetic and numeric characters only
u0358 Allows character input combined with an 'End Of Input' (EOI) character.
u1072 Sorts a dynamic array.
u10b9 Converts currency punctuation to "International".
u11b6 Converts a unit expression to a numeric value as defined by the set-units, set-dozens, set-decimal or set-thousands verbs.
u1209 Breaks a single line of text into multiple lines
u1f returns boot status
u20b9 Converts currency punctuation to "American".
u2117 Returns information about the current process.
u21a3 Opens a file, or reads the next attribute from a file.
u21b6 Returns a numeric value representative of the current unit setting defined by the set-units, set-dozens, set-decimal or set-thousands verbs.
u222d Retrieves the CC pointer item information
u28 Returns file-save count.
u3060 Encrypts a character string.
u3079 Returns the PCB fid or the port number for the current port.
u307a Suspends processing until a specified time.
u3090 Aborts a FlashBASIC program.
u313c Returns the diskette drive type and density selected.
u352e Retrieves buffer status.
u3b Returns information about the port.
u3f Converts an ASCII hex-format string to binary and sends it to the printer.
u4070 Sends all subsequent output to the terminal.
u407a Suspends processing for a specified amount of time.
u4117 Returns the PCB fid for the current port.
u4209 parses the input into discrete words.
u50bb Returns the port number, user-id and current account name.
u5117 Returns the PCB fid for port 0.
u60ba Shuts down the Pick System.
u60bb Returns the D3 user-id and account name.
u6193 Shortens the input string to last 3 characters.
u63 Sets/Clears privilege bits
u0065 Returns the estimated number of items in a file.
u7000 Returns the size of an item.
u70ba Forces system restart.
u7193 Date conversion.
u8194 returns the number of items selected by the most previous select.
u90 returns the file-of-files number for the previously access file.
u90e3 Flips the parity on the input
u0091 reads and writes Pick shell variables.
u9116 Logs on a specified port.
u92 follows the links of a frame
ua116 Logs off a specified port.
ub070 Returns the absolute value of a variable.
ub0ba Reads from a memory location.
uc0ba Writes to a memory location.
ud0ba Reads a character byte from a serial port.
ue0ba Writes a character byte out to a serial port.
uf070 Toggles multi-user mode and returns system information.
variable
variables store a number, string, file descriptor, or select list, and may change dynamically throughout the execution of the program.
waiting see "get".
Background/Phantom Processing Pick Manual Home BASIC Debugger