EARLY AND LATE EVENT-ACTIONS ---------------------------- In general, all variables and event-passed fragments in schema are evaluated right before the construct is executed (=at late-conversion-time). For example: variables substituted to string-expressions right before string expression will be used, tokens passed rihgt before events will be fired to Compi, event-patterns constructed right before their searh in source text; If event-action is escaped with perfixed sign "+" (plus), this procedure is changed. In this case, event-action, takes values at time when external-event (=parent event) came (= at time when this event-action is inserted into the queue == at parent-time ): it takes values of the external-event if any fragments are passed and it takes values of variables current to parent-time to string expressions if any. EXAMPLES. -------- Suppose source text is n k and at start up, variable var has value "" by default. In examples below, + sign corresponds to cases of early-actions. Replacing this + sign with asterisk * will make them examples of late event-actions. EXAMPLE 1. \\- n.w "O".=var +"$var ".w .w .& Output for EARLY is "nk". Output for LATE is "Ok" EXAMPLE 2. \\ -r n.w >s + s .w .& Output for EARLY is "nk", because event-action "+" will add event "x.w" to the queue. Output for LATE is "k" because event-action "*" will take word "k" from text. EXAMPLE 3. Event In the following example, action-events *.w and +.w add token's current value to themselves. However, late-event-action adds add "O" and early adds "n". \\ -r n.w >s O.=token +.w s .w .& Output for EARLY is "nk". Output for LATE is "Ok".