Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Product/set_structure_io.adb, Revision 1.1
1.1 ! maekawa 1: with Symbol_Table,Symbol_Table_io; use Symbol_Table;
! 2: with Set_Structure;
! 3:
! 4: package body Set_Structure_io is
! 5:
! 6: procedure get is
! 7: begin
! 8: Set_Structure_io.get(Standard_Input);
! 9: end get;
! 10:
! 11: procedure get ( file : in file_type ) is
! 12:
! 13: ch : character;
! 14: sb : symbol;
! 15:
! 16: begin
! 17: for i in 1..Set_Structure.Dimension loop
! 18: -- Read sets for ith equation :
! 19: for j in 1..Set_Structure.Number_of_Sets(i) loop
! 20: -- Read the jth set of the ith equation :
! 21: get(file,ch); while (ch = ' ') loop get(file,ch); end loop;
! 22: if ch = '{'
! 23: then loop
! 24: get(file,ch);
! 25: while (ch = ' ') loop get(file,ch); end loop;
! 26: exit when (ch = '}');
! 27: sb := (sb'range => ' ');
! 28: Symbol_Table_io.get(file,ch,sb,'}');
! 29: Set_Structure.Add(i,j,Symbol_Table.Get(sb));
! 30: exit when (ch = '}');
! 31: end loop;
! 32: end if;
! 33: end loop;
! 34: end loop;
! 35: end get;
! 36:
! 37: procedure put is
! 38: begin
! 39: Set_Structure_io.put(Standard_Output);
! 40: end put;
! 41:
! 42: procedure put ( file : in file_type ) is
! 43:
! 44: n : natural := Set_Structure.Dimension;
! 45: sb : Symbol;
! 46:
! 47: procedure Write_set ( file : in file_type; i,j : in natural ) is
! 48: begin
! 49: put(file,'{');
! 50: for k in 1..n loop
! 51: if Set_Structure.Is_In(i,j,k)
! 52: then --Symbol_Table_io.put(file,Symbol_Table.Get(i));
! 53: sb := Symbol_Table.Get(k);
! 54: Symbol_Table_io.put(file,sb);
! 55: put(file,' ');
! 56: end if;
! 57: end loop;
! 58: put(file,'}');
! 59: end Write_set;
! 60:
! 61: begin
! 62: for i in 1..n loop
! 63: put(file," ");
! 64: for j in 1..Set_Structure.Number_of_Sets(i) loop
! 65: Write_set(file,i,j);
! 66: end loop;
! 67: new_line(file);
! 68: end loop;
! 69: end put;
! 70:
! 71: end Set_Structure_io;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>