Karel Th�nissen wrote: > A gizmo like this: > > gizmo State : (one, two, three); > -- the state variable is private to the gizmo (like loop indices) > -- the state variable is read-only, but can change (like loop > indices) > initialStuff; > transit one; > state one; > blaBlaTalk; > transit ....; > state two; > smallTalk; -- use State as a read-only variable like a loop index > transit ....; > state three; > fileBusterTalk; > terminate; -- or something of that kind; needs more braincells spent > end gizmo; Oops, the name of the state variable and the proposed reserved word for the state blocks are the same (except for Ada-irrelevant capitalisation)... It should read (also adding a type definition for the state variable to avoid an 'anonymous' type): type StateType is (one, two, three); gizmo StateVariable : StateType; -- StateVariable is private to the gizmo (like loop indices) -- StateVariable is read-only, but can change (like loop indices) initialStuff; transit one; -- goto initial state state one; ....; -- blocks can query StateVariable transit ....; state two; ....; -- transits can be burried like returns transit ....; state three; ....; terminate; -- or something of that kind end gizmo; > Groeten, Karel