SDF ensures that only statements without syntactical errors are read. This does not exclude the possibility that an operand value read in may be invalid in a specific situation. When the user program checks the validity of the operand values read in, the user can use the CMDCST macro to define a correction dialog (see example on "Example: Program for copying files") to deal with errors.
If users want their programs to execute as a subprogram to which the calling program passes the statements, they can use the CMDCST macro to direct SDF to perform the statement analysis also.
By means of the STMT operand (cf. the CMDRST and CMDTST macros) the user can limit the number of permissible statements. For example, immediately after initiation of SDF-A, only the OPEN-SYNTAX-FILE, DEFINE-ENVIRONMENT and COMPARE-SYNTAX-FILE statements are permissible in addition to the standard statements. By means of the PREFER operand (see CMDRST) the user can specify that, in guided dialog, the form of the statement expected by the program is displayed instead of the statement menu. This does not, however, prevent the user from entering a statement different from that which is expected. For example, immediately after an EDIT statement SDF-A expects a corresponding MODIFY statement, but the user may enter any other SDF-A statement instead of the expected MODIFY statement.
With the aid of the SPIN operand (see the CMDRST macro) the user can specify that, in batch mode or in procedures, all statements up to the next STEP or END statement are skipped.
The CMDSTA macro causes the user program to be supplied with information on the activated syntax files and the definitions applicable for the command/statement input. When interpreting this information it should be borne in mind that the user ID is specified as part of the name of a syntax file only if the syntax file is cataloged under a different user ID (see example).