Browse Prior Art Database

The Command Language in XDE

IP.com Disclosure Number: IPCOM000034618D
Original Publication Date: 1989-Mar-01
Included in the Prior Art Database: 2005-Mar-09
Document File: 4 page(s) / 13K

Publishing Venue

IBM

Related People

Gest, SB: AUTHOR [+2]

Abstract

XDE is an advanced software development environment targeted for the IBM RT PC* running IBM's proprietary UNIX** operating system AIX***. The command language in XDE contains a unique combination of features that fits the needs of the environment and those of the host languages. Although many of the features of this language are not individually unique, their combination provided an elegant and powerful solution to many of the environment's command language problems. Several aspects of the command language will be covered in this disclosure. First, a rough description of the command syntax will be given. This is followed by a discussion of variables, pseudo variables, keyword variables, macros and scripts, and pseudo macros. Finally invocation methods and user configurable invocation methods are discussed.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 38% of the total text.

Page 1 of 4

The Command Language in XDE

XDE is an advanced software development environment targeted for the IBM RT PC* running IBM's proprietary UNIX** operating system AIX***. The command language in XDE contains a unique combination of features that fits the needs of the environment and those of the host languages. Although many of the features of this language are not individually unique, their combination provided an elegant and powerful solution to many of the environment's command language problems.

     Several aspects of the command language will be covered in this disclosure. First, a rough description of the command syntax will be given. This is followed by a discussion of variables, pseudo variables, keyword variables, macros and scripts, and pseudo macros. Finally invocation methods and user configurable invocation methods are discussed.

     The command language must accommodate both the needs of the environment itself and the needs of the host language. The command language will be superset of the DBX command language. In this way, users familiar with DBX will have a much shorter learning period. The syntax given is not intended to be parsable, but, rather, to give the reader the flavor of the command language. The command language contains simple constructs for invoking commands such as:

<commandName> <expr> <expr> <expr> ...

     An assignment statement is included to allow easy setting of program variables, user variables, and profile variables. (A discussion on variables will appear in a later section.) The assignment statement has the usual syntax:

<lexpr> = <expr>

     Two control constructs are included to allow more powerful commands to be built. The control structures are 'if' and

if ( <expr> ) {

<statement-sequence> } else if ( <expr> ) {

<statement-sequence> } else {

<statement-sequence> }

     Of course, the elseif and else clauses are optional. The loop syntax is as follows:

loop {

<statement-sequence }

1

Page 2 of 4

     Continue and break commands are supplied to allow the user to control loops, as necessary. All statements must be terminated with a semi-colon. If the command line is typed via the keyboard, the semi- colon may be omitted unless more than one command is to be typed on the same line. The semi-colon is required if the command is in a script.

     Variable references in the command interpreter must follow the same scope and typing rules as required in the host language. The type of a variable is simply the type assigned by the user when the application was built. Thus, any assignment to any application variable must be converted appropriately prior to assignment.

     Variables which are not part of the application are environment variables. These variables are dynamically typed and do not require declarations. Environment variables are created by simply assigning a value to a variable name. If the variable does not exist, it will be created in the environment variable space.

     Variable scoping in the command interpreter is done in much the...