absyntax_utils/get_datatype_info.hh
changeset 909 8b2a31dea131
parent 778 44e02a88f1e7
child 921 d228aaa4d616
equal deleted inserted replaced
908:9e8e1ba5ca46 909:8b2a31dea131
    57 
    57 
    58   
    58   
    59   public:
    59   public:
    60     static symbol_c   *get_id    (symbol_c *datatype); /* get the identifier (name) of the datatype); returns NULL if anonymous datatype! Does not work for elementary datatypes!*/
    60     static symbol_c   *get_id    (symbol_c *datatype); /* get the identifier (name) of the datatype); returns NULL if anonymous datatype! Does not work for elementary datatypes!*/
    61     static const char *get_id_str(symbol_c *datatype); /* get the identifier (name) of the datatype); returns NULL if anonymous datatype! */
    61     static const char *get_id_str(symbol_c *datatype); /* get the identifier (name) of the datatype); returns NULL if anonymous datatype! */
    62       
    62 
       
    63     static symbol_c *get_ref_to                    (symbol_c *type_symbol);    // Defined in IEC 61131-3 v3 (returns the type that is being referenced/pointed to)        
       
    64     
    63     static bool is_type_equal(symbol_c *first_type, symbol_c *second_type);
    65     static bool is_type_equal(symbol_c *first_type, symbol_c *second_type);
    64     static bool is_type_valid(symbol_c *type);
    66     static bool is_type_valid(symbol_c *type);
    65       
    67 
    66     static bool is_ANY_REAL_literal(symbol_c *type_symbol); /* Can't we do away with this?? */
    68     static bool is_ref_to                          (symbol_c *type_symbol);    // Defined in IEC 61131-3 v3
    67     static bool is_ANY_INT_literal (symbol_c *type_symbol); /* Can't we do away with this?? */
       
    68 
       
    69     static bool is_sfc_initstep                    (symbol_c *type_symbol);
    69     static bool is_sfc_initstep                    (symbol_c *type_symbol);
    70     static bool is_sfc_step                        (symbol_c *type_symbol);
    70     static bool is_sfc_step                        (symbol_c *type_symbol);
    71     static bool is_function_block                  (symbol_c *type_symbol);
    71     static bool is_function_block                  (symbol_c *type_symbol);
    72     static bool is_subrange                        (symbol_c *type_symbol);
    72     static bool is_subrange                        (symbol_c *type_symbol);
    73     static bool is_enumerated                      (symbol_c *type_symbol);
    73     static bool is_enumerated                      (symbol_c *type_symbol);
    74     static bool is_array                           (symbol_c *type_symbol);
    74     static bool is_array                           (symbol_c *type_symbol);
    75     static bool is_structure                       (symbol_c *type_symbol);
    75     static bool is_structure                       (symbol_c *type_symbol);
    76 
       
    77   
    76   
       
    77     static bool is_ANY_REAL_literal(symbol_c *type_symbol); /* Can't we do away with this?? */
       
    78     static bool is_ANY_INT_literal (symbol_c *type_symbol); /* Can't we do away with this?? */
       
    79 
    78     static bool is_ANY_ELEMENTARY                  (symbol_c *type_symbol);
    80     static bool is_ANY_ELEMENTARY                  (symbol_c *type_symbol);
    79     static bool is_ANY_SAFEELEMENTARY              (symbol_c *type_symbol);
    81     static bool is_ANY_SAFEELEMENTARY              (symbol_c *type_symbol);
    80     static bool is_ANY_ELEMENTARY_compatible       (symbol_c *type_symbol);
    82     static bool is_ANY_ELEMENTARY_compatible       (symbol_c *type_symbol);
    81 
    83 
    82     static bool is_ANY_MAGNITUDE                   (symbol_c *type_symbol);
    84     static bool is_ANY_MAGNITUDE                   (symbol_c *type_symbol);