A Parsing the Interface File

 A.1 Parameter, Action and Keyword Names
 A.2 Error Reporting

Interface File parsing is case-insensitive, the file is interpreted as a sequence of tokens, where a token is a sequence of characters which are either all alphanumeric (with .;:+-()_[]"’<> being honorary alphanumerics) or all non-alphanumeric (i.e. anything other than alphanumeric and ‘white’). Tokens are thus terminated by anything of the opposite class or by a ‘white’ character. For this purpose, ‘white’ characters are space, tab, newline, comma or non-printable. Apart from their role as delimiters, ‘white’ characters are not significant.

The one exception to this is that, as a special case, a token may be a quoted string, i.e. a character string consisting of a set of characters enclosed in single quotes. The first quote must be the first character of the token and the token is terminated by the next isolated (i.e. not ) quote or the end of line. Thus two consecutive quotes in a quoted string will be interpreted as a single quote to be contained in the string.

Tokens may be one of:

Fields (but not tokens) may be split across lines if necessary.

Everything following # on a line (except within a character string) will be ignored. Thus # can be used to introduce comments.

A.1 Parameter, Action and Keyword Names

The question of what is a valid parameter, action or keyword name is rather complicated. It is affected by Interface File parsing, the parameter system, HDS and the particular user interface in use. Appendix E gives the maximum lengths allowed and, to avoid problems, it is recommended that names begin with a letter and continue with true alphanumeric characters or underscore.

Parameter, action and keyword names are converted to upper case for storage. If they are displayed, in prompts or error messages etc., they will appear in upper case.

A.2 Error Reporting

If an error is detected during the Interface File compilation phase, it is reported and, in most cases, the system is set into a state which is likely to enable it to continue. No further errors will be reported until a token acceptable in the new state is found. At the end of compilation a message giving the number of errors found will be reported. For some errors, where recovery is unlikely, compilation will stop immediately.

Unless compilation is aborted, a program reading the Interface File at run time, will go on and attempt to run with the information it has found and compifl will go on to write the .ifc file which could be read by the program later. In both cases the information obtained by the program will probably be incomplete and result in some unexpected defaults being used.