29 * Based on the |
29 * Based on the |
30 * FINAL DRAFT - IEC 61131-3, 2nd Ed. (2001-12-10) |
30 * FINAL DRAFT - IEC 61131-3, 2nd Ed. (2001-12-10) |
31 * |
31 * |
32 */ |
32 */ |
33 |
33 |
34 #ifndef _DERIVED_CONVERSION_FUNCTIONS_H |
34 #ifndef _DERIVED_CONVERSION_FUNCTIONS_HH |
35 #define _DERIVED_CONVERSION_FUNCTIONS_H |
35 #define _DERIVED_CONVERSION_FUNCTIONS_HH |
|
36 |
|
37 #include <string> |
|
38 #include <list> |
36 |
39 |
37 #include "../absyntax_utils/absyntax_utils.hh" |
40 #include "../absyntax_utils/absyntax_utils.hh" |
38 #include <string> |
|
39 #include <list> |
|
40 |
41 |
41 class derived_conversion_functions_c: public iterator_visitor_c { |
42 class derived_conversion_functions_c: public iterator_visitor_c { |
42 public: |
43 public: |
43 explicit derived_conversion_functions_c(symbol_c *ignore); |
44 explicit derived_conversion_functions_c(symbol_c *ignore); |
44 virtual ~derived_conversion_functions_c(void); |
45 virtual ~derived_conversion_functions_c(void); |
55 void *visit(enumerated_value_list_c *symbol); |
56 void *visit(enumerated_value_list_c *symbol); |
56 |
57 |
57 private: |
58 private: |
58 std::string text; |
59 std::string text; |
59 std::string currentToken; |
60 std::string currentToken; |
60 std::list< std::string> currentTokenList; |
61 std::list <std::string> currentTokenList; |
61 std::string getIntegerName(bool isSigned, size_t size); |
62 std::string getIntegerName(bool isSigned, size_t size); |
62 void printStringToEnum (std::string &enumerateName, std::list<std::string> &enumerateValues); |
63 void printStringToEnum (std::string &enumerateName, std::list <std::string> &enumerateValues); |
63 void printEnumToString (std::string &enumerateName, std::list<std::string> &enumerateValues); |
64 void printEnumToString (std::string &enumerateName, std::list <std::string> &enumerateValues); |
64 void printIntegerToEnum (std::string &enumerateName, std::list<std::string> &enumerateValues, bool isSigned, size_t size); |
65 void printIntegerToEnum (std::string &enumerateName, std::list <std::string> &enumerateValues, bool isSigned, size_t size); |
65 void printEnumToInteger (std::string &enumerateName, std::list<std::string> &enumerateValues, bool isSigned, size_t size); |
66 void printEnumToInteger (std::string &enumerateName, std::list <std::string> &enumerateValues, bool isSigned, size_t size); |
66 }; |
67 }; |
67 |
68 |
68 #endif /* _DERIVED_CONVERSION_FUNCTIONS_H */ |
69 #endif /* _DERIVED_CONVERSION_FUNCTIONS_H */ |