basic.$options

Statement/BASIC Program, Releases: AP 6.2

Sets compatibility options for the BASIC compiler.

Syntax

$options {tag}

Description

sets compatibility options for the BASIC compiler.

By default, the compiler generates code compatible with the classic Advanced Pick product. The '$options' statement allows the use of new statements and functions as well as closer functional compatibility with other flavors of Pick. The following 'tag''s are currently available:


AP Advanced Pick - This is the default setting and provides code compatible with previous releases (provided new features are not used).

DEFAULT Default - This is the same as EXT and should be used as the new development default setting.

EXT Extended - This tag provides as many statements and functions as are available and should be used for all new development. Note that because many new functions are allowed, that array references in existing code may need to be changed to some other name for proper compilation.

GA General Automation - This is similar to the EXT option, but provides tighter GA compatibility with regards to the locate and match statements. It is suggested not to use this mode for new development as this setting will disallow any functions not provided by General Automation Pick.

IN2 IN2 - Currently the same as 'EXT'. Further compatibility changes may be made in the future to bring this setting closer to IN2 compatibility. Never use this setting for new development.

INFORMATION Prime Information - Currently the same as 'EXT'. Further compatibility changes may be made in the future to bring this setting closer to Prime Information compatibility. Never use this setting for new development.

PICK Pick System's R83 - Same as R83.

R83 Pick System's R83 - Currently the same as AP. Future development may make minor changes to allow slightly better run-time R83 compatibility. Never use this option for new development.

REALITY Reality - Currently the same as 'EXT'. Further compatibility changes may be made in the future to bring this setting closer to Reality compatibility. Never use this setting for new development.

It is suggested to use the '$options' statement at the top of the desired modules. Note that the default setting is 'AP', but this can be changed by setting the shell variable '@SYS.COMPILER' to one of the above tags.

It is illegal to use the '$options' statement multiple times within the same source item.

Example

$options ext
x='abc'
print ereplace(x,'a','b')

'bbc'

See Also

Command Name Type Description
basic.swap Function 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 miss
basic.scan Function 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 matc
basic.convertfn Function Converts characters.
basic.summation Function Returns the sum of a list of numbers
basic.dquote Function Extracts a double-quoted string from string.expression.
basic.squote Function Extracts a single-quoted string from string.expression.
basic.exchange Function converts characters
basic.fmt Function formats a string
basic.inmat Function returns information about arrays
basic.maximum Function Returns the maximum of a list of numbers
basic.minimum Function Returns the minimum of a list of numbers
basic.spooler Function Provided for lisensee compatibility, always returns 0.
basic.status Function returns the value of system(0).
basic.trimf Function Removes leading spaces from a string.
basic.trimb Function Removes trailing spaces from a string.
basic.ifr Statement Initiates a multi-attribute logical expression.
basic.compare Statement Compares two dynamic arrays.
tcl.@ Definition indicates a Pick shell variable

User Comments

What do you think?

Share your experience or ask a question by using the form below.

Login to leave your comments.