Specifies that the input file is a VAX C or DEC C source file.
If the /C qualifier is used on the command line, the RDML
preprocessor will assume a file extension of ".RC" unless you
specify otherwise in the file specification.
Format:
/C
Example:
$ RDML/C EMPUP
1 – More
The following restrictions affect the use of C host variables:
o Host variables in C of the form *host_variable that appear directly
after a host variable in an RSE are not detected correctly. For
instance, *year_ptr is interpreted incorrectly as part of the host
variable emp_id in the following example:
FOR D IN DEGREES WITH D.EMPLOYEE_ID = emp_id
*year_ptr = D.YEAR_GIVEN;
END_FOR;
The workaround for this restriction is to use braces around the host
language statements, or parentheses around the WITH clause. For
example, either of the following RSEs will preprocess correctly:
FOR D IN DEGREES WITH D.EMPLOYEE_ID = emp_id
{
*year_ptr = D.YEAR_GIVEN;
}
END_FOR;
FOR D IN DEGREES WITH (D.EMPLOYEE_ID = emp_id)
*year_ptr = D.YEAR_GIVEN;
END_FOR;
o Although host variables with parentheses are permitted in non-RDML
statements, they cannot be used as host variables in RDML statements.
For example, the following syntax is not permitted:
FOR E IN EMPLOYEES
WITH E.LAST_NAME = (name)[offset].element
.
.
.
END_FOR;
However, the following is permitted:
FOR E IN EMPLOYEES
WITH E.LAST_NAME = name[offset].element
.
.
.
END_FOR;
The C string continuation character (a backslash, \) in string
constants followed immediately by a new line is not recognized by
RDML. Do not use this method of continuation with this version of
RDML. RDML generates an error if it finds a string constant that does
not begin and end on the same line within quotation marks.
For example, the following C lines cause a syntax error:
printf ("abcdefg\
hijklmnopqrstuvwxyz");