| |
| | [No title] |
 | | compare the two expanded strings, if they are the same, then the types are equivalent e.g., type foo = record a : integer b : integer end; type bar = record b : integer a : integer end; If structural equivalence is adopted, foo and bar are not the same type. |
 | | (This is stricker than structural equivalence) e.g., in Java, Pascal, and Ada e.g., struct RecA { char x; int y; }; typedef struct RecA RecA; struct RecA a; RecA b; struct RecA c; struct { char x; int y; } d; all of the variables a, b, c, and d are structurally equivalent. |
 | | a and c are name equivalent, and they are not name equivalent to b and d. |
| www.eecis.udel.edu /~lliao/cis670/103102.txt (578 words) |
|