uses a simple recursive stateless parser (could be optimized in stack useage and speed by a state-table driven approach)

parses the script into a Tree representation in a first step

then, evaluates the expressions and statements according to the current environement

this allows to store scripts in translated form and reevaluate them when needed (e.g. on mouse events)

uses Foundation for basic types (string, number, boolean, null)

uses WebScriptObject as the base Object representation

DOMObjects are a subclass of WebScriptObjects and therefore provide bridging, so that changing a DOMHTML tree element through JavaScript automatically triggers the appropriate WebDocumentView update notification

9. the CSS engine

CSS style sheets are translated into a DOMCSS tree

@import ed sheets are loaded as needed

the CSS is not yet applied to the HTML -> NSAttributedString translation