equal
deleted
inserted
replaced
75 long int first_order; /* relative order in which it is read by lexcial analyser */ |
75 long int first_order; /* relative order in which it is read by lexcial analyser */ |
76 int last_line; |
76 int last_line; |
77 int last_column; |
77 int last_column; |
78 const char *last_file; /* filename referenced by last line/column */ |
78 const char *last_file; /* filename referenced by last line/column */ |
79 long int last_order; /* relative order in which it is read by lexcial analyser */ |
79 long int last_order; /* relative order in which it is read by lexcial analyser */ |
80 symbol_c * datatype; /* data type of the expression/literal/etc. Filled in stage3 by narrow_candidate_datatypes_c */ |
|
81 std::vector <symbol_c *> candidate_datatypes; /* All possible data types the expression/literal/etc. may take. Filled in stage3 by fill_candidate_datatypes_c class */ |
80 std::vector <symbol_c *> candidate_datatypes; /* All possible data types the expression/literal/etc. may take. Filled in stage3 by fill_candidate_datatypes_c class */ |
|
81 /* Data type of the expression/literal/etc. Filled in stage3 by narrow_candidate_datatypes_c |
|
82 * If set to NULL, it means it has not yet been evaluated. |
|
83 * If it points to an object of type invalid_type_name_c, it means it is invalid. |
|
84 * Otherwise, it points to an object of the apropriate data type (e.g. int_type_name_c, bool_type_name_c, ...) |
|
85 */ |
|
86 symbol_c *datatype; |
82 |
87 |
83 |
88 |
84 public: |
89 public: |
85 /* default constructor */ |
90 /* default constructor */ |
86 symbol_c(int fl = 0, int fc = 0, const char *ffile = NULL /* filename */, long int forder=0, /* order in which it is read by lexcial analyser */ |
91 symbol_c(int fl = 0, int fc = 0, const char *ffile = NULL /* filename */, long int forder=0, /* order in which it is read by lexcial analyser */ |