[Prev][Next][Index]
T_ARRAY: Still a problem
- From: Andrew Mauer <mauer@mcs.anl.gov>
- Date: Wed, 15 Jun 1994 13:29:28 -0500
- To: sage-bugs@cica.indiana.edu
- Subject: T_ARRAY: Still a problem
I still have a problem with the T_ARRAY business, and I think this is
a legitimate one...
Basically, the structure
T_PTR(-1) -> T_PTR(1) -> T_ARRAY (no ranges) -> T_DOUBLE
is used for two different expressions with completely different
meanings. Both y[3] and &(y[3]) have this problem type. Since they are
conceptually very different objects, this is a nasty problem for me.
The worst part about this is that I cannot reliably declare a
temporary variable that will hold &(y[3]) just knowing it's type!
Notice that the true type of the current Sage++ type representation
is T_DOUBLE.
Since the parser actually complains about a type mismatch in the
following code, I have reason to hope this is fixable.
void main (void)
{
double *x;
double y[3];
x = &(y[2]);
}
Let me know if I remain mistaken.
/Andrew/