stage1_2/derived_conversion_functions.hh
changeset 746 c7219a37cc39
parent 745 26cb3fa00d29
child 747 d1c1a0254e4f
equal deleted inserted replaced
745:26cb3fa00d29 746:c7219a37cc39
    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 */