xcall MIAMEX, MX_COMPIL, filename, switches {,defbuf, vcpattern, status}
MX_COMPIL (MIAMEX 15) is used to implement the A-Shell command programs COMPIL.LIT, OCMPIL.LIT, PRE.LIT and OPRE.LIT, by calling into the ASB 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.