Go to the first, previous, next, last section, table of contents.


Detailed implementation

Processing a document

The LaSt engine processes a document in several passes, some of which only have to be made in certain occasions. In the list below the steps are explained in more detail.

Reading inputs
The program inputs are read and analyzed for errors. All included files are read and parsed using the PiLLoW parser [CHV99], and program exit is made on fatal errors.
Loading packages
The named packages are loaded if changed on disk or not previously loaded. In server operation, loading will normally only occur once for each package, where after it's contents are stored internally in a compiled form. Prolog files will only be loaded once, even if they change on disk.
Reading RadioWeb document
The RadioWeb document is further parsed for dynamic objects, and each object is processed as follows:
WSDL data is created
The WSDL interface is called, thus producing the structured data to use and causing initial calls to the WOF interpreter if necessary.
Initializing
Choices for the particular object are set and the library routines are initialized.
Layout processing
The LaSt rules are processed, finding the corresponding layout for the object.
Constraining default values
Default values are set for all free variables, and constraints are applied to these bindings. If the constraints fail, any set of default values are returned.
Result output
The result for all the objects is collected and output.

Future improvements

The current LaSt engine is not complete with regard to the LaSt language, but implements almost all features. There are also some improvements to do regarding the actual implementation, as listed below. The list of shortcomings is not ordered in any way.


Go to the first, previous, next, last section, table of contents.