98 fprintf(stderr, "(%03d:%03d..%03d:%03d) \t%s\t", symbol->first_line, symbol->first_column, symbol->last_line, symbol->last_column, symbol->absyntax_cname()); |
98 fprintf(stderr, "(%03d:%03d..%03d:%03d) \t%s\t", symbol->first_line, symbol->first_column, symbol->last_line, symbol->last_column, symbol->absyntax_cname()); |
99 |
99 |
100 fprintf(stderr, " datatype="); |
100 fprintf(stderr, " datatype="); |
101 if (NULL == symbol->datatype) |
101 if (NULL == symbol->datatype) |
102 fprintf(stderr, "NULL\t\t"); |
102 fprintf(stderr, "NULL\t\t"); |
103 else |
103 else { |
104 fprintf(stderr, symbol->datatype->absyntax_cname()); |
104 fprintf(stderr, "%s", symbol->datatype->absyntax_cname()); |
|
105 } |
105 fprintf(stderr, "\t<-{"); |
106 fprintf(stderr, "\t<-{"); |
106 if (symbol->candidate_datatypes.size() == 0) { |
107 if (symbol->candidate_datatypes.size() == 0) { |
107 fprintf(stderr, "\t\t\t\t\t"); |
108 fprintf(stderr, "\t\t\t\t\t"); |
108 } else if (symbol->candidate_datatypes.size() <= 2) { |
109 } else if (symbol->candidate_datatypes.size() <= 2) { |
109 for (unsigned int i = 0; i < 2; i++) |
110 for (unsigned int i = 0; i < 2; i++) |
110 if (i < symbol->candidate_datatypes.size()) |
111 if (i < symbol->candidate_datatypes.size()) |
111 fprintf(stderr, " %s,", symbol->candidate_datatypes[i]->absyntax_cname()); |
112 fprintf(stderr, " %s,", symbol->candidate_datatypes[i]->absyntax_cname()); |
112 else |
113 else |
113 fprintf(stderr, "\t\t\t"); |
114 fprintf(stderr, "\t\t\t"); |
114 } else { |
115 } else { |
115 fprintf(stderr, "(%d)\t\t\t\t\t", symbol->candidate_datatypes.size()); |
116 fprintf(stderr, "(%ld)\t\t\t\t\t", symbol->candidate_datatypes.size()); |
116 } |
117 } |
117 fprintf(stderr, "}\t"); |
118 fprintf(stderr, "}\t"); |
118 |
119 |
119 /* print the const values... */ |
120 /* print the const values... */ |
120 fprintf(stderr, " constv{f=%f, i=%lld, u=%llu, b=%d}\t", symbol->const_value._real64.value, symbol->const_value._int64.value, symbol->const_value._uint64.value, symbol->const_value._bool.value); |
121 fprintf(stderr, " constv{f=%f, i=%lld, u=%llu, b=%d}\t", symbol->const_value._real64.value, symbol->const_value._int64.value, symbol->const_value._uint64.value, symbol->const_value._bool.value); |
124 |
125 |
125 |
126 |
126 void *print_symbol_c::visit(il_instruction_c *symbol) { |
127 void *print_symbol_c::visit(il_instruction_c *symbol) { |
127 dump_symbol(symbol); |
128 dump_symbol(symbol); |
128 |
129 |
129 fprintf(stderr, " next_il_=%d ", symbol->next_il_instruction.size()); |
130 fprintf(stderr, " next_il_=%ld ", symbol->next_il_instruction.size()); |
130 fprintf(stderr, " prev_il_=%d ", symbol->prev_il_instruction.size()); |
131 fprintf(stderr, " prev_il_=%ld ", symbol->prev_il_instruction.size()); |
131 |
132 |
132 if (symbol->prev_il_instruction.size() == 0) |
133 if (symbol->prev_il_instruction.size() == 0) |
133 fprintf(stderr, "(----,"); |
134 fprintf(stderr, "(----,"); |
134 else if (symbol->prev_il_instruction[0]->datatype == NULL) |
135 else if (symbol->prev_il_instruction[0]->datatype == NULL) |
135 fprintf(stderr, "(NULL,"); |
136 fprintf(stderr, "(NULL,"); |