Directives
The CPO file format supports two types of directive: #include (to include a file) and #line (to set an additional line number for error reporting).
Directives start by the character # at the beginning of the line. No whitespace
before or after # is allowed.
Directive #include
The CPO file format supports a C-style #include directive to include one file from another. The path to the file can be absolute or relative to the current file or current working directory and must be enclosed in quotes. The included file must have a .cpo extension.

Example
#include "var_declaration.cpo"
alldiff([a, b, c, d]);
#include "params/myparams.cpo"
Directive #line
This directive tells the parser that subsequent lines of the CPO file were automatically generated from/by another file and indicates the source line in that file. This information is used by error reporting: if an error is found then the location of the error in both files is displayed. This is especially useful for debugging the generation of a CPO file from a program.
The syntax follows C standard: #line followed by line number and optionally
by the file name in quotes. Additionally it is possible to indicate that the
previous #line directive is no longer valid using #line off syntax:

If no file name is specified then the file name from the previous
#line directive is used. The first #line directive must provide a file name.
Unlike in C, the specified line number is not incremented automatically,
the same line number is used until the next #line directive.
Example
#line 112 "myprog.py"
"x[1]" = intVar(1..10);
"x[2]" = intVar(1..10);
"x[3]" = intVar(1..10);
x = intVarArray["x[1]", "x[2]", "x[3]"];
#line 113
alldiff(x);
#line off
x + y + z == 13
The first four lines are generated by line 112 in myprog.py, the line with
alldiff is generated by line 113 also in myprog.py, finally the last line
is not generated or its source location is unknown.