Document Type

Technical Report

Publication Date






Technical Report Number



This paper presents a method for automatically generating user interfaces to programs. All possible legal strings of input to a moderately interactive program, taken together, specify the input language of that program. A grammar for such a language is fundamentally knowledge about the language, and that knowledge can be used to assist the program's user in constructing legal program input. The set of words which can appear next in an input sentence, the 'Next set', is defined and a technique for calculating it with a modified version of Prologs's Definite Clause Grammar parser is given. One type of interface this method can generate is a menu-based front-end. The concept of menus is used very generally to include any method that allows a user to make a choice from among several options. The main difficulty with this technique is that menus may become very large (or may on occasion be infinite). This problem is overcome by the introduction of 'pre-terminals'-- classes of language terminals defined by predicates. When a preterminal is chosen from a menu, the user is prompted to type a value, which is then verified against the predicate associated with the preterminal.


Permanent URL: