Annotation of OpenXM_contrib/PHC/Ada/Math_Lib/Polynomials/symbol_table.ads, Revision 1.1.1.1
1.1 maekawa 1: package Symbol_Table is
2:
3: -- DESCRIPTION :
4: -- This package provides management of a table of symbols, useful
5: -- in the input/output of polynomials in several variables.
6:
7: -- AUXILIARY DATA STRUCTURES :
8:
9: subtype Symbol is string(1..5);
10:
11: -- EXCEPTIONS :
12:
13: OVERFLOW_IN_THE_SYMBOL_TABLE : exception;
14: -- occurs when a new symbol is added to a full symbol table
15:
16: INDEX_OUT_OF_RANGE : exception;
17: -- occurs when a symbol is asked that is not in the range of the table
18:
19: -- CREATORS :
20:
21: procedure Init ( max : in natural );
22:
23: -- DESCRIPTION :
24: -- A new symbol table is created with place for max symbols.
25:
26: procedure Enlarge ( max : in natural );
27:
28: -- DESCRIPTION :
29: -- Enlarges the symbol table so that it can contain as many symbols
30: -- as the previous maximum plus the new max.
31:
32: procedure Replace ( i : in natural; sb : in Symbol );
33:
34: -- DESCRIPTION :
35: -- Replaces the ith symbol by the given sb.
36:
37: -- CONSTRUCTORS :
38:
39: procedure Add ( sb : in Symbol );
40: procedure Add ( sb : in Symbol; pos : out natural );
41:
42: -- DESCRIPTION :
43: -- A new symbol is added to the symbol table;
44: -- pos is the entry of the added symbol in the table.
45:
46: procedure Remove ( sb : in Symbol );
47: procedure Remove ( i : in natural );
48:
49: -- DESCRIPTION :
50: -- Removes the ith symbol sb from the symbol table.
51:
52: -- SELECTORS :
53:
54: function "<" ( s1,s2 : Symbol ) return boolean;
55: function ">" ( s1,s2 : Symbol ) return boolean;
56:
57: -- DESCRIPTION :
58: -- Defines an order relation on the symbols.
59:
60: function Maximal_Size return natural;
61:
62: -- DESCRIPTION :
63: -- Returns the maximal number of symbols the table can contain.
64:
65: function Number return natural;
66:
67: -- DESCRIPTION :
68: -- Returns the number of current symbols in the table.
69:
70: function Empty return boolean;
71:
72: -- DESCRIPTION :
73: -- Returns true if the symbol table has not been initialized yet,
74: -- or if a Clear has been done.
75:
76: function Get ( sb : Symbol ) return natural;
77:
78: -- DESCRIPTION :
79: -- The entry of the symbol in the table is returned.
80: -- If the symbol does not occur in the table, then 0 is returned.
81:
82: function Get ( i : natural ) return Symbol;
83:
84: -- DESCRIPTION :
85: -- The symbol corresponding with the ith unknown is returned.
86:
87: -- DESTRUCTOR :
88:
89: procedure Clear;
90:
91: -- DESCRIPTION :
92: -- The allocated memory space is freed.
93:
94: end Symbol_Table;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>