equal
deleted
inserted
replaced
153 FUNCTION STRING_TO_<ENUM> : <ENUM> |
153 FUNCTION STRING_TO_<ENUM> : <ENUM> |
154 VAR_INPUT |
154 VAR_INPUT |
155 IN: STRING; |
155 IN: STRING; |
156 END_VAR |
156 END_VAR |
157 IF IN = '<ENUM.VALUE_1>' THEN |
157 IF IN = '<ENUM.VALUE_1>' THEN |
158 STRING_TO_<ENUM> := <ENUM.VALUE_1>; |
158 STRING_TO_<ENUM> := <ENUM>#<ENUM.VALUE_1>; |
159 RETURN; |
159 RETURN; |
160 END_IF; |
160 END_IF; |
161 ... |
161 ... |
162 IF IN = '<ENUM.VALU_N>' THEN |
162 IF IN = '<ENUM.VALU_N>' THEN |
163 STRING_TO_<ENUM> := <ENUM.VALUE_N>; |
163 STRING_TO_<ENUM> := <ENUM>#<ENUM.VALUE_N>; |
164 RETURN; |
164 RETURN; |
165 END_IF; |
165 END_IF; |
166 ENO := FALSE; |
166 ENO := FALSE; |
167 END_FUNCTION |
167 END_FUNCTION |
168 |
168 |
176 text += "FUNCTION " + functionName + " : " + enumerateName; |
176 text += "FUNCTION " + functionName + " : " + enumerateName; |
177 text += "\nVAR_INPUT\nIN : STRING;\nEND_VAR\n"; |
177 text += "\nVAR_INPUT\nIN : STRING;\nEND_VAR\n"; |
178 for (itr = enumerateValues.begin(); itr != enumerateValues.end(); ++itr) { |
178 for (itr = enumerateValues.begin(); itr != enumerateValues.end(); ++itr) { |
179 std::string value = *itr; |
179 std::string value = *itr; |
180 text += "IF IN = '" + value + "' THEN\n"; |
180 text += "IF IN = '" + value + "' THEN\n"; |
181 text += " " + functionName + " := " + value + ";\n"; |
181 text += " " + functionName + " := " + enumerateName + "#" + value + ";\n"; |
182 text += " RETURN;\n"; |
182 text += " RETURN;\n"; |
183 text += "END_IF;\n"; |
183 text += "END_IF;\n"; |
184 } |
184 } |
185 text += "ENO := FALSE;\n"; |
185 text += "ENO := FALSE;\n"; |
186 text += "END_FUNCTION\n\n"; |
186 text += "END_FUNCTION\n\n"; |
193 |
193 |
194 FUNCTION <ENUM>_TO_STRING : STRING |
194 FUNCTION <ENUM>_TO_STRING : STRING |
195 VAR_INPUT |
195 VAR_INPUT |
196 IN: <ENUM>; |
196 IN: <ENUM>; |
197 END_VAR |
197 END_VAR |
198 IF IN = <ENUM.VALUE_1> THEN |
198 IF IN = <ENUM>#<ENUM.VALUE_1> THEN |
199 <ENUM>_TO_STRING := '<ENUM>#<ENUM.VALUE_1>'; |
199 <ENUM>_TO_STRING := '<ENUM>#<ENUM.VALUE_1>'; |
200 RETURN; |
200 RETURN; |
201 END_IF; |
201 END_IF; |
202 ... |
202 ... |
203 IF IN = <ENUM.VALUE_N> THEN |
203 IF IN = <ENUM>#<ENUM.VALUE_N> THEN |
204 <ENUM>_TO_STRING := '<ENUM>#<ENUM.VALUE_N>'; |
204 <ENUM>_TO_STRING := '<ENUM>#<ENUM.VALUE_N>'; |
205 RETURN; |
205 RETURN; |
206 END_IF; |
206 END_IF; |
207 ENO := FALSE; |
207 ENO := FALSE; |
208 END_FUNCTION |
208 END_FUNCTION |
216 functionName = enumerateName + "_TO_STRING"; |
216 functionName = enumerateName + "_TO_STRING"; |
217 text += "FUNCTION " + functionName + " : STRING"; |
217 text += "FUNCTION " + functionName + " : STRING"; |
218 text += "\nVAR_INPUT\nIN : " + enumerateName + ";\nEND_VAR\n"; |
218 text += "\nVAR_INPUT\nIN : " + enumerateName + ";\nEND_VAR\n"; |
219 for (itr = enumerateValues.begin(); itr != enumerateValues.end(); ++itr) { |
219 for (itr = enumerateValues.begin(); itr != enumerateValues.end(); ++itr) { |
220 std::string value = *itr; |
220 std::string value = *itr; |
221 text += "IF IN = " + value + " THEN\n"; |
221 text += "IF IN = " + enumerateName + "#" + value + " THEN\n"; |
222 text += " " + functionName + " := '" + enumerateName + "#" + value + "';\n"; |
222 text += " " + functionName + " := '" + enumerateName + "#" + value + "';\n"; |
223 text += " RETURN;\n"; |
223 text += " RETURN;\n"; |
224 text += "END_IF;\n"; |
224 text += "END_IF;\n"; |
225 } |
225 } |
226 text += "ENO := FALSE;\n"; |
226 text += "ENO := FALSE;\n"; |
235 FUNCTION <INTEGER>_TO_<ENUM> : <ENUM> |
235 FUNCTION <INTEGER>_TO_<ENUM> : <ENUM> |
236 VAR_INPUT |
236 VAR_INPUT |
237 IN: <INTEGER>; |
237 IN: <INTEGER>; |
238 END_VAR |
238 END_VAR |
239 IF IN = 1 THEN |
239 IF IN = 1 THEN |
240 <INTEGER>_TO_<ENUM> := <ENUM.VALUE_1>; |
240 <INTEGER>_TO_<ENUM> := <ENUM>#<ENUM.VALUE_1>; |
241 RETURN; |
241 RETURN; |
242 END_IF; |
242 END_IF; |
243 ... |
243 ... |
244 IF IN = N THEN |
244 IF IN = N THEN |
245 <INTEGER>_TO_<ENUM> := <ENUM.VALUE_N>; |
245 <INTEGER>_TO_<ENUM> := <ENUM>#<ENUM.VALUE_N>; |
246 RETURN; |
246 RETURN; |
247 END_IF; |
247 END_IF; |
248 ENO := FALSE; |
248 ENO := FALSE; |
249 END_FUNCTION |
249 END_FUNCTION |
250 |
250 |
264 for (itr = enumerateValues.begin(); itr != enumerateValues.end(); ++itr) { |
264 for (itr = enumerateValues.begin(); itr != enumerateValues.end(); ++itr) { |
265 std::string value = *itr; |
265 std::string value = *itr; |
266 std::stringstream out; |
266 std::stringstream out; |
267 out << count; |
267 out << count; |
268 text += "IF IN = " + out.str() + " THEN\n"; |
268 text += "IF IN = " + out.str() + " THEN\n"; |
269 text += " " + functionName + " := " + value + ";\n"; |
269 text += " " + functionName + " := " + enumerateName + "#" + value + ";\n"; |
270 text += " RETURN;\n"; |
270 text += " RETURN;\n"; |
271 text += "END_IF;\n"; |
271 text += "END_IF;\n"; |
272 count++; |
272 count++; |
273 } |
273 } |
274 text += "ENO := FALSE;\n"; |
274 text += "ENO := FALSE;\n"; |
282 |
282 |
283 FUNCTION <ENUM>_TO_<INTEGER> : <INTEGER> |
283 FUNCTION <ENUM>_TO_<INTEGER> : <INTEGER> |
284 VAR_INPUT |
284 VAR_INPUT |
285 IN: <INTEGER>; |
285 IN: <INTEGER>; |
286 END_VAR |
286 END_VAR |
287 IF IN = <ENUM.VALUE_1> THEN |
287 IF IN = <ENUM>#<ENUM.VALUE_1> THEN |
288 <ENUM>_TO_<INTEGER> := 1; |
288 <ENUM>_TO_<INTEGER> := 1; |
289 RETURN; |
289 RETURN; |
290 END_IF; |
290 END_IF; |
291 ... |
291 ... |
292 IF IN = <ENUM.VALUE_N> THEN |
292 IF IN = <ENUM>#<ENUM.VALUE_N> THEN |
293 <ENUM>_TO_<INTEGER> := N; |
293 <ENUM>_TO_<INTEGER> := N; |
294 RETURN; |
294 RETURN; |
295 END_IF; |
295 END_IF; |
296 ENO := FALSE; |
296 ENO := FALSE; |
297 END_FUNCTION |
297 END_FUNCTION |
311 count = 0; |
311 count = 0; |
312 for (itr = enumerateValues.begin(); itr != enumerateValues.end(); ++itr) { |
312 for (itr = enumerateValues.begin(); itr != enumerateValues.end(); ++itr) { |
313 std::string value = *itr; |
313 std::string value = *itr; |
314 std::stringstream out; |
314 std::stringstream out; |
315 out << count; |
315 out << count; |
316 text += "IF IN = " + value + " THEN\n"; |
316 text += "IF IN = " + enumerateName + "#" + value + " THEN\n"; |
317 text += " " + functionName + " := " + out.str() + ";\n"; |
317 text += " " + functionName + " := " + out.str() + ";\n"; |
318 text += " RETURN;\n"; |
318 text += " RETURN;\n"; |
319 text += "END_IF;\n"; |
319 text += "END_IF;\n"; |
320 count++; |
320 count++; |
321 } |
321 } |