Purpose
Compile a model
source file.
Synopsis
int XPRMcompmod(const char *options, const char *srcfile, const char *dstfile, const char *userc);
int XPRMcompmodsec(const char *options, const char *srcfile, const char *dstfile, const char *userc, const char *passfile, const char *privkey, const char *kfile);
Arguments
|
options
|
Compilation options (may be
NULL, options may be separated by spaces or
'-' symbols):
|
"g"
|
Include
debugging information: in the case of a runtime error during the execution of the model the location of the error in the source file may be indicated and private symbols are included in the BIM file (they are by default not saved)
|
|
"G"
|
Include
tracing information: with this option the model can be run through the debugger for an execution step by step
|
|
"p"
|
parse only: stop after the syntax analysis of the source file, do not compile (no file generated)
|
|
"x"
|
extract messages for translation (generation of a POT file in place of a BIM file)
|
|
"ni"
|
Disable implicit declarations
|
|
"na"
|
Disable assertions in debug mode
|
|
"wi"
|
Emit a warning message each time a symbol is implicitly declared
|
|
"wu"
|
Report unused public symbols (except subroutines in packages)
|
|
"we"
|
Handle warnings like errors
|
|
"D"
|
Generate and record documentation annotations
|
|
"bx=prefix"
|
Package prefix (can be quoted with single or double quotes)
|
|
"ix=prefix"
|
Include source prefix (can be quoted with single or double quotes)
|
|
"I"
|
Enable xbim extensions
|
|
"S"
|
Sign the BIM file
|
|
"E"
|
Encrypt the BIM file
|
|
"F"
|
The argument
pass is a file name (not the password itself)
|
|
"V"
|
Accept to load signed packages only if their signature can be verified
|
|
"T"
|
Accept to load only signed packages with a valid signature
|
|
"m[=macdef]"
|
Process input file with
mmpp before compilation. If provided,
macdef is interpreted as the name of an initialisation file for the preprocessor
|
|
|
scrfile
|
Name of the source file
|
|
dstfile
|
Name of the destination file (may be
NULL)
|
|
userc
|
Commentary text that will be saved as is at the beginning of the output
file (may be
NULL)
|
|
passfile
|
Password or password file (for encryption with a password)
|
|
privkey
|
Private key file (for BIM file signing)
|
|
kfile
|
File of public keys (for encryption with public keys)
|
Return value
|
0
|
Function executed sucessfully
|
|
1
|
Parsing phase has failed (syntax error or file access error)
|
|
2
|
Error in compilation phase (a semantic error has been detected)
|
|
3
|
Error writing the output file
|
|
5
|
Preprocessor phase failed
|
Further information
1. This function compiles a given model source file into a binary model
file (BIM
file) that is required as input to function
XPRMloadmod for executing the model. The second form of the function will be used to generate encrypted and/or signed BIM files.
2. The source file name may contain environment variable references using the notation
${varname} (for example, `
${XPRESSDIR}/examples/mymodel') that are expanded to generate the actual name. If no destination file name is provided, the output file takes the same name as the source file with the extension
.bim. Note that the empty string (
i.e.
"") is interpreted as the standard input for
srcfile and as the standard output for
dstfile.
3. The argument
kfile is a list of public key files (
i.e. each line of the file is a key file name): when encrypting a file, the encryption is performed for each of the listed public keys such that the BIM file can be decrypted by any of the corresponding private keys.
4. When prefixes provided via
bx or
ix are quoted with double quotes, backslashes are interpreted such that special characters can be included in the string. It is therefore required to double this symbol when it has to be included (
e.g.
'bx="C:\\mydir"').
5. The option
-m activates the processing of the source file with the preprocessor
mmpp before compilation. The optional file name
macdef is an initialisation file for the preprocessor: it may contain initial macro definitions and settings.
Related topics
© 2001-2026 Fair Isaac Corporation. All rights reserved. This documentation is the
property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not
convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except
solely for internal evaluation purposes to determine whether to purchase a license to the software
described in this documentation, or as otherwise set forth in a written software license agreement
between you and FICO (or a FICO affiliate). Use of this documentation and the software described in
it must conform strictly to the foregoing permitted uses, and no other use is permitted.