126 return symbol->record_variable->accept(*this); |
126 return symbol->record_variable->accept(*this); |
127 */ |
127 */ |
128 |
128 |
129 /* The correct code, is therefore more complex... */ |
129 /* The correct code, is therefore more complex... */ |
130 if (next_variable_name == symbol) { |
130 if (next_variable_name == symbol) { |
131 /* NOTE: field_selector is always an identifier_c, |
131 return (void *)symbol->field_selector->accept(*this); |
132 * so we do not have to recursevily visit it again... |
|
133 * return (void *)symbol->field_selector->accept(*this); -> NOT REQUIRED!! |
|
134 */ |
|
135 return (void *)symbol->field_selector; |
|
136 } |
132 } |
137 |
133 |
138 current_recursive_variable_name = symbol; |
134 current_recursive_variable_name = symbol; |
139 return symbol->record_variable->accept(*this); |
135 return symbol->record_variable->accept(*this); |
140 } |
136 } |
141 |
137 |
|
138 /********************************/ |
|
139 /* B 2.2 - Operators */ |
|
140 /********************************/ |
|
141 void *decompose_var_instance_name_c::visit(LD_operator_c *symbol) {return (void *)&LD_operator_name;} |
|
142 void *decompose_var_instance_name_c::visit(S_operator_c *symbol) {return (void *)&S_operator_name;} |
|
143 void *decompose_var_instance_name_c::visit(R_operator_c *symbol) {return (void *)&R_operator_name;} |
|
144 void *decompose_var_instance_name_c::visit(S1_operator_c *symbol) {return (void *)&S1_operator_name;} |
|
145 void *decompose_var_instance_name_c::visit(R1_operator_c *symbol) {return (void *)&R1_operator_name;} |
|
146 void *decompose_var_instance_name_c::visit(CLK_operator_c *symbol) {return (void *)&CLK_operator_name;} |
|
147 void *decompose_var_instance_name_c::visit(CU_operator_c *symbol) {return (void *)&CU_operator_name;} |
|
148 void *decompose_var_instance_name_c::visit(CD_operator_c *symbol) {return (void *)&CD_operator_name;} |
|
149 void *decompose_var_instance_name_c::visit(PV_operator_c *symbol) {return (void *)&PV_operator_name;} |
|
150 void *decompose_var_instance_name_c::visit(IN_operator_c *symbol) {return (void *)&IN_operator_name;} |
|
151 void *decompose_var_instance_name_c::visit(PT_operator_c *symbol) {return (void *)&PT_operator_name;} |
|
152 |
|
153 identifier_c decompose_var_instance_name_c::LD_operator_name("LD"); |
|
154 identifier_c decompose_var_instance_name_c::S_operator_name("S"); |
|
155 identifier_c decompose_var_instance_name_c::R_operator_name("R"); |
|
156 identifier_c decompose_var_instance_name_c::S1_operator_name("S1"); |
|
157 identifier_c decompose_var_instance_name_c::R1_operator_name("R1"); |
|
158 identifier_c decompose_var_instance_name_c::CLK_operator_name("CLK"); |
|
159 identifier_c decompose_var_instance_name_c::CU_operator_name("CU"); |
|
160 identifier_c decompose_var_instance_name_c::CD_operator_name("CD"); |
|
161 identifier_c decompose_var_instance_name_c::PV_operator_name("PV"); |
|
162 identifier_c decompose_var_instance_name_c::IN_operator_name("IN"); |
|
163 identifier_c decompose_var_instance_name_c::PT_operator_name("PT"); |
142 |
164 |
143 |
165 |
144 |
|