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.