NOTE:
This project is no longer being maintained: it was developed for my masters thesis, which was completed in early 1997. I still, however, welcome any questions or comments that people may have.

[Home] [ToC] [Up] [Prev] [Next]


iHTML Language Services

Scripts

The language scripting services provide control of a language modules applet and document scripting (or data type handling) implementation.


Types

IHLangCode
Synopsis
Information about a single piece of code executing in a language environment.
Definition
void* (This is an opaque type that is defined by the language's internal implementation.)
See Also
IHLangEnv, IHCodeInfo

This type encapsulates the language module's information about a single piece of code that is in one of its environments. This may include such things as the symbol table it is executing in, current status, and the compiled code itself.


Functions

AllocEmbedded
Synopsis
IHEmbeddedInfo* AllocEmbedded(IHEmbeddedInfo* ei)
Arguments
(IHEmbeddedInfo*) ei
The embedded object the library is allocating.
Return
(IHEmbeddedInfo*) The same embedded object that was handed in, or NULL if there was an error.
See Also
IHEmbeddedInfo, IHCodeInfo,

Add the given embedded object to its environment. This may involve, for example, compiling the code and creating a new symbol table for it; this program state information can be kept by allocating an IHCodeInfo structure at this point, and assigning it to the code.code field of the IHEmbeddedInfo.

AllocModule
Synopsis
IHModuleInfo* AllocModule(IHModuleInfo* mi)
Arguments
(IHModuleInfo*) mi
The module the library is allocating.
Return
(IHModuleInfo*) The same module that was handed in, or NULL if there was an error.
See Also
IHModuleInfo, IHCodeInfo,

Add the given module to its environment. This may involve, for example, compiling the code and creating a new symbol table for it; this program state information can be kept by allocating an IHCodeInfo structure at this point, and assigning it to the code.code field of the IHModuleInfo. Be sure to check the program field, as this function is called for both "real" modules, and the module representing the main document program.

FreeEmbedded
Synopsis
void FreeEmbedded(IHEmbeddedInfo* ei)
Arguments
(IHEmbeddedInfo*) ei
The embedded object the library is deallocating.
Return
nothing.
See Also
IHEmbeddedInfo, IHCodeInfo, AllocEmbedded,

Remove the given embedded object from its environment, and deallocate any IHCodeInfo resources associated with it.

FreeModule
Synopsis
void FreeModule(IHModuleInfo* mi)
Arguments
(IHModuleInfo*) mi
The module the library is deallocating.
Return
nothing.
See Also
IHModuleInfo, IHCodeInfo, AllocModule,

Remove the given module from its environment, and deallocate any IHCodeInfo resources associated with it.

StartEmbedded
Synopsis
void StartEmbedded(IHEmbeddedInfo* ei)
Arguments
(IHEmbeddedInfo*) ei
The embedded object to start.
Return
nothing.
See Also
IHEmbeddedInfo, AllocEmbedded,

Start execution of the given embedded object. This is called after the language environment it is in has been started.

StopEmbedded
Synopsis
void StopEmbedded(IHEmbeddedInfo* ei)
Arguments
(IHEmbeddedInfo*) ei
The embedded object to stop.
Return
nothing.
See Also
IHEmbeddedInfo, AllocEmbedded,

Stop execution of the given embedded object. The language should be prepared to have this function called even if the object isn't currently executing.


[Home] [ToC] [Up] [Prev] [Next]

_________.oo_Q_Q_oo.____________________________________________
Dianne Kyra Hackborn <hackbod@angryredplanet.com>
Last modified: Tue Oct 8 04:47:45 PDT 1996

This web page and all material contained herein is Copyright (c) 1997 Dianne Hackborn, unless otherwise noted. All rights reserved.