In a computer, a user interface allows users to input requests to various applications
or software modules executing on the computer. During the input process, the invention
presents to the user a grammar-based automatic completion of the user input so
far, and/or a grammar-based suggestion list of one or more possible options for
completing the user input.