compil {-a}{-i}{-m}{-n}{-o}{-s}{-w:###}{-x:#}{-v:#} file
ocmpil {-a}{-m}{-n}{-o}{-s}{-w:###}{-x:#]{-v:#} file
complp {-a}{-d}{-i}{-m}{-n}{-o}{-s}{-w:###} file
The UNIX version of these commands use the same syntax, and the switches must be given in lower case.
These commands are not included in the standard release (since they mainly appeal to a very select group of developers). Most developers would use the A-Shell command (LIT) versions of the same commands. Contact MicroSabio if you are interested in the native versions.
The compil, ocmpil and complp commands are equivalent to the A-Shell command (LIT) programs of the same name. The first two are AlphaBASIC 1.4 and AlphaBASIC 1.3 compilers respectively, and the last is an enhanced version of the 1.4 compiler which supports the DO WHILE/LOOP UNTIL and IF/ELSE/ENDIF constructs and selected other features of AlphaBASIC-Plus. One difference in operation between these native (UNIX) commands and the corresponding A-Shell commands is that the command line switches, instead of appearing after the program name (e.g. /A), are given with a hyphen before it. This is analogous to the way all UNIX commands function.
A second difference is the amount of memory available. When compiling underneath A-Shell, the amount of memory available for compilation is based on your memory partition size (defined by the MEMORY statement in the miame.ini file.) On the other hand, when compiling at the host operating system level, the default amount of memory is 600K for UNIX. (This is automatically reduced to the maximum size available if necessary.) If you are still getting “%Out of Memory” errors (compiling very large programs) then you can request a larger block of memory with the -w:#### switch (where #### is the requested amount of memory in K.). For example, the switch -w:1024 would request 1 Mb (1024K) of memory for the compilation. The -w switch is only available in the native versions of the compilers, and is only really useful under UNIX (where lots of memory is available).
A third difference between the native and A-Shell-internal compilers is that the native compiler uses stdout (the standard output channel) for output, and thus you may create a UNIX script file to compile a lot of programs, redirecting the output to a list file which you can check later for errors.