The Interactive Command Interpreter

The interactive command interpreter is invoked using the "interactve" command in the compiled version of the language. One may intermix "interactive" commands arbitrarily with other commands, or one may test exclusively with the interactive interface using the following driver definition.

driver
interactive
enddriver

The Windows Version of FHDL supports only the interactive version of the driver.

The interactive command interpreter provides a language which is virtually identical to the compiled driver language. There are, however, certain differences which are outlined in this section. Interactive commands are entered in response to prompts. The prompt may have several forms depending on the way commands are entered. The basic prompt is a greater-than sign ">". If a line ending with a comma is entered, the greater-than sign changes to a plus-sign, "+", to indicate that a continuation of the same line is being entered. If a complex command, such as an "if" statement or a "for" statement is entered, the prompt will be preceded by a number to indicate the nesting level. Any partially entered command may be deleted by pressing control-C. Control-C may also be used to prematurely terminate the execution of a loop. (Control-| may be used to kill the simulation in an emergency.) As with the compiled language, a semi-colon may be used to place more than one command on a line.

Interactive commands may not be labeled (except in certain cases where labels are required). Furthermore, it is not necessary to precede the op-code of a command with a space or a tab, although it is permitted to do so. Alogic macros may not be used with the interactive language. A native macroing facility is provided instead.

A few commands change function when they are used interactively. The quit command is used to exit interactive mode rather than to terminate the simulation. The interpret command is identical to the include command. The function of the include command does not change. The interactive command may be used within a command file to allow commands to be entered interactively. It is equivalent to "include /dev/tty". Control-D must be used rather than "quit" if it is necessary to exit from the interactive mode back to the command file. The "quit" command terminates the command interpreter, regardless of nesting levels. Control-D may always be used to exit from interactive mode, regardless of how it was invoked. Labels are required on all "on" and "xon" commands. With these exceptions, all commands described in section 4 above may be used interactively.

There are also a few new commands that enhance the utility of the interactive interface. These are as follows.

The help Command

The show Commands

Interactively Specified Macros

The remove Statement