7.15.8 Generating Logiweb machines

Prev Up Next Page 270 of 800 Search internet

A definition like

   define "execute" of "eecho" as << Eecho >> end define

makes the Logiweb compiler generate a machine named eecho whose handler is Eecho.

After macro expansion, the principal operator of the right hand side of the definition must have arity at least two. Above, after macro expansion, the principal operator is a pair operator which has arity two.

The first subtree of the principal operator is used as handler. The system specific information s of the boot event is derived from the second subtree of the principal operator.

Generation of machines is part of the rendering process which may be customized by the user. For more on this see the lgc page.

A definition like

   define "execute" of "eecho" as
   << Eecho ,, "a" ,, "b" >> end define

makes lgc generate a Logiweb script with 'a' and 'b' in Line 6 and 7 of the script so that 'a' and 'b' end up being included in the system dependent information of the boot event. Such system dependent information may be given as strings as above or may be given as maptagged functions. In the latter case, the system dependent information is generated in a more complex way. As an example, one may use this to pass the host newline convention on to the generated machine. For more see the section on default rendering of executables in the lgc page.

In general, the contents of the script will be: Line 1 contains '/usr/bin/lgwam script' or whatever the script option of lgc(1). Line 2 will contain the word 'execute' which is the only method which is not deprecated. Line 3 will contain the reference of the page which defines the eecho machine. Line 4 will contain the aspect 'execute' which is the only aspect for which lgc generates machines. Line 5 will contain the symbol 'eecho' which indicates which handler to execute. As mentioned, Line 6 and 7 will contain 'a' and 'b', respectively.

In some cases one may want a page to represent one and only one anonymous machine. In that case it is suggested to name that machine 'main' (so that it is not really anonymous). As an example, if one wants to construct a Logiweb browser which can display pages with dynamic behavior, then one could let the anonymous machine of the page define the behavior.

Prev Up Next Page 270 of 800 Search logiweb.eu

Copyright © 2010 Klaus Grue, GRD-2010-01-05