1701 |
1701 |
1702 /*| global_var_name location */ |
1702 /*| global_var_name location */ |
1703 // SYM_REF2(global_var_spec_c, global_var_name, location) |
1703 // SYM_REF2(global_var_spec_c, global_var_name, location) |
1704 void *visit(global_var_spec_c *symbol) { |
1704 void *visit(global_var_spec_c *symbol) { |
1705 TRACE("global_var_spec_c"); |
1705 TRACE("global_var_spec_c"); |
1706 |
|
1707 /* now to produce the c equivalent... */ |
1706 /* now to produce the c equivalent... */ |
1708 switch(wanted_varformat) { |
1707 switch(wanted_varformat) { |
1709 case local_vf: |
1708 case local_vf: |
1710 s4o.print(s4o.indent_spaces); |
1709 s4o.print("extern "); |
|
1710 this->current_var_type_symbol->accept(*this); |
|
1711 s4o.print("* "); |
|
1712 symbol->location->accept(*this); |
|
1713 s4o.print(";\n"); |
1711 if (symbol->global_var_name != NULL) { |
1714 if (symbol->global_var_name != NULL) { |
1712 s4o.print("extern "); |
1715 s4o.print(s4o.indent_spaces); |
1713 this->current_var_type_symbol->accept(*this); |
|
1714 s4o.print("* "); |
|
1715 symbol->location->accept(*this); |
|
1716 s4o.print(";\n"); |
|
1717 this->current_var_type_symbol->accept(*this); |
1716 this->current_var_type_symbol->accept(*this); |
1718 s4o.print(" *"); |
1717 s4o.print(" *"); |
1719 if (this->resource_name != NULL) { |
1718 if (this->resource_name != NULL) { |
1720 this->resource_name->accept(*this); |
1719 this->resource_name->accept(*this); |
1721 s4o.print("__"); |
1720 s4o.print("__"); |
1722 } |
1721 } |
1723 symbol->global_var_name->accept(*this); |
1722 symbol->global_var_name->accept(*this); |
1724 s4o.print(";\n"); |
1723 s4o.print(";\n"); |
1725 if (this->resource_name != NULL) { |
1724 if (this->resource_name != NULL) { |
|
1725 s4o.print(s4o.indent_spaces); |
1726 s4o.print("#define "); |
1726 s4o.print("#define "); |
1727 symbol->global_var_name->accept(*this); |
1727 symbol->global_var_name->accept(*this); |
1728 s4o.print(" "); |
1728 s4o.print(" "); |
1729 this->resource_name->accept(*this); |
1729 this->resource_name->accept(*this); |
1730 s4o.print("__"); |
1730 s4o.print("__"); |