IRQ_SYNTX

Check the syntax of a quality expression

Description:

The syntax of the supplied quality expression is checked, and an error is reported if a syntax error is detected. If any of the STATUS values IRQ__BADSY, IRQ__MSOPT or IRQ__MSOPD are returned (all of which correspond to various forms of syntax error in the quality expression, see ID6 appendix E), a pointer to the approximate position of the error within the quality expression is returned in ERRPNT. Note, in order for a quality expression to compile successfully (using IRQ_COMP), it must not only contain no syntax errors, but must also contain no undefined quality names. IRQ_SYNTX cannot check for undefined quality names.

Invocation

CALL IRQ_SYNTX( QEXP, ERRPNT, STATUS )

Arguments

QEXP = CHARACTER() (Given and Returned)
A quality expression. See ID6 section 5 for details of the allowed formats for quality expressions. On exit, the string is converted to upper case and any leading blanks are removed.
ERRPNT = INTEGER (Returned)
If any of the STATUS values IRQ__BADSY( " Unrecognised logical operator or constant" ), IRQ__MSOPT ( " Missing operator" ) or IRQ__MSOPD ( " Missing operand" ) are returned, then ERRPNT returns the offset within the quality expression at which the error was detected. Note, the offset refers to the returned form of QEXP, not the given form. These will be different if the given form of QEXP has any leading blanks. An offset of zero is returned if none of the errors associated with the above STATUS values occur.
STATUS = INTEGER (Given and Returned)
The global status.