Description of the Pascal procedures
supporting remote control of a program

Procedures to add entries in the symbol table

www_AllocateConst
(Line where constant is declared,
Name of constant as a string,
Value of constant as a string);

adds an entry for the constant in the symbol table

www_Allocate
(Line where variable is declared,
Name of variable as a string,
Value of variable as a string);

adds an entry for the variable in the symbol table

www_AllocateEnumeration
(Line where enumeration variable is declared,
Name of variable as a string,
Address of variable,
String of all values in the enumeration);

adds an entry for the enumeration variable in the symbol table; all the values of the enumeration are given to build the single select widget.

www_AllocateSet
(Line where set variable is declared,
Name of variable as a string,
Address of variable,
String of all values in the enumeration base type);

adds an entry for the set variable in the symbol table; all the values of the base type (enumeration) are given to build the multiple select widget.

www_AllocateStructure
(Line where the record or the array variable is declared,
Name of variable as a string,
Address of variable);

adds an entry for the structure in the symbol table; a call to this procedure will have to be followed recursively by a call to www_Allocate... for each component of the structure, then by a call to www_EndStructure.

www_EndStructure;

indicates that we are done adding entries for the components of the most recent structure still being declared.

www_AllocatePointer
(Line where the pointer variable is declared,
Name of variable as a string,
Address of variable);

adds an entry for the pointer variable in the symbol table.

Procedures to notify of a change in a variable

www_RedefineString
(Line where the string variable is modified,
Name of variable as a string,
new value of variable);

changes the value associated with the corresponding entry in the symbol table.

www_RedefineInteger
(Line where the integer variable is modified,
Name of variable as a string,
new value of variable);

changes the value associated with the corresponding entry in the symbol table.

www_RedefineReal
(Line where the floating point variable is modified,
Name of variable as a string,
new value of variable);

changes the value associated with the corresponding entry in the symbol table.

www_RedefineEnumeration
(Line where the enumeration variable is modified,
Name of variable as a string,
Ordinal of new value of variable);

changes the value associated with the corresponding entry in the symbol table.

www_RedefineSet
(Line where the set variable is modified,
Name of variable as a string,
Ordinal of a value of base type,
boolean indicating whether this value of base type is in the set or not);

this procedure is usually called in a loop to redefine all the set, each value of the base type at a time.

www_RedefinePointer
(Line where the pointer variable is modified,
Name of pointer variable as a string,
New value of pointer);

changes the value associated with the corresponding entry in the symbol table.

www_RedefineStructure
(Line where the structure is modified,
Name of variable as a string);

a call to this procedure indicates that part or all of the structure has been modified. Each modified component will be redefined through a call to one of the www_Redefine... procedures according to its type.

www_RedefineDyn
(Line where the object pointed to by a pointer variable is modified,
Name of pointer variable as a string);

a call to this procedure indicates that an object accessible with a pointer has been modified. This call will be followed by a call to the www_Redefine... procedure corresponding to the type of the object pointed to.

Procedures to remove entries from the symbol table

www_Remove
(Line where the variable or constant was declared,
Name of variable or constant);

remove the entry for the corresponding variable or constant from the symbol table. When a procedure is about to be exited, calls to www_Remove should be made for every constant or variable that is local to that procedure.

www_Dispose
(Line where the dispose procedure is called,
Name of pointer variable as a string);

remove the entry for the corresponding dynamic object from the symbol table.