[BACK]Return to localization_posets_io.adb CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / Schubert

Annotation of OpenXM_contrib/PHC/Ada/Schubert/localization_posets_io.adb, Revision 1.1

1.1     ! maekawa     1: with integer_io;                         use integer_io;
        !             2: with Brackets_io;                        use Brackets_io;
        !             3: with Standard_Natural_Vectors;           use Standard_Natural_Vectors;
        !             4: with Standard_Natural_Vectors_io;        use Standard_Natural_Vectors_io;
        !             5:
        !             6: package body Localization_Posets_io is
        !             7:
        !             8:   procedure put ( top,bottom : in Bracket; roco : in natural ) is
        !             9:   begin
        !            10:     put(Standard_Output,top,bottom,roco);
        !            11:   end put;
        !            12:
        !            13:   procedure put ( file : in file_type;
        !            14:                   top,bottom : in Bracket; roco : in natural ) is
        !            15:   begin
        !            16:     put(file,"("); put(file,top);
        !            17:     put(file,","); put(file,bottom); put(file,","); put(file,roco,1);
        !            18:     put(file,")");
        !            19:   end put;
        !            20:
        !            21:   procedure put ( file : in file_type;
        !            22:                   top,bottom : in Bracket; roco,label : in natural;
        !            23:                   child_labels : in Link_to_Vector ) is
        !            24:   begin
        !            25:     put(file,"("); put(file,label,1); put(file,",");
        !            26:     put(file,top); put(file,",");
        !            27:     put(file,bottom); put(file,","); put(file,roco,1);
        !            28:     put(file,",{");
        !            29:     if child_labels /= null
        !            30:      then put(file,child_labels.all);
        !            31:     end if;
        !            32:     put(file,"}");
        !            33:     put(file,")");
        !            34:   end put;
        !            35:
        !            36:   procedure put ( root : in Node; lvl : in natural ) is
        !            37:   begin
        !            38:     put(Standard_Output,root,lvl);
        !            39:   end put;
        !            40:
        !            41:   procedure put ( file : in file_type; root : in Node; lvl : in natural ) is
        !            42:
        !            43:     lroot : Link_to_Node := new Node'(root);
        !            44:     lvlnd : Link_to_Node := Find_Node(lroot,lvl);
        !            45:
        !            46:     procedure Write_Node ( nd : in Node; continue : out boolean ) is
        !            47:     begin
        !            48:       put(file,nd.top,nd.bottom,nd.roco);
        !            49:       continue := true;
        !            50:     end Write_Node;
        !            51:     procedure Write_Siblings is new Enumerate_Siblings(Write_Node);
        !            52:
        !            53:   begin
        !            54:     if lvlnd /= null
        !            55:      then Write_Siblings(lvlnd.all);
        !            56:     end if;
        !            57:   end put;
        !            58:
        !            59:   procedure put ( poset : in Node ) is
        !            60:   begin
        !            61:     put(Standard_Output,poset);
        !            62:   end put;
        !            63:
        !            64:   procedure put ( file : in file_type; poset : in Node ) is
        !            65:
        !            66:     np : natural;
        !            67:
        !            68:   begin
        !            69:     if poset.level < 10
        !            70:      then np := 1;
        !            71:      else np := 2;
        !            72:     end if;
        !            73:     for i in 0..poset.level loop
        !            74:       put(file,"n = "); put(file,i,np); put(file," : ");
        !            75:       put(file,poset,i); new_line(file);
        !            76:     end loop;
        !            77:   end put;
        !            78:
        !            79:   procedure put ( poset : in Array_of_Nodes ) is
        !            80:   begin
        !            81:     put(Standard_Output,poset);
        !            82:   end put;
        !            83:
        !            84:   procedure put ( file : in file_type; poset : in Array_of_Nodes ) is
        !            85:
        !            86:     np : natural;
        !            87:
        !            88:     procedure Write_Node ( nd : in Node; continue : out boolean ) is
        !            89:     begin
        !            90:       put(file,nd.top,nd.bottom,nd.roco);
        !            91:       continue := true;
        !            92:     end Write_Node;
        !            93:     procedure Write_Siblings is new Enumerate_Siblings(Write_Node);
        !            94:
        !            95:   begin
        !            96:     if poset'last < 10
        !            97:      then np := 1;
        !            98:      else np := 2;
        !            99:     end if;
        !           100:     for i in poset'range loop
        !           101:       put(file,"n = "); put(file,i,np); put(file," : ");
        !           102:      -- put(file,"l = "); put(file,Number_of_Siblings(poset(i)),np);
        !           103:      -- put(file," : ");
        !           104:       if poset(i) /= null
        !           105:        then Write_Siblings(poset(i).all);
        !           106:       end if;
        !           107:       new_line(file);
        !           108:     end loop;
        !           109:   end put;
        !           110:
        !           111:   procedure put ( poset : in Array_of_Array_of_Nodes ) is
        !           112:   begin
        !           113:     put(Standard_Output,poset);
        !           114:   end put;
        !           115:
        !           116:   procedure put ( file : in file_type; poset : in Array_of_Array_of_Nodes ) is
        !           117:
        !           118:     np : natural;
        !           119:     lnd : Link_to_Node;
        !           120:
        !           121:   begin
        !           122:     if poset'last < 10
        !           123:      then np := 1;
        !           124:      else np := 2;
        !           125:     end if;
        !           126:     for i in poset'range loop
        !           127:       put(file,"n = "); put(file,i,np); put(file," : ");
        !           128:       if poset(i) /= null
        !           129:        then for j in poset(i)'range loop
        !           130:               lnd := poset(i)(j);
        !           131:               put(file,lnd.top,lnd.bottom,lnd.roco,lnd.label,lnd.child_labels);
        !           132:             end loop;
        !           133:       end if;
        !           134:       new_line(file);
        !           135:     end loop;
        !           136:   end put;
        !           137:
        !           138:   procedure put_roco ( poset : in Array_of_Array_of_Nodes ) is
        !           139:   begin
        !           140:     put_roco(Standard_Output,poset);
        !           141:   end put_roco;
        !           142:
        !           143:   procedure put_roco
        !           144:               ( file : in file_type; poset : in Array_of_Array_of_Nodes ) is
        !           145:
        !           146:     np : natural;
        !           147:     lnd : Link_to_Node;
        !           148:
        !           149:   begin
        !           150:     if poset'last < 10
        !           151:      then np := 1;
        !           152:      else np := 2;
        !           153:     end if;
        !           154:     for i in poset'range loop
        !           155:       put(file,"n = "); put(file,i,np); put(file," : ");
        !           156:       if poset(i) /= null
        !           157:        then for j in poset(i)'range loop
        !           158:               lnd := poset(i)(j);
        !           159:               if lnd = null
        !           160:                then put(file," 0");
        !           161:                else put(file," "); put(file,lnd.roco,1);
        !           162:               end if;
        !           163:             end loop;
        !           164:       end if;
        !           165:       new_line(file);
        !           166:     end loop;
        !           167:   end put_roco;
        !           168:
        !           169: end Localization_Posets_io;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>