STRE Prototype SGLB Misc/Class Reference CLAS 354631 ESBR SORD 2 LITO 0 Current state (initially set to 0) STRE state s-tree SORD 0 /e,Initialization;State STRE event s-tree SORD 0 event 0 LITO 1 /o;Initial state ESBR ESTR ESBR SORD 2 /*/O;State STRE event s-tree SORD 0 /*/O;Event number LITO 1 /o;New state ESBR SORD 1 /o;Event number LITO 1 /o;New state ESBR ESTR ESBR SORD 1 /o;State STRE event s-tree SORD 2 /*/O;Event number LITO 1 /o;New state ESBR SORD 1 /o;Event number LITO 1 /o;New state ESBR ESTR ESBR ESTR ESBR SGLB Output/#1 LCON /*+;State Output ESBR ESTR STRE SGLB Misc/Superclass Reference CLAS 354008 ESBR SGLB General/Initialize CMNT Invokes reset as a convenience CMNT Expects: É ¥ inst/É GSYM FSM/Reset É ¥ method/inst/É PRIM Heap/Delegate to self ESBR SGLB FSM/Event /3u3;Event number CMNT Expects: É ¥ inst/event/É PRIM Stack/Swap É ¥ event/inst/É PRIM Stack/Pop to aux É/event ¥ inst/É LITO 2 É/event ¥ 2/inst/É PRIM S_tree/Get exact É/event ¥ tree/2/inst/É PRIM List/Behead É/event ¥ state/state_tree/2/inst/É PRIM S_tree/Test for entry É/event ¥ rslt/state/state_tree/2/inst/É BRFL branch if no such state PRIM Stack/Drop É/event ¥ state_tree/2/inst/É PRIM Stack/Drop from aux É ¥ state_tree/2/inst/É LITO 0 É ¥ 0/state_tree/2/inst/É PRIM List/Splice É ¥ tree/2/inst/É PRIM S_tree/Put É ¥ inst/É GSYM FSM/Reset É ¥ method/inst/É PRIM Heap/Delegate to self if no such state, reset the machine BRTR PRIM S_tree/Get exact É/event ¥ event_tree/state/state_tree/2/inst/É PRIM S_tree/Test singleton É/event ¥ rslt/event_tree/state/state_tree/2/inst/É BRFL branch if not a singleton PRIM Stack/Push from aux É ¥ event/event_tree/state/state_tree/2/inst/É PRIM S_tree/Test for entry É ¥ rslt/event/event_tree/state/state_tree/2/inst/É BRFL branch if event ignored in this state LCAL Ignored BRTR PRIM S_tree/Get exact É ¥ entry/event/event_tree/state/state_tree/2/inst/É PRIM Stack/Duplicate É ¥ entry/entry/event/event_tree/state/state_tree/2/inst/É PRIM List/List to item É ¥ new_state/entry/event/event_tree/state/state_tree/2/inst/É PRIM Stack/Pop to aux É/new_state ¥ entry/event/event_tree/state/state_tree/2/inst/É PRIM S_tree/Put É/new_state ¥ event_tree/state/state_tree/2/inst/É PRIM S_tree/Put É/new_state ¥ state_tree/2/inst/É LCAL Ending BRTR PRIM Stack/Push from aux É ¥ event/event_tree/state/state_tree/2/inst/É PRIM S_tree/Test for entry É ¥ rslt/event/event_tree/state/state_tree/2/inst/É BRFL branch if event ignored in this state LCAL Ignored BRTR CMNT current event is same as the (single) entry PRIM Stack/Drop É ¥ event_tree/state/state_tree/2/inst/É PRIM S_tree/S_tree to item É ¥ event/entry/state/state_tree/2/inst/É PRIM Stack/Over É ¥ entry/event/entry/state/state_tree/2/inst/É PRIM List/List to item É ¥ new_state/event/entry/state/state_tree/2/inst/É PRIM Stack/Pop to aux É/new_state ¥ event/entry/state/state_tree/2/inst/É PRIM S_tree/Item to s_tree É/new_state ¥ event_tree/state/state_tree/2/inst/É PRIM S_tree/Put É/new_state ¥ state_tree/2/inst/É LCAL Ending ESBR SGLB FSM/Get State /2u2 CMNT Expects: É ¥ inst/route/É LITO 1 É ¥ 1/inst/route/É CALL 354072 ESBR SGLB FSM/Reset /1 CMNT Expects: É ¥ inst/É LITO 0 É ¥ 0/inst/É PRIM Stack/Dup down É ¥ 0/inst/0/É LITO 1 É ¥ 1/0/inst/0/É LITO 2 É ¥ 2/1/0/inst/0/É PRIM S_tree/Replace É ¥ inst/0/É GSYM FSM/Event É ¥ method/inst/0/É PRIM Heap/Delegate to self ESBR ESTR LDEF Ignored CMNT Puts instance back together with no changes CMNT Input: É ¥ event/event_tree/state/state_tree/2/inst/É CMNT Output: É ¥ É PRIM Stack/Drop É ¥ event_tree/state/state_tree/2/inst/É PRIM Stack/Over É ¥ state/event_tree/state/state_tree/2/inst/É PRIM Stack/Pop to aux É/state ¥ event_tree/state/state_tree/2/inst/É PRIM S_tree/Put É/state ¥ state_tree/2/inst/É PRIM Stack/Push from aux É ¥ state/state_tree/2/inst/É PRIM List/Splice É ¥ tree/2/inst/É PRIM S_tree/Put É ¥ inst/É PRIM Heap/Store self EDEF LDEF Ending CMNT Puts the instance back together and sends the output CMNT Input: É/new_state ¥ state_tree/2/inst/É CMNT Output: É ¥ É PRIM Stack/Dup from aux É/new_state ¥ new_state/state_tree/2/inst/É PRIM List/Splice É/new_state ¥ tree/2/inst/É PRIM S_tree/Put É/new_state ¥ inst/É PRIM Stack/Push from aux É ¥ new_state/inst/É GSYM Output/#1 É ¥ #1/new_state/inst/É PRIM Misc/Send entry É ¥ inst/É PRIM Heap/Store self EDEF