Skip to main content

Software > Software Development > IBM REXX Family >

NetRexx

Technical detail

Options instruction

options wordlist;

where wordlist is one or more symbols separated by blanks.

The options instruction is used to pass special requests to the language processor (for example, an interpreter or compiler).

Individual words, known as option words, in the wordlist which are meaningful to the language processor will be obeyed (these might control optimizations, enforce standards, enable implementation-dependent features, etc.); those which are not recognized will be ignored (they are assumed to be instructions to a different language processor). Option words in the list that are known will be recognized independently of case.

There may be zero or more options instructions in a program. They apply to the whole program, and must come before the first class instruction (or any instruction that starts a class).

In the reference implementation, the known option words are:
binary

All classes in this program will be binary classes. In binary classes, literals are assigned binary (primitive) or native string types, rather than NetRexx types, and native binary operations are used to implement operators where appropriate, as described in 'Binary values and operations'. In classes that are not binary, terms in expressions are converted to the NetRexx string type, Rexx, before use by operators.

crossref

Requests that cross-reference listings of variables be prepared, by class.

diag

Requests that diagnostic information (for experimental use only) be displayed. The diag option word may also have side-effects.

format

Requests that the translator output file (Java source code) be formatted for improved readability. Note that if this option is in effect, line numbers from the input file will not be preserved (so run-time errors and exception trace-backs may show incorrect line numbers).

logo

Requests that the language processor display an introductory logotype sequence (name and version of the compiler or interpreter, etc.).

replace

Requests that replacement of the translator output (.java) file be allowed. The default, noreplace, prevents an existing .java file being accidentally overwritten.

strictargs

Requires that method invocations always specify parentheses, even when no arguments are supplied.

strictassign

Requires that only exact type matches be allowed in assignments (this is stronger than Java requirements). This also applies to the matching of arguments in method calls.

strictcase

Requires that local and external name comparisons for variables, properties, methods, classes, and special words match in case (that is, names must be identical to match).

strictsignal

Requires that all checked exceptions signalled within a method but not caught by a catch clause be listed in the signals phrase of the method instruction.

trace

If given, trace instructions are accepted. If notrace is given, then trace instructions are ignored. The latter can be useful to prevent tracing overheads while leaving trace instructions in a program.

utf8

If given, clauses following the options instruction are expected to be encoded using UTF-8, so all Unicode characters may be used in the source of the program.

In UTF-8 encoding, Unicode characters less than '\u0080' are represented using one byte (whose most-significant bit is 0), characters in the range '\u0080' through '\u07FF' are encoded as two bytes, in the sequence of bits:

  110xxxxx 10xxxxxx
where the eleven digits shown as x are the least significant eleven bits of the character, and characters in the range '\u0800' through '\uFFFF' are encoded as three bytes, in the sequence of bits:
  1110xxxx 10xxxxxx 10xxxxxx
where the sixteen digits shown as x are the sixteen bits of the character.

If noutf8 is given, following clauses are assumed to comprise only Unicode characters in the range '\x00' through '\xFF', with the more significant byte of the encoding of each character being 0.

verbose, verboseX

Sets the 'noisiness' of the language processor. The digit X may be any of the digits 0 through 5; if omitted, a value of 3 is used. The options noverbose and verbose0 both suppress all messages except errors and warnings.

Prefixing any of the above with 'no' turns the selected option off.

Example:

  options binary nocrossref nostrictassign strictargs
The default settings of the various options are:
  nobinary crossref nodiag noformat logo noreplace
nostrictargs nostrictassign nostrictcase nostrictsignal
trace noutf8 verbose3
When an option word is repeated (in the same options instruction or not), or conflicting option words are specified, then the last use determines the state of the option.

All option words may also be set as command line options when invoking the processor, by prefixing them with '-':

Example:

  java COM.ibm.netrexx.process.NetRexxC -format foo.nrx
In this case, any options may come before or after file specifications.

Options set with the options instruction override command-line settings, following the 'last use' rule.

For more information, see the installation and user documentation for your implementation.

 

 

PreviousTable of contents Next
We're here to help
Easy ways to get the answers you need.
E-mail us

or call us at
877-426-3774
Priority code:
104CBW67