
[01;34mwith[m Ada[31m.[mContainers[31m.[mVectors[31m;[m            [01;34muse[m Ada[31m.[mContainers[31m;[m

[01;34mwith[m Text_Io[31m;[m                           [01;34muse[m Text_Io[31m;[m

[01;34mpackage[m [01;34mbody[m Gmface[31m.[mGm_Processing[31m.[mGm_Common [01;34mis[m
   
   [01;34mpackage[m Printed_Message_Vectors [01;34mis[m [01;34mnew[m Ada[31m.[mContainers[31m.[m[01;30mVectors[m[31m([mPrinted_Message_Index_Type[31m,[m
								 Printed_Message_Access[31m,[m
								 [31m"="[m[31m);[m         
   
   [01;34msubtype[m Messages_Vector_Type [01;34mis[m Printed_Message_Vectors[31m.[mVector[31m;[m
   
   [01;34muse[m Printed_Message_Vectors[31m;[m
   
   [01;34mtask[m [01;34mbody[m Messages_Box [01;34mis[m
      Box [31m:[m Messages_Vector_Type[31m;[m
      Full [31m:[m [32mBoolean[m [31m:=[m False[31m;[m
      Empty_Message [31m:[m [01;34mconstant[m Printed_Message_Access [31m:=[m [01;34mnull[m[31m;[m
   [01;34mbegin[m
      [01;34mloop[m
	 [01;34mselect[m
	    [01;34maccept[m [01;30mReceive[m[31m([mMessage [31m:[m [01;34min[m Printed_Message_Access[31m)[m [01;34mdo[m
	       Box [31m:=[m Box [31m&[m Message[31m;[m
	       Full [31m:=[m True[31m;[m
	    [01;34mend[m Receive[31m;[m
	 [01;34mor[m
	    [01;34mwhen[m Full [31m=>[m
	       [01;34maccept[m [01;30mSend[m[31m([mMessage [31m:[m [01;34mout[m Printed_Message_Access[31m)[m [01;34mdo[m
		  [01;34mif[m [01;30mLast_Index[m[31m([mBox[31m)[m [31m/=[m [35m0[m [01;34mthen[m
		     Message [31m:=[m [01;30mFirst_Element[m[31m([mBox[31m);[m
		     [01;30mDelete[m[31m([mBox[31m,[m [35m1[m[31m);[m
		     [01;34mif[m [01;30mLength[m[31m([mBox[31m)[m [31m=[m [35m0[m [01;34mthen[m
			Full [31m:=[m False[31m;[m
		     [01;34mend[m [01;34mif[m[31m;[m
		  [01;34mend[m [01;34mif[m[31m;[m
	       [01;34mend[m Send[31m;[m
	 [01;34mor[m
	    [01;34mwhen[m [01;34mnot[m Full [31m=>[m	       
	       [01;34maccept[m [01;30mSend[m[31m([mMessage [31m:[m [01;34mout[m Printed_Message_Access[31m)[m [01;34mdo[m
	 	  Message [31m:=[m Empty_Message[31m;[m	       
	       [01;34mend[m Send[31m;[m
	 [01;34mor[m
	    [01;34maccept[m Halt [01;34mdo[m
	       [01;30mPut_Line[m[31m([m[31m"Messages boxe halted"[m[31m);[m
	    [01;34mend[m Halt[31m;[m
	    [01;34mexit[m[31m;[m
	 [01;34mend[m [01;34mselect[m[31m;[m
      [01;34mend[m [01;34mloop[m[31m;[m
      
   [01;34mend[m Messages_Box[31m;[m
      
[01;34mend[m Gmface[31m.[mGm_Processing[31m.[mGm_Common[31m;[m
