Updated January 2014
xcall MIAMEX, MX_COMPIL, filename, switches {,defbuf, vcpattern, status}
MX_COMPIL is used to implement the A-Shell command programs COMPIL.LIT, OCMPIL.LIT, PRE.LIT and OPRE.LIT, by calling into the A-Shell BASIC compiler which is coded in C. See the documentation on COMPIL for more information about the switches and variations of COMPIL.
filename (String) [in]
is the DevPPN file specification or host pathname of the program to be compiled. The compiler itself will default the extension to BAS if necessary.
defbuf (String) [in]
contains one or more "define sym = value" statements (corresponding to /C:sym=value command line switches). Each statement must be terminated with chr(10). String values must be quoted. For example, the defbuf equivalent of the command line:
compil prog/x:2/c:MODE=1/c:PLATFORM$=Win
would be:
defbuf = "define MODE = 1" + chr(10) + "PLATFORM$ = ""Win"""+ chr(10)
vcpattern (String) [in]
contains the pattern specified in /VC:pattern
status (Num) [out]
returns 0 if the compile succeeds, else failure.
switches (Num) [in]
is a bitmap of switch values as listed below:
Symbol |
Value |
Corresponding COMPIL.LIT switch or variation |
|
COMPIL_A |
&h00000001 |
/A, use 24-bit instead of 16-bit transfer addresses |
|
COMPIL_M |
&h00000002 |
/M, treat first instance of unmapped variable as an error |
|
COMPIL_O |
&h00000004 |
/O, omit line numbers from compiled program |
|
COMPIL_13 |
&h00000008 |
Act as OCMPIL instead of COMPIL |
|
COMPIL_S |
&h00000010 |
/S, silent output – omit ++include lines |
|
COMPIL_N |
&h00000020 |
/N, omit phase two compilation statistics |
|
COMPIL_X1 |
&h00000040 |
/X:1, act as COMPLP – BASIC Plus mode |
|
COMPIL_D |
&h00000080 |
/D, limited d/BASIC support |
|
COMPIL_X2 |
&h00000100 |
/X:2, A-Shell extensions |
|
COMPIL_V1 |
&h00000200 |
/V:1, BASIC 1.4a compatibility |
|
COMPIL_T |
&h00000400 |
/T, Trace – output source while compiling |
|
COMPIL_I |
&h00000800 |
/I, assume old ISAM in ambiguous OPEN statements |
|
COMPIL_AV |
&h00001000 |
/AV, handle >65K variable space |
|
COMPIL_B |
&h00002000 |
/B, output errors to prog.lst |
|
COMPIL_MX |
&h00004000 |
/MX, like /M but complain for every occurrence of each unmapped variable |
|
COMPIL_X3 |
&h00020000 |
/RC, RUN compatibility |
|
COMPIL_DBG |
&h00080000 |
/LF, generate lsx (list) file |
|
COMPIL_RC |
&h00100000 |
/CI, case insensitive |
|
COMPIL_G |
&h00200000 |
/C:sym=value |
|
COMPIL_LSM |
&h00400000 |
/IEEE |
|
COMPIL_LF |
&h00800000 |
/VC:pattern |
|
COMPIL_CI |
&h01000000 |
/LI |
|
COMPIL_C |
&h02000000 |
/P, preprocess for named parameter support |
|
COMPIL_IEEE |
&h08000000 |
/CTAGS |
|
COMPIL_VC |
&h10000000 |
/XTAGS |
|
COMPIL_LI |
&h20000000 |
/PX |
|
COMPIL_P |
&h40000000 |
/IGOO |
|
COMPIL_CTAGS |
&h80000000 |
(-l applies only to compil.exe) |
|
COMPIL_XTAGS |
&h100000000 |
/NOTRC |
|
COMPIL_PX |
&h200000000 |
/F1 |
|
Definition File: ashinc:compil.def |
History
2014 January, A-Shell 6.1.1371: Add support for /P.
2010 March, A-Shell 5.1.1177: Add status parameter.