equal
deleted
inserted
replaced
209 } |
209 } |
210 |
210 |
211 /* signed_integer DOTDOT signed_integer */ |
211 /* signed_integer DOTDOT signed_integer */ |
212 //SYM_REF2(subrange_c, lower_limit, upper_limit) |
212 //SYM_REF2(subrange_c, lower_limit, upper_limit) |
213 void *visit(subrange_c *symbol) { |
213 void *visit(subrange_c *symbol) { |
214 int dimension = extract_integer(symbol->upper_limit) - extract_integer(symbol->lower_limit) + 1; |
214 int dimension = extract_integer_value(symbol->upper_limit) - extract_integer_value(symbol->lower_limit) + 1; |
215 switch (current_mode) { |
215 switch (current_mode) { |
216 case arraysize_am: |
216 case arraysize_am: |
217 array_size *= dimension; |
217 array_size *= dimension; |
218 break; |
218 break; |
219 case typedecl_am: |
219 case typedecl_am: |
262 void *visit(array_initial_elements_c *symbol) { |
262 void *visit(array_initial_elements_c *symbol) { |
263 int initial_element_number; |
263 int initial_element_number; |
264 |
264 |
265 switch (current_mode) { |
265 switch (current_mode) { |
266 case initializationvalue_am: |
266 case initializationvalue_am: |
267 initial_element_number = extract_integer(symbol->integer); |
267 initial_element_number = extract_integer_value(symbol->integer); |
268 if (current_initialization_count < defined_values_count) { |
268 if (current_initialization_count < defined_values_count) { |
269 int temp_element_number = 0; |
269 int temp_element_number = 0; |
270 int diff = defined_values_count - current_initialization_count; |
270 int diff = defined_values_count - current_initialization_count; |
271 if (diff <= initial_element_number) |
271 if (diff <= initial_element_number) |
272 temp_element_number = initial_element_number - diff; |
272 temp_element_number = initial_element_number - diff; |
1405 } |
1405 } |
1406 |
1406 |
1407 /* signed_integer DOTDOT signed_integer */ |
1407 /* signed_integer DOTDOT signed_integer */ |
1408 //SYM_REF2(subrange_c, lower_limit, upper_limit) |
1408 //SYM_REF2(subrange_c, lower_limit, upper_limit) |
1409 void *visit(subrange_c *symbol) { |
1409 void *visit(subrange_c *symbol) { |
1410 int dimension = extract_integer(symbol->upper_limit) - extract_integer(symbol->lower_limit) + 1; |
1410 long long dimension = extract_integer_value(symbol->upper_limit) - extract_integer_value(symbol->lower_limit) + 1; |
1411 s4o.print("_"); |
1411 s4o.print("_"); |
1412 print_integer(dimension); |
1412 print_integer(dimension); |
1413 return NULL; |
1413 return NULL; |
1414 } |
1414 } |
1415 |
1415 |