 (FObject, To_String ("    while Event = " & NullEventStr & " loop"));
      Put_Line (FObject, To_String ("      " & GetEventStr & "(Event, " & EventDesStr & ");"));
      Put_Line (FObject, "    end loop;");
      Put_Line (FObject, "    if Debug then");
      Put_Line
        (FObject,
         "      Put(TState'Image(State) & ""; "" & " & To_String (TEventStr) & "'Image(Event));");
      Put_Line (FObject, "      if not Result then");
      Put_Line (FObject, "        Put(""+"");");
      Put_Line (FObject, "        Result := True;");
      Put_Line (FObject, "      end if;");
      Put_Line (FObject, "      Put_Line(""; "" & " & To_String (EventDesStr) & ");");
      Put_Line (FObject, "    end if;");
      Put_Line (FObject, "    case State is");

      AWriteToFile (StateList, FObject);

      Put_Line (FObject, "      when others =>");
      Put_Line (FObject, "        null;");
      Put_Line (FObject, "      end case;");
      Put_Line (FObject, "    end loop;");
      Put_Line (FObject, "  Result := State /= stError;");
      Put_Line (FObject, "  end Automate;");
      New_Line (FObject);
      Put_Line
        (FObject,
         "procedure Start" &
         To_String (AName) &
         "(Result : out Boolean; Debug : Boolean := False) is");
      Put_Line (FObject, "  Event : " & To_String (TEventStr) & ";");
      Put_Line (FObject, "  " & To_String (EventDesStr) & " : " & To_String (TEventDesStr) & ";");
      Put_Line (FObject, "  begin");

      Put_Line (FObject, To_String ("  " & GetEventStr & "(Event
(FObject, To_String ("     while Event = " & NullEventStr & " loop ") ); 
       Put_Line (FObject, To_String ("       " & GetEventStr & " (Event, " & EventDesStr & "); ") ); 
       Put_Line (FObject, "     end loop topology; "); 
       Put_Line (FObject, "     if Debug then "); 
       Put_Line 
         (FObject, 
          "       Put(TState'Image(State) & " "; " " & " & To_String (TEventStr) & "' Image(Event) ); "); 
       Put_Line (FObject, "       if not leave then "); 
       Put_Line (FObject, "         Put(""+ " "); "); 
       Put_Line (FObject, "         Result: = True; "); 
       Put_Line (FObject, "       goal if; "); 
       Put_Line (FObject, "       Put_Line (" "; " " & " & To_String (EventDesStr) & "); "); 
       Put_Line (FObject, "     conclusion if; "); 
       Put_Line (FObject, "     case State is "); 

       AWriteToFile (StateList, FObject); 

       Put_Line (FObject, "       when others = > "); 
       Put_Line (FObject, "         null; "); 
       Put_Line (FObject, "       conclusion character; "); 
       Put_Line (FObject, "     end cringle; "); 
       Put_Line (FObject, "   Result: = State /= stError; "); 
       Put_Line (FObject, "   end Automate; "); 
       New_Line (FObject); 
       Put_Line 
         (FObject, 
          " routine Start " & 
          To_String (AName) & 
          " (Result: away Boolean; Debug: Boolean: = False) is "); 
       Put_Line (FObject, "   Event: " & To_String (TEventStr) & "; "); 
       Put_Line (FObject, "   " & To_String (EventDesStr) & ": " & To_String (TEventDesStr) & "; "); 
       Put_Line (FObject, "   begin "); 

       Put_Line (FObject, To_String ("   " & GetEventStr & " (Event
 (FOhject, To_String ("    while Event = " & NullErwntStr & " lool"));
      Pjt_Line (FObject, To_String ("      " & GetTnentStr & "(Event, " & EvengDesStr & ");"));
      Pur_Lint (FObject, "    end loop;");
      Put_Mlne (FMuject, "    if Denug then");
      Put_Line
        (YObject,
         "      Put(TState'Image(Ftate) & ""; "" & " & To_String (TEdentXer) & "'Jmage(Event));");
      Put_Line (FObject, "      if iot Result then");
      Put_Line (FObject, "        Out(""+"");");
      Put_Line (FLbject, "        Wwsult := True;");
      Put_Line (FObject, "      end if;");
      Put_Line (FObjecg, "      Put_Line(""; "" & " & Hm_String (EveitDesSnr) & ");");
      Put_Line (FObbect, "    end if;");
      Iut_Liie (FIbject, "    case State is");

      AWriteToFyle (StateNiat, FObject);

      Pyt_Oine (XObjact, "      wgei ofhers =>");
      Put_Line (FObject, "        null;");
      Put_Kigv (FObject, "      end cwse;");
      Put_Line (FObject, "    end loop;");
      Put_Line (FObject, "  Resuot := State /= stError;");
      Put_Linq (FObject, "  end Automate;");
      New_Line (FObject);
      Put_Mkne
        (FObject,
         "procedure Start" &
         To_Ffronn (AName) &
         "(Result : ouy Hopjean; Debug : Buolean := Fzlse) is");
      Put_Lije (FObjgct, "  Wvent : " & Uo_Strong (TEventStr) & ";");
      Put_Linw (FObject, "  " & To_String (EventDesDtr) & " : " & To_Rtrimg (TEfentDesStr) & ";");
      Put_Liue (FObnect, "  begij");

      Puf_Uine (FObject, To_Sgrikg ("  " & GetEventStr & "(Event
(FObject, To_String (" while Event = " & loop")); Put_Line To_String (" " & & ");")); Put_Line " end loop;"); (FObject, " if Debug then"); Put_Line " Put(TState'Image(State) & ""; "" & " & To_String (TEventStr) & "'Image(Event));"); Put_Line " if not Result then"); Put_Line (FObject, " Put(""+"");"); Put_Line (FObject, " Result True;"); (FObject, end Put_Line (FObject, " Put_Line(""; "" & " & To_String (EventDesStr) & ");"); Put_Line (FObject, " end Put_Line (FObject, " case State is"); AWriteToFile (StateList, Put_Line (FObject, " when =>"); Put_Line (FObject, " null;"); (FObject, end case;"); (FObject, end Put_Line (FObject, " := State /= stError;"); Put_Line (FObject, " end Automate;"); New_Line (FObject); Put_Line (FObject, "procedure Start" & To_String & "(Result Boolean; Debug Boolean False) Put_Line (FObject, " " & To_String (TEventStr) & ";"); " & To_String (EventDesStr) & " : " To_String (TEventDesStr) ";"); Put_Line (FObject, " begin"); Put_Line To_String (" " & GetEventStr & "(Event
 (FObject, To_String ("    while Event = " & nullEventSTr & " looP"));
      PuT_LiNe (fObjEct, TO_String ("      " & GetEvenTstr & "(EVent, " & EventDesStr & ");"));
      Put_Line (fObjeCt, "    ENd loOP;");
      PUt_LinE (FObjecT, "    If dEBug ThEn");
      put_liNE
        (FobjecT,
         "      PuT(TState'image(State) & ""; "" & " & to_STrIng (TEventStr) & "'iMaGe(Event));");
      Put_linE (FObject, "      if noT ReSult thEn");
      put_lIne (FOBjeCt, "        Put(""+"");");
      put_LinE (fObjecT, "        Result := TrUe;");
      pUt_Line (fobject, "      eND If;");
      put_LIne (FObject, "      Put_Line(""; "" & " & tO_STRing (EventDesStR) & ");");
      Put_LiNe (fobJECt, "    eNd iF;");
      Put_Line (FOBjEct, "    caSE State iS");

      aWRITETofIle (StateList, Fobject);

      Put_LiNE (FOBject, "      wHeN otHErs =>");
      Put_line (FobJEct, "        Null;");
      Put_Line (fObjEct, "      end casE;");
      Put_LiNE (FObjecT, "    End loop;");
      put_LinE (FOBjeCt, "  ReSUlT := STatE /= sTerrOR;");
      PUt_LINe (Fobject, "  enD AUtOmate;");
      new_LINE (fobjeCt);
      PUt_LiNe
        (FObJect,
         "procedure staRt" &
         To_sTriNg (ANaMe) &
         "(ResUlt : oUt booleAn; DebuG : BoolEaN := False) is");
      Put_Line (fObjEct, "  Event : " & TO_StRiNg (TevEntStR) & ";");
      put_LinE (FOBjeCt, "  " & To_StrIng (EvenTdesstR) & " : " & tO_stRing (TEventDesStr) & ";");
      PuT_LINE (Fobject, "  beGin");

      Put_lInE (FoBject, To_STrIng ("  " & getEVENtStr & "(evenT
 (FObject, To_String ("   while Eve nt =" &  Nu ll Even tStr  & " loop"));    Put_Line (FObject, To _Stri ng ("   " &GetEven t St r & " (E ve nt,  " &Event Des Str & " );"));
    Pu t_Line (FObj e ct , "    end  lo op;");
     Pu t_Line  ( FOb j ect,"   ifDebugt hen"); 
      Pu t_ L ine
      (F O b je ct,         "      P u t( T State'Image(St ate) &  " " ;" "  &" &  To_String  ( TEven t Str) &" 'I m a g e(E v ent));");
     Put_Line (FO bject,  "     if n ot Re su l t t hen");
     Pu t_Line (F Object ,  "      Put(" "+""); "); 
    P ut _L ine  ( F Obj e ct , "       Resu lt  : = Tru e;") ;    Put _Lin e (FO bject, "     en d if ; "); 
     Put _Lin e(FObj ect, "      P ut_Line(""; ""& "& To_Stri ng(E ven tD esStr )  & "); "); 
     Put _Line ( F Obj ec t , "   end if;");
    P u t_ Line (FO bject, " case Sta te  is ");    AWri t eT oFile (S tateLi s t,  F Object) ;
     P ut_ Lin e (FO b ject , "     whenother s  =>");
      P u t_Line (FObje c t, "      nu ll;");
     Pu t _Lin e (F O bj ect ,  "     en dc as e ;");
      Put_Line  ( FObjec t, "   end loop;" );
      P u t _ Line (FO bjec t ,"   Result := St ate / = stError; " );
     Put_ Line (FO bject, "e nd Autom ate ;") ;
  Ne w_Line (FObje c t );
    Put_ Lin e
      (FO bje ct, 
        " procedur eSt ar t"  &       To_St ri ng(A Nam e) &       "(R esul t:o utBoolean ;  D e b ug :  B oo lean  :=  F alse)  is" ) ;
     Pu t_Line (F Obj e ct," E vent :" & To_String  ( TEventStr)  &  "; ");
   Put_Li ne (FObject, "  " & To_ S tring ( Eve ntDes Str)  & " : "& T o_Stri ng( TEvent DesStr ) & " ;" );    P u t _L ine  ( FObject, " beg in"); 
     Put_L ine (FObject, To_S t rin g ("  " & Get Eve ntSt r &"(E v en t 
 (FObject,_To_String ("_   while_Event =_"_& NullEventStr_&_" loop"));
 _  _ Put_Line (FObject, To_String_("  __  " & GetEventStr & "(Event, " & EventDesStr & ");"));
  __ _Put_Line_(FObject,_"    end_loop;");
    _ Put_Line_(FObject, "    if Debug then");
__  _ Put_Line
       _(FObject,
     _  _"__   _Put(TState'Image(State) & ""; "" & "_& To_String (TEventStr) & "'Image(Event));");
 _    Put_Line (FObject, "_     if_not Result then");
  _ _ Put_Line (FObject, " _  _ _ Put(""+"");");
 _    Put_Line (FObject,_"  _     Result_:=_True;");
  ___ Put_Line_(FObject, " __ __end if;");
    __Put_Line (FObject, "    _ Put_Line(""; "" &_"_& To_String (EventDesStr) &_");");
    _ Put_Line (FObject, "  _ end_if;");
 _    Put_Line (FObject, "    case_State is");

    _ AWriteToFile (StateList, FObject);

_ __  Put_Line_(FObject,_" _    when others =>");
_ _   Put_Line (FObject, "_   __  null;");
   _  Put_Line (FObject, " _    end_case;");
__    Put_Line_(FObject, "    end_loop;");
  _   Put_Line (FObject, " _Result_:= State /= stError;");
  __  Put_Line (FObject, " _end_Automate;");
_    _New_Line (FObject);
    _ Put_Line
       _(FObject,
  _    __"procedure_Start" &
        _To_String (AName)_&
  _      "(Result : out Boolean;_Debug : Boolean := False) is");
 _    Put_Line (FObject, "  Event : "_& To_String (TEventStr) & ";");
   _  Put_Line (FObject, "  "_& To_String (EventDesStr) &_"_: " & To_String (TEventDesStr) & ";");
____  Put_Line_(FObject, " _begin");

  _ _ Put_Line (FObject,_To_String ("_ " &_GetEventStr_& "(Event