Run Compatible

Updated and Reviewed August 2010

The RC switch enables the use of several compiler and source code enhancements without breaking backwards Runtime Compatibility with AMOS. To be effective, you must use with COMPIL.LIT / OCMPIL.LIT 1.0(117)+ (not COMPLP) and without any of the /X:# switches. The idea is to accommodate people who want to compile under A-Shell and use as many A-Shell features as possible, but still retain the option of copying the RUN files to AMOS for execution there. RC was added to A-Shell in Build 924 of 29 March 2005.

The features which /RC adds to COMPIL or OCMPIL can be divided into fully and partially supported categories, as shown below.

Fully Supported:

DEFINE

SIZEOF(var)

DEFSTRUCT / ENDSTRUCT

Use of underline in identifiers

Hex, Octal, ASCII Literal Values (&h10FC, &o1777, 'a')

Max source line length of 3070 instead of 512

IF / ELSE / ELSEIF / ENDIF

++INCLUDE nested 13 levels deep

DO / WHILE ... UNTIL / LOOP

++PRAGMA (all)

BasicPLUS-style FOR/NEXT
semantics (test before loop)

Comment may follow an & on a continuation line

EXIT / REPEAT

++ERROR, ++MESSAGE

SWITCH / ENDSWITCH

Conditional compilation (++IF, ++IFDEF, ++IFNDEF, ++IFMAP, ++IFNMAP, ++ELSE, ++ELIF, ++ENDIF)

Shortcut Operators (var += <expr>, etc.)

 

 

Partially Supported:

3D TAB(x,y,z): z value ignored

DPRINT / EPRINT / TPRINT: compiled as if PRINT

TRACE.xxxx / DEBUG.xxxx: compiled as XCALL EVTWIN

DIMX: compilation only, and only if OPTIONS=RC_DIMX.

 

See the discussion on A-Shell Extensions for more information on all of the above statements and features.