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 |
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.